diff --git a/CHANGELOG.md b/CHANGELOG.md index 35265877d..952e30fd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,35 @@ - `Cow<'a, str>` now supported by borrow-or-share pattern traits +**OAuth Permission Sets, refactored scopes** (`jacquard-oauth`, `jacquard`, `jacquard-lexicon`) +- Added `Scopes` validated container for space-separated OAuth scope strings, replacing `Vec>`. Stores a single string buffer with pre-computed byte-range indices, yielding zero-copy `Scope<&str>` views. +- Added `IncludeScope` scope variant referencing permission set NSIDs with optional `?aud=` audience. +- Added permission set lexicon types (`LexPermissionSet`, `LexPermission`, `LexPermissionResource`) in jacquard-lexicon. +- Added `expand_permission_set()` and `resolve_permission_set()` for converting permission set lexicons into concrete scopes. +- Added `scope-check` feature to jacquard-oauth and jacquard, enabling client-side scope validation and eager resolution of `include:` scopes at session creation. + +**Bootstrap XRPC types** (`jacquard-common`) +- Added `DidService` validated type for DID audiences with optional service-id fragments (e.g., `did:web:example.com#bsky_appview`). +- Added OAuth scope primitive enums (`AccountResource`, `AccountAction`, `RepoAction`) shared between OAuth scopes and permission set lexicons. +- Added bootstrap types for `com.atproto.repo.createRecord`, `putRecord`, `deleteRecord`, and `uploadBlob`, and `com.atproto.server.createSession`, `getSession`, and `refreshSession`, allowing record helpers and credential sessions to function without depending on the generated API crate. + +**Repository high-level API** (`jacquard-repo`) +- Added `Repository` high-level wrapper with record CRUD methods (`create_record`, `update_record`, `delete_record`, `list_collection`). +- Added `to_firehose_commit`, `to_repo_ops`, and `to_invertible_op` firehose conversion helpers. + +**Lexicon schema resolution** (`jacquard-identity`) +- Added `LexiconSchemaResolver` trait and `ResolvedLexiconSchema` for runtime lexicon schema fetching and validation. +- Added `ResolverCaches` and `CacheConfig` for configurable caching. + +**Loopback OAuth** (`jacquard-oauth`) +- Replaced `rouille` dependency with a lightweight raw TCP listener for the localhost callback server. +- Improved the OAuth callback success page with proper HTML. + +**Client** (`jacquard`) +- Added browser/BFF auth store (`BrowserAuthStore`) and front-end proxy session support for browser-based OAuth flows. +- Added concrete app-password session helpers: `CredentialSessionSelector`, `resume_or_login`, `login_with_hint`, `restore`, `switch_session`, `logout`. +- Added `AtpSession::merge_refresh` and `AtpSession::pds_from_data` helpers. + **`jacquard-axum` re-added and overhauled** - Reworked XRPC extractor to work with borrow-or-share types. Backing type for the query or body of the input can differ from the handler-visible backing type, to allow for non-overlapping extractor impls for the different backing types so that the potentially borrowed types like `CowStr<'_>` can still be used. - Better type enforcement in handler responses by default. @@ -38,8 +67,16 @@ - Reduced allocations in the `atproto!()` macro by cleverly allowing use of the `FromStaticStr` constructions method or `SmolStr::new_static()` constructor in keys and values. - Improved type inference in the `atproto!()` macro and several other locations by explicitly defaulting to `DefaultStr` more clearly. +**Type cleanup** +- Migrated `GetRecord` bootstrap type from lifetime-based `CowStr<'a>` to borrow-or-share `GetRecord`, consistent with all other bootstrap types. +- Removed intermediate `OAuthSession` and `OAuthState` serialization structs from `jacquard`; `FileAuthStore` now serializes `ClientSessionData` and `AuthRequestData` directly. +- Changed credential session methods (`login`, `authenticated`, `restore`, `switch_session`) to take `&str` parameters instead of `CowStr<'_>`, eliminating unnecessary lifetime exposure. +- Changed `CredentialLoginOptions` from `CredentialLoginOptions<'a>` with `CowStr<'a>` fields to owned `SmolStr` fields. +- Switched record helpers in `AgentSessionExt` to use bootstrap types from `jacquard-common`, enabling them to work without the `api` feature in some cases. + **Codegen** - Added some improved doc comment creation paths in lexicon-generated code +- Fixed multi-line doc comment generation to use per-line `#[doc]` attributes, preventing rustdoc from interpreting indented continuation lines as code blocks (which caused broken doctests). - **Generated builders now have two entry points:** - `Type::new()` picks `DefaultStr` as the backing type. This avoids awkward turbofishes or explicit annotations in many scenarios where the builder couldn't work out what type it needed to be from the immediate surroundings. - `Type::builder()` allows the caller to choose, either explicitly via turbofish, or implicitly via inference if possible, the backing type (the previous behaviour). diff --git a/README.md b/README.md index 37f0bb9bf..428b6f706 100644 --- a/README.md +++ b/README.md @@ -129,8 +129,17 @@ Jacquard is broken up into several crates for modularity. The correct one to use | `jacquard-lexgen` | Code generation binaries | [![Crates.io](https://img.shields.io/crates/v/jacquard-lexgen.svg)](https://crates.io/crates/jacquard-lexgen) [![Documentation](https://docs.rs/jacquard-lexgen/badge.svg)](https://docs.rs/jacquard-lexgen) | | `jacquard-derive` | Macros for lexicon types | [![Crates.io](https://img.shields.io/crates/v/jacquard-derive.svg)](https://crates.io/crates/jacquard-derive) [![Documentation](https://docs.rs/jacquard-derive/badge.svg)](https://docs.rs/jacquard-derive) | -### Session Types - +### Which session type should I use? + +| Use case | Recommended path | Notes | +|---|---|---| +| Personal script or CLI/TUI where browser login works | Localhost (native/public) OAuth client with loopback helpers | Best default for “I want to log in locally and not think about auth.” | +| User-facing local CLI/desktop app | Localhost (native/public) OAuth client with loopback helpers | Ensure use of appropriate scopes, NOT 'transition::generic'. | +| Client-side browser app / SPA | Public OAuth client without localhost helpers | Host client metadata, use browser redirects, and persist auth state in a browser-storage-backed auth/session store. | +| App server or web app with persistent backend | Confidential OAuth client | Use hosted metadata, stable redirect URIs, server-side secret/session storage, and appropriate scope choices. | +| Long-running unattended job that must re-authenticate non-interactively | App password / credential session, unless it can operate as a confidential OAuth client | App passwords are appropriate when browser login is not acceptable and the process must recover non-interactively. | +| Public unauthenticated reads | Stateless `.xrpc(...)` or `BasicClient::unauthenticated()` | None | +| Custom protocol/session behavior | Lower-level traits and stores | Implement `XrpcClient`, `AgentSession`, `ClientAuthStore`, `SessionStore`, or related traits yourself. | ### Projects using Jacquard diff --git a/crates/jacquard-api/src/actor_rpg.rs b/crates/jacquard-api/src/actor_rpg.rs index 89c9e31e2..bb79e7e99 100644 --- a/crates/jacquard-api/src/actor_rpg.rs +++ b/crates/jacquard-api/src/actor_rpg.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `actor.rpg` Lexicon namespace/module. pub mod master; pub mod sprite; -pub mod stats; +pub mod stats; \ No newline at end of file diff --git a/crates/jacquard-api/src/actor_rpg/master.rs b/crates/jacquard-api/src/actor_rpg/master.rs index f8e680df5..300c44e42 100644 --- a/crates/jacquard-api/src/actor_rpg/master.rs +++ b/crates/jacquard-api/src/actor_rpg/master.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A master record validating one player's stats for one system. Multiple GMs can validate the same player. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -225,7 +225,7 @@ impl LexiconSchema for Master { pub mod master_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -386,12 +386,18 @@ where impl MasterBuilder { /// Set the `snapshotScope` field (optional) - pub fn snapshot_scope(mut self, value: impl Into>>) -> Self { + pub fn snapshot_scope( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `snapshotScope` field to an Option value (optional) - pub fn maybe_snapshot_scope(mut self, value: Option>) -> Self { + pub fn maybe_snapshot_scope( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -429,7 +435,10 @@ where St::System: master_state::IsUnset, { /// Set the `system` field (required) - pub fn system(mut self, value: impl Into) -> MasterBuilder, S> { + pub fn system( + mut self, + value: impl Into, + ) -> MasterBuilder, S> { self._fields.6 = Option::Some(value.into()); MasterBuilder { _state: PhantomData, @@ -490,10 +499,10 @@ where } fn lexicon_doc_actor_rpg_master() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("actor.rpg.master"), @@ -608,4 +617,4 @@ fn lexicon_doc_actor_rpg_master() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/actor_rpg/sprite.rs b/crates/jacquard-api/src/actor_rpg/sprite.rs index 109af610e..90615f46d 100644 --- a/crates/jacquard-api/src/actor_rpg/sprite.rs +++ b/crates/jacquard-api/src/actor_rpg/sprite.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A user's RPG character sprite. One record per user (rkey: self). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -387,16 +387,19 @@ impl LexiconSchema for Sprite { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("sprite_sheet"), @@ -434,7 +437,7 @@ fn _default_sprite_animation_speed() -> Option { pub mod sprite_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -531,7 +534,19 @@ impl SpriteBuilder { SpriteBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -544,7 +559,19 @@ impl SpriteBuilder { SpriteBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -786,10 +813,10 @@ where } fn lexicon_doc_actor_rpg_sprite() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("actor.rpg.sprite"), @@ -938,4 +965,4 @@ fn lexicon_doc_actor_rpg_sprite() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/actor_rpg/stats.rs b/crates/jacquard-api/src/actor_rpg/stats.rs index 3f162c8c3..022f3571d 100644 --- a/crates/jacquard-api/src/actor_rpg/stats.rs +++ b/crates/jacquard-api/src/actor_rpg/stats.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::actor_rpg::stats; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::actor_rpg::stats; /// The six ability scores (1-30 per SRD) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Abilities { ///Charisma #[serde(skip_serializing_if = "Option::is_none")] @@ -61,10 +58,7 @@ pub struct Abilities { /// An attack action #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Attack { ///Attack bonus (e.g., +5) #[serde(skip_serializing_if = "Option::is_none")] @@ -87,10 +81,7 @@ pub struct Attack { /// Currency #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Coinage { ///Copper pieces #[serde(skip_serializing_if = "Option::is_none")] @@ -114,10 +105,7 @@ pub struct Coinage { /// Combat and defensive stats #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Combat { ///Armor Class #[serde(skip_serializing_if = "Option::is_none")] @@ -141,10 +129,7 @@ pub struct Combat { /// Status conditions and effects #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Conditions { ///Death saving throw progress #[serde(skip_serializing_if = "Option::is_none")] @@ -162,10 +147,7 @@ pub struct Conditions { /// A custom stat #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CustomStat { ///Category (optional) #[serde(skip_serializing_if = "Option::is_none")] @@ -187,10 +169,7 @@ pub struct CustomStat { /// User-defined custom stat system #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CustomStats { ///Custom stat entries #[serde(skip_serializing_if = "Option::is_none")] @@ -208,10 +187,7 @@ pub struct CustomStats { /// DCC ability scores (3-18 standard, can be modified by corruption/spellburn) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccAbilities { ///Agility #[serde(skip_serializing_if = "Option::is_none")] @@ -247,10 +223,7 @@ pub struct DccAbilities { /// A weapon attack (includes deed die for warriors) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccAttack { ///Attack modifier (e.g., +2, d16+2 for deed die) #[serde(skip_serializing_if = "Option::is_none")] @@ -279,10 +252,7 @@ pub struct DccAttack { /// Cleric spellcasting features #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccCleric { ///Deity or supernatural patron #[serde(skip_serializing_if = "Option::is_none")] @@ -321,10 +291,7 @@ pub struct DccCleric { /// A cleric spell #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccClericSpell { ///Spell level pub level: i64, @@ -343,10 +310,7 @@ pub struct DccClericSpell { /// DCC uses cp, sp, gp (10cp = 1sp, 10sp = 1gp) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccCoinage { ///Copper pieces #[serde(skip_serializing_if = "Option::is_none")] @@ -364,10 +328,7 @@ pub struct DccCoinage { /// Combat statistics #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccCombat { ///Armor Class (10 + armor + AGI mod + shield) #[serde(skip_serializing_if = "Option::is_none")] @@ -400,10 +361,7 @@ pub struct DccCombat { /// A corruption effect from failed spell checks #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccCorruption { ///Description of the corruption #[serde(skip_serializing_if = "Option::is_none")] @@ -424,10 +382,7 @@ pub struct DccCorruption { /// Equipment and inventory #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccEquipment { ///Armor worn (affects fumble die) #[serde(skip_serializing_if = "Option::is_none")] @@ -457,10 +412,7 @@ pub struct DccEquipment { /// Halfling class features #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccHalfling { ///Can spend luck to aid nearby allies #[serde(skip_serializing_if = "Option::is_none")] @@ -487,10 +439,7 @@ pub struct DccHalfling { /// Hit points (0-level characters use 1d4 + STA mod) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccHp { ///Current HP #[serde(skip_serializing_if = "Option::is_none")] @@ -505,10 +454,7 @@ pub struct DccHp { /// DCC character identity and progression #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccIdentity { ///Alignment (Lawful, Neutral, Chaotic) #[serde(skip_serializing_if = "Option::is_none")] @@ -535,10 +481,7 @@ pub struct DccIdentity { /// Birth augur and luck mechanics #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccLuck { ///Birth augur name (e.g., Harsh Winter, The Bull, Fortunate Date) #[serde(skip_serializing_if = "Option::is_none")] @@ -559,10 +502,7 @@ pub struct DccLuck { /// DCC saving throws (3 saves, not 6) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccSaves { ///Fortitude save modifier #[serde(skip_serializing_if = "Option::is_none")] @@ -580,10 +520,7 @@ pub struct DccSaves { /// Current spellburn (temporary ability score sacrifice) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccSpellburn { ///Agility points currently burned #[serde(skip_serializing_if = "Option::is_none")] @@ -604,10 +541,7 @@ pub struct DccSpellburn { /// Dungeon Crawl Classics RPG character sheet. Supports 0-level funnel characters through 10th level. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccStats { ///The six ability scores (STR, AGI, STA, INT, PER, LUK) #[serde(skip_serializing_if = "Option::is_none")] @@ -667,10 +601,7 @@ pub struct DccStats { /// Thief class features and skills #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccThief { ///Alignment (affects some skill targets) #[serde(skip_serializing_if = "Option::is_none")] @@ -691,10 +622,7 @@ pub struct DccThief { /// Thief skill bonuses (roll d20 + skill vs target) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccThiefSkills { ///Backstab attack bonus #[serde(skip_serializing_if = "Option::is_none")] @@ -742,10 +670,7 @@ pub struct DccThiefSkills { /// Warrior and Dwarf class features #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccWarrior { ///Current deed die (d3, d4, d5, d6, d7, d8, d10+d3, etc.) #[serde(skip_serializing_if = "Option::is_none")] @@ -775,10 +700,7 @@ pub struct DccWarrior { /// Wizard and Elf spellcasting features #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccWizard { ///Corruption effects suffered (structured) #[serde(skip_serializing_if = "Option::is_none")] @@ -811,10 +733,7 @@ pub struct DccWizard { /// A wizard spell with mercurial magic effect #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DccWizardSpell { ///Spell level pub level: i64, @@ -839,10 +758,7 @@ pub struct DccWizardSpell { /// Death saving throw successes and failures #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeathSaves { ///Failures (0-3) #[serde(skip_serializing_if = "Option::is_none")] @@ -857,10 +773,7 @@ pub struct DeathSaves { /// D&D 5e character sheet. All sub-objects are optional. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DndStats { ///The six ability scores (STR, DEX, CON, INT, WIS, CHA) #[serde(skip_serializing_if = "Option::is_none")] @@ -917,10 +830,7 @@ pub struct DndStats { /// Gear and inventory #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Equipment { ///Armor #[serde(skip_serializing_if = "Option::is_none")] @@ -941,10 +851,7 @@ pub struct Equipment { /// Hit point tracking #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Hp { ///Current HP #[serde(skip_serializing_if = "Option::is_none")] @@ -962,10 +869,7 @@ pub struct Hp { /// Character identity and progression #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Identity { ///Alignment (e.g., Lawful Good) #[serde(skip_serializing_if = "Option::is_none")] @@ -1040,10 +944,7 @@ pub struct StatsGetRecordOutput { /// Passive scores (10 + skill modifier) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Passives { ///Passive Insight #[serde(skip_serializing_if = "Option::is_none")] @@ -1061,10 +962,7 @@ pub struct Passives { /// Personality and backstory #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Personality { ///Backstory #[serde(skip_serializing_if = "Option::is_none")] @@ -1088,10 +986,7 @@ pub struct Personality { /// Reverie House philosophical alignment #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReverieStats { ///Authority (0-100) #[serde(skip_serializing_if = "Option::is_none")] @@ -1236,10 +1131,7 @@ where /// RPG Maker MZ character parameters #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RmmzStats { ///Agility #[serde(skip_serializing_if = "Option::is_none")] @@ -1302,10 +1194,7 @@ pub struct RmmzStats { /// Saving throw modifiers (actual values, not proficiency flags) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Saves { ///Charisma save modifier #[serde(skip_serializing_if = "Option::is_none")] @@ -1332,10 +1221,7 @@ pub struct Saves { /// Skill modifiers (actual values, not proficiency flags) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Skills { ///Acrobatics (DEX) #[serde(skip_serializing_if = "Option::is_none")] @@ -1398,10 +1284,7 @@ pub struct Skills { /// Spells organized by level #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SpellList { ///Cantrips (at-will) #[serde(skip_serializing_if = "Option::is_none")] @@ -1440,10 +1323,7 @@ pub struct SpellList { /// Spellcasting details #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Spellcasting { ///Spellcasting ability (INT, WIS, CHA) #[serde(skip_serializing_if = "Option::is_none")] @@ -1467,10 +1347,7 @@ pub struct Spellcasting { /// Spell slot entry #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Spellslot { ///Spell level pub level: i64, @@ -4168,10 +4045,10 @@ impl LexiconSchema for Spellslot { } fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("actor.rpg.stats"), @@ -4180,7 +4057,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("abilities"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("The six ability scores (1-30 per SRD)")), + description: Some( + CowStr::new_static("The six ability scores (1-30 per SRD)"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4248,7 +4127,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bonus"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Attack bonus (e.g., +5)")), + description: Some( + CowStr::new_static("Attack bonus (e.g., +5)"), + ), max_length: Some(20usize), ..Default::default() }), @@ -4256,7 +4137,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("damage"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Damage dice (e.g., 1d8)")), + description: Some( + CowStr::new_static("Damage dice (e.g., 1d8)"), + ), max_length: Some(20usize), ..Default::default() }), @@ -4352,7 +4235,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("hitDice"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Hit dice (e.g., 5d10)")), + description: Some( + CowStr::new_static("Hit dice (e.g., 5d10)"), + ), max_length: Some(20usize), ..Default::default() }), @@ -4385,7 +4270,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("conditions"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Status conditions and effects")), + description: Some( + CowStr::new_static("Status conditions and effects"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4419,17 +4306,18 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { SmolStr::new_static("customStat"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("A custom stat")), - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![SmolStr::new_static("name"), SmolStr::new_static("value")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("category"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Category (optional)")), + description: Some( + CowStr::new_static("Category (optional)"), + ), max_length: Some(50usize), ..Default::default() }), @@ -4468,14 +4356,18 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("customStats"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("User-defined custom stat system")), + description: Some( + CowStr::new_static("User-defined custom stat system"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("stats"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Custom stat entries")), + description: Some( + CowStr::new_static("Custom stat entries"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#customStat"), ..Default::default() @@ -4595,9 +4487,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccAttack"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A weapon attack (includes deed die for warriors)", - )), + description: Some( + CowStr::new_static( + "A weapon attack (includes deed die for warriors)", + ), + ), required: Some(vec![SmolStr::new_static("name")]), properties: { #[allow(unused_mut)] @@ -4605,9 +4499,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("attackMod"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Attack modifier (e.g., +2, d16+2 for deed die)", - )), + description: Some( + CowStr::new_static( + "Attack modifier (e.g., +2, d16+2 for deed die)", + ), + ), max_length: Some(30usize), ..Default::default() }), @@ -4615,9 +4511,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("damage"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Damage dice (e.g., 1d8+2, 1d6+d3)", - )), + description: Some( + CowStr::new_static("Damage dice (e.g., 1d8+2, 1d6+d3)"), + ), max_length: Some(30usize), ..Default::default() }), @@ -4625,9 +4521,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("damageBonus"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Damage bonus (e.g., +2, +d3 for deed die)", - )), + description: Some( + CowStr::new_static( + "Damage bonus (e.g., +2, +d3 for deed die)", + ), + ), max_length: Some(30usize), ..Default::default() }), @@ -4643,9 +4541,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("notes"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Special properties (backstab, trained weapon, etc.)", - )), + description: Some( + CowStr::new_static( + "Special properties (backstab, trained weapon, etc.)", + ), + ), max_length: Some(200usize), ..Default::default() }), @@ -4653,7 +4553,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("range"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Range (melee or distance)")), + description: Some( + CowStr::new_static("Range (melee or distance)"), + ), max_length: Some(30usize), ..Default::default() }), @@ -4661,9 +4563,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Attack type (melee, ranged, etc.)", - )), + description: Some( + CowStr::new_static("Attack type (melee, ranged, etc.)"), + ), max_length: Some(20usize), ..Default::default() }), @@ -4676,16 +4578,18 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccCleric"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Cleric spellcasting features")), + description: Some( + CowStr::new_static("Cleric spellcasting features"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("deity"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Deity or supernatural patron", - )), + description: Some( + CowStr::new_static("Deity or supernatural patron"), + ), max_length: Some(100usize), ..Default::default() }), @@ -4701,9 +4605,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("disapprovalTable"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Deity-specific disapproval table if any", - )), + description: Some( + CowStr::new_static( + "Deity-specific disapproval table if any", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -4711,7 +4617,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("holySymbol"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Holy symbol description")), + description: Some( + CowStr::new_static("Holy symbol description"), + ), max_length: Some(100usize), ..Default::default() }), @@ -4719,7 +4627,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("knownSpells"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Known cleric spells")), + description: Some( + CowStr::new_static("Known cleric spells"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#dccClericSpell"), ..Default::default() @@ -4731,9 +4641,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("layOnHandsDie"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Lay on hands die (e.g., d14, d16)", - )), + description: Some( + CowStr::new_static("Lay on hands die (e.g., d14, d16)"), + ), max_length: Some(10usize), ..Default::default() }), @@ -4755,9 +4665,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("turnUnholyDie"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Turn unholy die (e.g., d14, d16)", - )), + description: Some( + CowStr::new_static("Turn unholy die (e.g., d14, d16)"), + ), max_length: Some(10usize), ..Default::default() }), @@ -4777,10 +4687,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { SmolStr::new_static("dccClericSpell"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("A cleric spell")), - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("level"), - ]), + required: Some( + vec![SmolStr::new_static("name"), SmolStr::new_static("level")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4803,7 +4712,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("notes"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Additional spell notes")), + description: Some( + CowStr::new_static("Additional spell notes"), + ), max_length: Some(500usize), ..Default::default() }), @@ -4822,9 +4733,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccCoinage"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "DCC uses cp, sp, gp (10cp = 1sp, 10sp = 1gp)", - )), + description: Some( + CowStr::new_static( + "DCC uses cp, sp, gp (10cp = 1sp, 10sp = 1gp)", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4871,9 +4784,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("actionDie"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Primary action die (e.g., d20, d20+d14)", - )), + description: Some( + CowStr::new_static( + "Primary action die (e.g., d20, d20+d14)", + ), + ), max_length: Some(20usize), ..Default::default() }), @@ -4887,9 +4802,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("critDie"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Critical hit die (e.g., d8, d12, d14)", - )), + description: Some( + CowStr::new_static("Critical hit die (e.g., d8, d12, d14)"), + ), max_length: Some(10usize), ..Default::default() }), @@ -4897,9 +4812,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("critTable"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Critical hit table (I, II, III, IV, V)", - )), + description: Some( + CowStr::new_static("Critical hit table (I, II, III, IV, V)"), + ), max_length: Some(20usize), ..Default::default() }), @@ -4907,9 +4822,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("fumbleDie"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Fumble die (typically d4 for 0-level, varies by armor)", - )), + description: Some( + CowStr::new_static( + "Fumble die (typically d4 for 0-level, varies by armor)", + ), + ), max_length: Some(10usize), ..Default::default() }), @@ -4935,18 +4852,20 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccCorruption"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A corruption effect from failed spell checks", - )), + description: Some( + CowStr::new_static( + "A corruption effect from failed spell checks", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("effect"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Description of the corruption", - )), + description: Some( + CowStr::new_static("Description of the corruption"), + ), max_length: Some(500usize), ..Default::default() }), @@ -4960,9 +4879,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("source"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "What spell caused this corruption", - )), + description: Some( + CowStr::new_static("What spell caused this corruption"), + ), max_length: Some(100usize), ..Default::default() }), @@ -4970,9 +4889,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Corruption severity (minor, major, greater)", - )), + description: Some( + CowStr::new_static( + "Corruption severity (minor, major, greater)", + ), + ), max_length: Some(20usize), ..Default::default() }), @@ -4992,9 +4913,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("armor"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Armor worn (affects fumble die)", - )), + description: Some( + CowStr::new_static("Armor worn (affects fumble die)"), + ), max_length: Some(200usize), ..Default::default() }), @@ -5025,9 +4946,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tradeGoods"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Trade goods from occupation", - )), + description: Some( + CowStr::new_static("Trade goods from occupation"), + ), max_length: Some(500usize), ..Default::default() }), @@ -5035,7 +4956,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("treasure"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Valuables and treasure")), + description: Some( + CowStr::new_static("Valuables and treasure"), + ), max_length: Some(1000usize), ..Default::default() }), @@ -5083,9 +5006,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("luckyWeapon"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Weapon type luck modifier applies to", - )), + description: Some( + CowStr::new_static("Weapon type luck modifier applies to"), + ), max_length: Some(100usize), ..Default::default() }), @@ -5110,9 +5033,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccHp"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Hit points (0-level characters use 1d4 + STA mod)", - )), + description: Some( + CowStr::new_static( + "Hit points (0-level characters use 1d4 + STA mod)", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5138,16 +5063,18 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccIdentity"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("DCC character identity and progression")), + description: Some( + CowStr::new_static("DCC character identity and progression"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alignment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alignment (Lawful, Neutral, Chaotic)", - )), + description: Some( + CowStr::new_static("Alignment (Lawful, Neutral, Chaotic)"), + ), max_length: Some(20usize), ..Default::default() }), @@ -5155,9 +5082,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("class"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Class (Warrior, Wizard, Cleric, Thief, Elf, Dwarf, Halfling)", - )), + description: Some( + CowStr::new_static( + "Class (Warrior, Wizard, Cleric, Thief, Elf, Dwarf, Halfling)", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -5173,9 +5102,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("occupation"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "0-level occupation (e.g., Blacksmith, Farmer)", - )), + description: Some( + CowStr::new_static( + "0-level occupation (e.g., Blacksmith, Farmer)", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -5183,9 +5114,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Level title (e.g., Squire, Cutpurse, Acolyte)", - )), + description: Some( + CowStr::new_static( + "Level title (e.g., Squire, Cutpurse, Acolyte)", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -5261,7 +5194,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccSaves"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("DCC saving throws (3 saves, not 6)")), + description: Some( + CowStr::new_static("DCC saving throws (3 saves, not 6)"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5291,9 +5226,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccSpellburn"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Current spellburn (temporary ability score sacrifice)", - )), + description: Some( + CowStr::new_static( + "Current spellburn (temporary ability score sacrifice)", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5484,16 +5421,18 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccThief"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Thief class features and skills")), + description: Some( + CowStr::new_static("Thief class features and skills"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alignment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alignment (affects some skill targets)", - )), + description: Some( + CowStr::new_static("Alignment (affects some skill targets)"), + ), max_length: Some(20usize), ..Default::default() }), @@ -5508,9 +5447,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("luckyWeapon"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Weapon type that luck applies to (one type only)", - )), + description: Some( + CowStr::new_static( + "Weapon type that luck applies to (one type only)", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -5530,9 +5471,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccThiefSkills"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Thief skill bonuses (roll d20 + skill vs target)", - )), + description: Some( + CowStr::new_static( + "Thief skill bonuses (roll d20 + skill vs target)", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5622,16 +5565,20 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccWarrior"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Warrior and Dwarf class features")), + description: Some( + CowStr::new_static("Warrior and Dwarf class features"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("deedDie"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Current deed die (d3, d4, d5, d6, d7, d8, d10+d3, etc.)", - )), + description: Some( + CowStr::new_static( + "Current deed die (d3, d4, d5, d6, d7, d8, d10+d3, etc.)", + ), + ), max_length: Some(10usize), ..Default::default() }), @@ -5646,9 +5593,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("luckyWeapon"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Weapon type luck modifier applies to", - )), + description: Some( + CowStr::new_static("Weapon type luck modifier applies to"), + ), max_length: Some(100usize), ..Default::default() }), @@ -5656,9 +5603,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("mightyDeeds"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Signature mighty deeds of arms", - )), + description: Some( + CowStr::new_static("Signature mighty deeds of arms"), + ), items: LexArrayItem::String(LexString { max_length: Some(200usize), ..Default::default() @@ -5694,16 +5641,20 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccWizard"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Wizard and Elf spellcasting features")), + description: Some( + CowStr::new_static("Wizard and Elf spellcasting features"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("corruption"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Corruption effects suffered (structured)", - )), + description: Some( + CowStr::new_static( + "Corruption effects suffered (structured)", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#dccCorruption"), ..Default::default() @@ -5715,9 +5666,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("corruptionText"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Corruption effects as free-form text", - )), + description: Some( + CowStr::new_static("Corruption effects as free-form text"), + ), max_length: Some(2000usize), ..Default::default() }), @@ -5725,9 +5676,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("knownSpells"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Known spells with mercurial magic effects", - )), + description: Some( + CowStr::new_static( + "Known spells with mercurial magic effects", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#dccWizardSpell"), ..Default::default() @@ -5747,9 +5700,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("patron"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Supernatural patron (if any)", - )), + description: Some( + CowStr::new_static("Supernatural patron (if any)"), + ), max_length: Some(100usize), ..Default::default() }), @@ -5757,9 +5710,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("patronBond"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Patron bond description and effects", - )), + description: Some( + CowStr::new_static("Patron bond description and effects"), + ), max_length: Some(500usize), ..Default::default() }), @@ -5785,13 +5738,12 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dccWizardSpell"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A wizard spell with mercurial magic effect", - )), - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("level"), - ]), + description: Some( + CowStr::new_static("A wizard spell with mercurial magic effect"), + ), + required: Some( + vec![SmolStr::new_static("name"), SmolStr::new_static("level")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5812,9 +5764,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("mercurialMagic"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Unique mercurial magic effect (d100 roll result)", - )), + description: Some( + CowStr::new_static( + "Unique mercurial magic effect (d100 roll result)", + ), + ), max_length: Some(500usize), ..Default::default() }), @@ -5838,7 +5792,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("notes"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Additional spell notes")), + description: Some( + CowStr::new_static("Additional spell notes"), + ), max_length: Some(500usize), ..Default::default() }), @@ -5851,9 +5807,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("deathSaves"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Death saving throw successes and failures", - )), + description: Some( + CowStr::new_static("Death saving throw successes and failures"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5881,9 +5837,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dndStats"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "D&D 5e character sheet. All sub-objects are optional.", - )), + description: Some( + CowStr::new_static( + "D&D 5e character sheet. All sub-objects are optional.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5937,9 +5895,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("features"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Class features, racial traits, and feats", - )), + description: Some( + CowStr::new_static( + "Class features, racial traits, and feats", + ), + ), max_length: Some(5000usize), ..Default::default() }), @@ -5983,9 +5943,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("proficiencies"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Armor, weapon, and tool proficiencies", - )), + description: Some( + CowStr::new_static("Armor, weapon, and tool proficiencies"), + ), max_length: Some(1000usize), ..Default::default() }), @@ -6042,7 +6002,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("treasure"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Valuables and treasure")), + description: Some( + CowStr::new_static("Valuables and treasure"), + ), max_length: Some(1000usize), ..Default::default() }), @@ -6096,16 +6058,18 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("identity"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Character identity and progression")), + description: Some( + CowStr::new_static("Character identity and progression"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alignment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alignment (e.g., Lawful Good)", - )), + description: Some( + CowStr::new_static("Alignment (e.g., Lawful Good)"), + ), max_length: Some(50usize), ..Default::default() }), @@ -6113,9 +6077,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("background"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Background (e.g., Soldier, Sage)", - )), + description: Some( + CowStr::new_static("Background (e.g., Soldier, Sage)"), + ), max_length: Some(100usize), ..Default::default() }), @@ -6123,9 +6087,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("class"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Class and subclass (e.g., Fighter (Champion))", - )), + description: Some( + CowStr::new_static( + "Class and subclass (e.g., Fighter (Champion))", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -6147,9 +6113,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("race"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Race (e.g., Human, Elf, Dwarf)", - )), + description: Some( + CowStr::new_static("Race (e.g., Human, Elf, Dwarf)"), + ), max_length: Some(100usize), ..Default::default() }), @@ -6169,9 +6135,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A user's RPG character statistics. One record per user (rkey: self).", - )), + description: Some( + CowStr::new_static( + "A user's RPG character statistics. One record per user (rkey: self).", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("createdAt")]), @@ -6181,9 +6149,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when this record was created", - )), + description: Some( + CowStr::new_static("Timestamp when this record was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -6226,9 +6194,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when this record was last modified", - )), + description: Some( + CowStr::new_static( + "Timestamp when this record was last modified", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -6243,7 +6213,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("passives"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Passive scores (10 + skill modifier)")), + description: Some( + CowStr::new_static("Passive scores (10 + skill modifier)"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -6325,7 +6297,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reverieStats"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Reverie House philosophical alignment")), + description: Some( + CowStr::new_static("Reverie House philosophical alignment"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -6364,7 +6338,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("octant"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Philosophical octant")), + description: Some( + CowStr::new_static("Philosophical octant"), + ), ..Default::default() }), ); @@ -6392,7 +6368,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("rmmzStats"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("RPG Maker MZ character parameters")), + description: Some( + CowStr::new_static("RPG Maker MZ character parameters"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -6534,9 +6512,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("saves"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Saving throw modifiers (actual values, not proficiency flags)", - )), + description: Some( + CowStr::new_static( + "Saving throw modifiers (actual values, not proficiency flags)", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -6584,9 +6564,11 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("skills"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Skill modifiers (actual values, not proficiency flags)", - )), + description: Some( + CowStr::new_static( + "Skill modifiers (actual values, not proficiency flags)", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -6845,9 +6827,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("ability"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Spellcasting ability (INT, WIS, CHA)", - )), + description: Some( + CowStr::new_static("Spellcasting ability (INT, WIS, CHA)"), + ), max_length: Some(3usize), ..Default::default() }), @@ -6868,7 +6850,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("slots"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Spell slots by level")), + description: Some( + CowStr::new_static("Spell slots by level"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#spellslot"), ..Default::default() @@ -6893,10 +6877,9 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { SmolStr::new_static("spellslot"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Spell slot entry")), - required: Some(vec![ - SmolStr::new_static("level"), - SmolStr::new_static("total"), - ]), + required: Some( + vec![SmolStr::new_static("level"), SmolStr::new_static("total")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -6935,7 +6918,7 @@ fn lexicon_doc_actor_rpg_stats() -> LexiconDoc<'static> { pub mod custom_stat_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7115,7 +7098,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CustomStat { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CustomStat { CustomStat { category: self._fields.0, max: self._fields.1, @@ -7129,7 +7115,7 @@ where pub mod dcc_cleric_spell_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7172,7 +7158,10 @@ pub mod dcc_cleric_spell_state { } /// Builder for constructing an instance of this type. -pub struct DccClericSpellBuilder { +pub struct DccClericSpellBuilder< + St: dcc_cleric_spell_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option, Option), _type: PhantomData S>, @@ -7295,7 +7284,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DccClericSpell { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DccClericSpell { DccClericSpell { level: self._fields.0.unwrap(), name: self._fields.1.unwrap(), @@ -7308,7 +7300,7 @@ where pub mod dcc_wizard_spell_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7351,16 +7343,12 @@ pub mod dcc_wizard_spell_state { } /// Builder for constructing an instance of this type. -pub struct DccWizardSpellBuilder { +pub struct DccWizardSpellBuilder< + St: dcc_wizard_spell_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option, - Option, - ), + _fields: (Option, Option, Option, Option, Option, Option), _type: PhantomData S>, } @@ -7509,7 +7497,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DccWizardSpell { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DccWizardSpell { DccWizardSpell { level: self._fields.0.unwrap(), lost: self._fields.1, @@ -7524,7 +7515,7 @@ where pub mod stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7737,7 +7728,7 @@ where pub mod spellslot_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7889,7 +7880,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Spellslot { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Spellslot { Spellslot { level: self._fields.0.unwrap(), total: self._fields.1.unwrap(), @@ -7897,4 +7891,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ai_syui.rs b/crates/jacquard-api/src/ai_syui.rs index 0b619c2c4..aaf9cfec3 100644 --- a/crates/jacquard-api/src/ai_syui.rs +++ b/crates/jacquard-api/src/ai_syui.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `ai.syui` Lexicon namespace/module. pub mod at; -pub mod log; +pub mod log; \ No newline at end of file diff --git a/crates/jacquard-api/src/ai_syui/at.rs b/crates/jacquard-api/src/ai_syui/at.rs index ebcb345d9..0a5cda1db 100644 --- a/crates/jacquard-api/src/ai_syui/at.rs +++ b/crates/jacquard-api/src/ai_syui/at.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `ai.syui.at` Lexicon namespace/module. -pub mod link; +pub mod link; \ No newline at end of file diff --git a/crates/jacquard-api/src/ai_syui/at/link.rs b/crates/jacquard-api/src/ai_syui/at/link.rs index b6770ef6b..e3b3e92a8 100644 --- a/crates/jacquard-api/src/ai_syui/at/link.rs +++ b/crates/jacquard-api/src/ai_syui/at/link.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::ai_syui::at::link; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::ai_syui::at::link; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LinkItem { ///Service identifier. pub service: LinkItemService, @@ -233,10 +230,10 @@ impl LexiconSchema for Link { } fn lexicon_doc_ai_syui_at_link() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ai.syui.at.link"), @@ -245,26 +242,30 @@ fn lexicon_doc_ai_syui_at_link() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("linkItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("service"), - SmolStr::new_static("username"), - ]), + required: Some( + vec![ + SmolStr::new_static("service"), + SmolStr::new_static("username") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("service"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Service identifier.")), + description: Some( + CowStr::new_static("Service identifier."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("username"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Username or ID on the service.", - )), + description: Some( + CowStr::new_static("Username or ID on the service."), + ), max_length: Some(300usize), ..Default::default() }), @@ -345,7 +346,7 @@ fn lexicon_doc_ai_syui_at_link() -> LexiconDoc<'static> { pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -390,11 +391,7 @@ pub mod link_state { /// Builder for constructing an instance of this type. pub struct LinkBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>>, - Option, - ), + _fields: (Option, Option>>, Option), _type: PhantomData S>, } @@ -509,4 +506,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ai_syui/log.rs b/crates/jacquard-api/src/ai_syui/log.rs index 533951b27..9401c372e 100644 --- a/crates/jacquard-api/src/ai_syui/log.rs +++ b/crates/jacquard-api/src/ai_syui/log.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `ai.syui.log` Lexicon namespace/module. pub mod chat; -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/ai_syui/log/chat.rs b/crates/jacquard-api/src/ai_syui/log/chat.rs index 59d03f4bc..03a6c8850 100644 --- a/crates/jacquard-api/src/ai_syui/log/chat.rs +++ b/crates/jacquard-api/src/ai_syui/log/chat.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::ai_syui::log::chat; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::ai_syui::log::chat; /// Record containing a chat message. Compatible with site.standard.document. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -100,10 +100,7 @@ pub struct ChatGetRecordOutput { /// Markdown content format. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Markdown { ///Markdown text content. pub text: S, @@ -114,10 +111,7 @@ pub struct Markdown { /// A translation of a chat message. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Translation { #[serde(skip_serializing_if = "Option::is_none")] pub content: Option, @@ -130,10 +124,7 @@ pub struct Translation { /// Map of language codes to translations. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TranslationMap { #[serde(skip_serializing_if = "Option::is_none")] pub en: Option>, @@ -203,16 +194,19 @@ impl LexiconSchema for Chat { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("cover_image"), @@ -397,7 +391,7 @@ impl LexiconSchema for TranslationMap { pub mod chat_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -496,7 +490,20 @@ impl ChatBuilder { ChatBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -510,7 +517,20 @@ impl ChatBuilder { ChatBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -692,7 +712,10 @@ where St::Title: chat_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ChatBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ChatBuilder, S> { self._fields.12 = Option::Some(value.into()); ChatBuilder { _state: PhantomData, @@ -704,7 +727,10 @@ where impl ChatBuilder { /// Set the `translations` field (optional) - pub fn translations(mut self, value: impl Into>>) -> Self { + pub fn translations( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } @@ -780,10 +806,10 @@ where } fn lexicon_doc_ai_syui_log_chat() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ai.syui.log.chat"), @@ -991,7 +1017,9 @@ fn lexicon_doc_ai_syui_log_chat() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Markdown text content.")), + description: Some( + CowStr::new_static("Markdown text content."), + ), max_length: Some(1000000usize), max_graphemes: Some(100000usize), ..Default::default() @@ -1005,7 +1033,9 @@ fn lexicon_doc_ai_syui_log_chat() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("translation"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A translation of a chat message.")), + description: Some( + CowStr::new_static("A translation of a chat message."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1033,7 +1063,9 @@ fn lexicon_doc_ai_syui_log_chat() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("translationMap"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Map of language codes to translations.")), + description: Some( + CowStr::new_static("Map of language codes to translations."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1060,4 +1092,4 @@ fn lexicon_doc_ai_syui_log_chat() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ai_syui/log/post.rs b/crates/jacquard-api/src/ai_syui/log/post.rs index 6dfb76716..47ca0f660 100644 --- a/crates/jacquard-api/src/ai_syui/log/post.rs +++ b/crates/jacquard-api/src/ai_syui/log/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::ai_syui::log::post; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::ai_syui::log::post; /// Record containing a blog post. Compatible with site.standard.document. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -100,10 +100,7 @@ pub struct PostGetRecordOutput { /// Markdown content format. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Markdown { ///Markdown text content. pub text: S, @@ -114,10 +111,7 @@ pub struct Markdown { /// A translation of a post. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Translation { #[serde(skip_serializing_if = "Option::is_none")] pub content: Option, @@ -130,10 +124,7 @@ pub struct Translation { /// Map of language codes to translations. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TranslationMap { #[serde(skip_serializing_if = "Option::is_none")] pub en: Option>, @@ -203,16 +194,19 @@ impl LexiconSchema for Post { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("cover_image"), @@ -397,7 +391,7 @@ impl LexiconSchema for TranslationMap { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -496,7 +490,20 @@ impl PostBuilder { PostBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -510,7 +517,20 @@ impl PostBuilder { PostBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -692,7 +712,10 @@ where St::Title: post_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> PostBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.12 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -704,7 +727,10 @@ where impl PostBuilder { /// Set the `translations` field (optional) - pub fn translations(mut self, value: impl Into>>) -> Self { + pub fn translations( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } @@ -780,10 +806,10 @@ where } fn lexicon_doc_ai_syui_log_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ai.syui.log.post"), @@ -987,7 +1013,9 @@ fn lexicon_doc_ai_syui_log_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Markdown text content.")), + description: Some( + CowStr::new_static("Markdown text content."), + ), max_length: Some(1000000usize), max_graphemes: Some(100000usize), ..Default::default() @@ -1029,7 +1057,9 @@ fn lexicon_doc_ai_syui_log_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("translationMap"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Map of language codes to translations.")), + description: Some( + CowStr::new_static("Map of language codes to translations."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1056,4 +1086,4 @@ fn lexicon_doc_ai_syui_log_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits.rs b/crates/jacquard-api/src/app_beaconbits.rs index 628104b54..0ed743a36 100644 --- a/crates/jacquard-api/src/app_beaconbits.rs +++ b/crates/jacquard-api/src/app_beaconbits.rs @@ -10,4 +10,4 @@ pub mod favorite; pub mod favorites; pub mod profile; pub mod report; -pub mod venue; +pub mod venue; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/beacon.rs b/crates/jacquard-api/src/app_beaconbits/beacon.rs index c676be77e..de331600a 100644 --- a/crates/jacquard-api/src/app_beaconbits/beacon.rs +++ b/crates/jacquard-api/src/app_beaconbits/beacon.rs @@ -8,18 +8,19 @@ //! Generated bindings for the `app.beaconbits.beacon` Lexicon namespace/module. pub mod like; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -27,12 +28,12 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::repo::strong_ref::StrongRef; use crate::community_lexicon::location::address::Address; use crate::community_lexicon::location::geo::Geo; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A location-based check-in record #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -359,7 +360,7 @@ impl LexiconSchema for Beacon { pub mod beacon_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -476,8 +477,23 @@ impl BeaconBuilder { BeaconBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -490,8 +506,23 @@ impl BeaconBuilder { BeaconBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -800,10 +831,10 @@ where } fn lexicon_doc_app_beaconbits_beacon() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.beacon"), @@ -1003,4 +1034,4 @@ fn lexicon_doc_app_beaconbits_beacon() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/beacon/like.rs b/crates/jacquard-api/src/app_beaconbits/beacon/like.rs index 28a860c30..90e5b40ed 100644 --- a/crates/jacquard-api/src/app_beaconbits/beacon/like.rs +++ b/crates/jacquard-api/src/app_beaconbits/beacon/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A like on a beacon #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -109,7 +109,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -272,10 +272,10 @@ where } fn lexicon_doc_app_beaconbits_beacon_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.beacon.like"), @@ -287,19 +287,23 @@ fn lexicon_doc_app_beaconbits_beacon_like() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A like on a beacon")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("bskyLikeUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Associated Bluesky like URI (if beacon has a post)", - )), + description: Some( + CowStr::new_static( + "Associated Bluesky like URI (if beacon has a post)", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -307,9 +311,9 @@ fn lexicon_doc_app_beaconbits_beacon_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the like was created", - )), + description: Some( + CowStr::new_static("Timestamp when the like was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -317,9 +321,9 @@ fn lexicon_doc_app_beaconbits_beacon_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT URI of the beacon being liked", - )), + description: Some( + CowStr::new_static("AT URI of the beacon being liked"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -335,4 +339,4 @@ fn lexicon_doc_app_beaconbits_beacon_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/bookmark.rs b/crates/jacquard-api/src/app_beaconbits/bookmark.rs index 881d417c7..3f57f2210 100644 --- a/crates/jacquard-api/src/app_beaconbits/bookmark.rs +++ b/crates/jacquard-api/src/app_beaconbits/bookmark.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `app.beaconbits.bookmark` Lexicon namespace/module. pub mod folder; -pub mod item; +pub mod item; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/bookmark/folder.rs b/crates/jacquard-api/src/app_beaconbits/bookmark/folder.rs index 43e068d1d..aeb7cdf96 100644 --- a/crates/jacquard-api/src/app_beaconbits/bookmark/folder.rs +++ b/crates/jacquard-api/src/app_beaconbits/bookmark/folder.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A folder for organizing bookmarks #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -262,7 +262,7 @@ impl LexiconSchema for Folder { pub mod folder_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -418,7 +418,10 @@ where St::Name: folder_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> FolderBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> FolderBuilder, S> { self._fields.4 = Option::Some(value.into()); FolderBuilder { _state: PhantomData, @@ -474,10 +477,10 @@ where } fn lexicon_doc_app_beaconbits_bookmark_folder() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.bookmark.folder"), @@ -486,22 +489,28 @@ fn lexicon_doc_app_beaconbits_bookmark_folder() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A folder for organizing bookmarks")), + description: Some( + CowStr::new_static("A folder for organizing bookmarks"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("color"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Hex color code for the folder (e.g., #ff0000)", - )), + description: Some( + CowStr::new_static( + "Hex color code for the folder (e.g., #ff0000)", + ), + ), max_graphemes: Some(7usize), ..Default::default() }), @@ -509,9 +518,9 @@ fn lexicon_doc_app_beaconbits_bookmark_folder() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the folder was created", - )), + description: Some( + CowStr::new_static("Timestamp when the folder was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -519,9 +528,9 @@ fn lexicon_doc_app_beaconbits_bookmark_folder() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Description of the folder", - )), + description: Some( + CowStr::new_static("Description of the folder"), + ), max_graphemes: Some(280usize), ..Default::default() }), @@ -537,9 +546,9 @@ fn lexicon_doc_app_beaconbits_bookmark_folder() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name of the folder", - )), + description: Some( + CowStr::new_static("Display name of the folder"), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -547,9 +556,9 @@ fn lexicon_doc_app_beaconbits_bookmark_folder() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("visibility"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Visibility setting for the folder", - )), + description: Some( + CowStr::new_static("Visibility setting for the folder"), + ), max_graphemes: Some(32usize), ..Default::default() }), @@ -565,4 +574,4 @@ fn lexicon_doc_app_beaconbits_bookmark_folder() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/bookmark/item.rs b/crates/jacquard-api/src/app_beaconbits/bookmark/item.rs index 78c9505e3..71668393e 100644 --- a/crates/jacquard-api/src/app_beaconbits/bookmark/item.rs +++ b/crates/jacquard-api/src/app_beaconbits/bookmark/item.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::community_lexicon::location::address::Address; -use crate::community_lexicon::location::geo::Geo; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::community_lexicon::location::address::Address; +use crate::community_lexicon::location::geo::Geo; /// A saved venue bookmark #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -190,7 +190,7 @@ impl LexiconSchema for Item { pub mod item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -421,7 +421,10 @@ where St::VenueUri: item_state::IsUnset, { /// Set the `venueUri` field (required) - pub fn venue_uri(mut self, value: impl Into) -> ItemBuilder, S> { + pub fn venue_uri( + mut self, + value: impl Into, + ) -> ItemBuilder, S> { self._fields.8 = Option::Some(value.into()); ItemBuilder { _state: PhantomData, @@ -471,10 +474,10 @@ where } fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.bookmark.item"), @@ -486,27 +489,33 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A saved venue bookmark")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("venueUri"), - SmolStr::new_static("venueName"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("venueUri"), + SmolStr::new_static("venueName"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("addressDetails"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("community.lexicon.location.address"), + r#ref: CowStr::new_static( + "community.lexicon.location.address", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the bookmark was created", - )), + description: Some( + CowStr::new_static( + "Timestamp when the bookmark was created", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -514,9 +523,9 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("folderUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Reference to a bookmark folder", - )), + description: Some( + CowStr::new_static("Reference to a bookmark folder"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -531,9 +540,9 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("notes"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "User notes about the bookmark", - )), + description: Some( + CowStr::new_static("User notes about the bookmark"), + ), max_graphemes: Some(280usize), ..Default::default() }), @@ -541,7 +550,9 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("venueAddress"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Human-readable address")), + description: Some( + CowStr::new_static("Human-readable address"), + ), max_graphemes: Some(256usize), ..Default::default() }), @@ -549,9 +560,9 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("venueCategory"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Category classification", - )), + description: Some( + CowStr::new_static("Category classification"), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -559,9 +570,9 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("venueName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name of the venue", - )), + description: Some( + CowStr::new_static("Display name of the venue"), + ), max_graphemes: Some(128usize), ..Default::default() }), @@ -569,9 +580,11 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("venueUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "URI identifier for the venue (typically OSM URI)", - )), + description: Some( + CowStr::new_static( + "URI identifier for the venue (typically OSM URI)", + ), + ), max_graphemes: Some(512usize), ..Default::default() }), @@ -587,4 +600,4 @@ fn lexicon_doc_app_beaconbits_bookmark_item() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/favorite.rs b/crates/jacquard-api/src/app_beaconbits/favorite.rs index 37dea890e..5129cc481 100644 --- a/crates/jacquard-api/src/app_beaconbits/favorite.rs +++ b/crates/jacquard-api/src/app_beaconbits/favorite.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A favorite relationship to another user #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Favorite { pub mod favorite_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -254,10 +254,10 @@ where } fn lexicon_doc_app_beaconbits_favorite() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.favorite"), @@ -266,24 +266,28 @@ fn lexicon_doc_app_beaconbits_favorite() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A favorite relationship to another user", - )), + description: Some( + CowStr::new_static("A favorite relationship to another user"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the favorite was created", - )), + description: Some( + CowStr::new_static( + "Timestamp when the favorite was created", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -291,9 +295,9 @@ fn lexicon_doc_app_beaconbits_favorite() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the user being favorited", - )), + description: Some( + CowStr::new_static("DID of the user being favorited"), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -309,4 +313,4 @@ fn lexicon_doc_app_beaconbits_favorite() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/favorites.rs b/crates/jacquard-api/src/app_beaconbits/favorites.rs index 39ee52acb..9a938eb1e 100644 --- a/crates/jacquard-api/src/app_beaconbits/favorites.rs +++ b/crates/jacquard-api/src/app_beaconbits/favorites.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A list of favorited user DIDs (legacy singleton record). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -117,7 +117,7 @@ impl LexiconSchema for Favorites { pub mod favorites_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -255,7 +255,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Favorites { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Favorites { Favorites { dids: self._fields.0.unwrap(), updated_at: self._fields.1.unwrap(), @@ -265,10 +268,10 @@ where } fn lexicon_doc_app_beaconbits_favorites() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.favorites"), @@ -277,24 +280,28 @@ fn lexicon_doc_app_beaconbits_favorites() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A list of favorited user DIDs (legacy singleton record).", - )), + description: Some( + CowStr::new_static( + "A list of favorited user DIDs (legacy singleton record).", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("dids"), - SmolStr::new_static("updatedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("dids"), + SmolStr::new_static("updatedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("dids"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "List of favorited user DIDs", - )), + description: Some( + CowStr::new_static("List of favorited user DIDs"), + ), items: LexArrayItem::String(LexString { format: Some(LexStringFormat::Did), ..Default::default() @@ -306,9 +313,11 @@ fn lexicon_doc_app_beaconbits_favorites() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the favorites list was last updated", - )), + description: Some( + CowStr::new_static( + "Timestamp when the favorites list was last updated", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -324,4 +333,4 @@ fn lexicon_doc_app_beaconbits_favorites() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/profile.rs b/crates/jacquard-api/src/app_beaconbits/profile.rs index f336aac67..3836b0fe2 100644 --- a/crates/jacquard-api/src/app_beaconbits/profile.rs +++ b/crates/jacquard-api/src/app_beaconbits/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// User preferences and settings for BeaconBits #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -213,7 +213,8 @@ impl Serialize for ProfileDefaultDelayedReveal { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ProfileDefaultDelayedReveal { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ProfileDefaultDelayedReveal { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -302,7 +303,8 @@ impl Serialize for ProfileDefaultVisibility { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ProfileDefaultVisibility { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ProfileDefaultVisibility { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -330,7 +332,9 @@ where ProfileDefaultVisibility::Followers => ProfileDefaultVisibility::Followers, ProfileDefaultVisibility::Mutuals => ProfileDefaultVisibility::Mutuals, ProfileDefaultVisibility::Hidden => ProfileDefaultVisibility::Hidden, - ProfileDefaultVisibility::Other(v) => ProfileDefaultVisibility::Other(v.into_static()), + ProfileDefaultVisibility::Other(v) => { + ProfileDefaultVisibility::Other(v.into_static()) + } } } } @@ -662,7 +666,7 @@ fn _default_profile_post_beacon_links() -> Option { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -801,7 +805,10 @@ impl ProfileBuilder { self } /// Set the `defaultVisibility` field to an Option value (optional) - pub fn maybe_default_visibility(mut self, value: Option>) -> Self { + pub fn maybe_default_visibility( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -809,7 +816,10 @@ impl ProfileBuilder { impl ProfileBuilder { /// Set the `distanceUnit` field (optional) - pub fn distance_unit(mut self, value: impl Into>>) -> Self { + pub fn distance_unit( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -931,10 +941,10 @@ where } fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.profile"), @@ -943,9 +953,11 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "User preferences and settings for BeaconBits", - )), + description: Some( + CowStr::new_static( + "User preferences and settings for BeaconBits", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("updatedAt")]), @@ -955,9 +967,9 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("allowTags"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Who can tag this user in beacons", - )), + description: Some( + CowStr::new_static("Who can tag this user in beacons"), + ), max_graphemes: Some(32usize), ..Default::default() }), @@ -965,9 +977,11 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when settings were first created", - )), + description: Some( + CowStr::new_static( + "Timestamp when settings were first created", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -975,9 +989,11 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("defaultDelayedReveal"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Default delayed reveal setting for new beacons", - )), + description: Some( + CowStr::new_static( + "Default delayed reveal setting for new beacons", + ), + ), max_graphemes: Some(16usize), ..Default::default() }), @@ -985,9 +1001,9 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("defaultVisibility"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Default visibility for new beacons", - )), + description: Some( + CowStr::new_static("Default visibility for new beacons"), + ), max_graphemes: Some(32usize), ..Default::default() }), @@ -995,9 +1011,9 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("distanceUnit"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Preferred distance unit", - )), + description: Some( + CowStr::new_static("Preferred distance unit"), + ), max_graphemes: Some(16usize), ..Default::default() }), @@ -1011,9 +1027,9 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("language"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Preferred language setting", - )), + description: Some( + CowStr::new_static("Preferred language setting"), + ), max_graphemes: Some(16usize), ..Default::default() }), @@ -1021,9 +1037,11 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("markerColor"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Hex color code for map marker (e.g., #e24630)", - )), + description: Some( + CowStr::new_static( + "Hex color code for map marker (e.g., #e24630)", + ), + ), max_graphemes: Some(7usize), ..Default::default() }), @@ -1037,9 +1055,11 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when settings were last updated", - )), + description: Some( + CowStr::new_static( + "Timestamp when settings were last updated", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1055,4 +1075,4 @@ fn lexicon_doc_app_beaconbits_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/report.rs b/crates/jacquard-api/src/app_beaconbits/report.rs index eeb213ea6..b7f0cb466 100644 --- a/crates/jacquard-api/src/app_beaconbits/report.rs +++ b/crates/jacquard-api/src/app_beaconbits/report.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A report of inappropriate content on a beacon #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -231,7 +231,7 @@ impl LexiconSchema for Report { pub mod report_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -290,12 +290,7 @@ pub mod report_state { /// Builder for constructing an instance of this type. pub struct ReportBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option>, - ), + _fields: (Option>, Option, Option, Option>), _type: PhantomData S>, } @@ -435,10 +430,10 @@ where } fn lexicon_doc_app_beaconbits_report() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.report"), @@ -447,25 +442,29 @@ fn lexicon_doc_app_beaconbits_report() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A report of inappropriate content on a beacon", - )), + description: Some( + CowStr::new_static( + "A report of inappropriate content on a beacon", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("beaconUri"), - SmolStr::new_static("reason"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("beaconUri"), + SmolStr::new_static("reason"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("beaconUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT URI of the beacon being reported", - )), + description: Some( + CowStr::new_static("AT URI of the beacon being reported"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -473,9 +472,9 @@ fn lexicon_doc_app_beaconbits_report() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the report was created", - )), + description: Some( + CowStr::new_static("Timestamp when the report was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -483,9 +482,9 @@ fn lexicon_doc_app_beaconbits_report() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("details"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Additional context for the report", - )), + description: Some( + CowStr::new_static("Additional context for the report"), + ), max_graphemes: Some(500usize), ..Default::default() }), @@ -493,7 +492,9 @@ fn lexicon_doc_app_beaconbits_report() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reason"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Reason for the report")), + description: Some( + CowStr::new_static("Reason for the report"), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -509,4 +510,4 @@ fn lexicon_doc_app_beaconbits_report() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_beaconbits/venue.rs b/crates/jacquard-api/src/app_beaconbits/venue.rs index 24860033f..ca74091ae 100644 --- a/crates/jacquard-api/src/app_beaconbits/venue.rs +++ b/crates/jacquard-api/src/app_beaconbits/venue.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::community_lexicon::location::address::Address; -use crate::community_lexicon::location::geo::Geo; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::community_lexicon::location::address::Address; +use crate::community_lexicon::location::geo::Geo; /// A user-created venue definition #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -160,7 +160,7 @@ impl LexiconSchema for Venue { pub mod venue_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -330,7 +330,10 @@ where St::Name: venue_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> VenueBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> VenueBuilder, S> { self._fields.5 = Option::Some(value.into()); VenueBuilder { _state: PhantomData, @@ -388,10 +391,10 @@ where } fn lexicon_doc_app_beaconbits_venue() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.beaconbits.venue"), @@ -400,20 +403,26 @@ fn lexicon_doc_app_beaconbits_venue() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A user-created venue definition")), + description: Some( + CowStr::new_static("A user-created venue definition"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("address"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Human-readable address")), + description: Some( + CowStr::new_static("Human-readable address"), + ), max_graphemes: Some(256usize), ..Default::default() }), @@ -421,16 +430,20 @@ fn lexicon_doc_app_beaconbits_venue() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("addressDetails"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("community.lexicon.location.address"), + r#ref: CowStr::new_static( + "community.lexicon.location.address", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("category"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Venue category (bar, cafe, restaurant, etc.)", - )), + description: Some( + CowStr::new_static( + "Venue category (bar, cafe, restaurant, etc.)", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -438,9 +451,9 @@ fn lexicon_doc_app_beaconbits_venue() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the venue was created", - )), + description: Some( + CowStr::new_static("Timestamp when the venue was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -455,9 +468,9 @@ fn lexicon_doc_app_beaconbits_venue() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name of the venue", - )), + description: Some( + CowStr::new_static("Display name of the venue"), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -465,9 +478,11 @@ fn lexicon_doc_app_beaconbits_venue() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("osmUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Link to underlying OpenStreetMap entity (osm://node/123)", - )), + description: Some( + CowStr::new_static( + "Link to underlying OpenStreetMap entity (osm://node/123)", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -483,4 +498,4 @@ fn lexicon_doc_app_beaconbits_venue() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit.rs b/crates/jacquard-api/src/app_blebbit.rs index e697915ff..ec9ebf0f4 100644 --- a/crates/jacquard-api/src/app_blebbit.rs +++ b/crates/jacquard-api/src/app_blebbit.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.blebbit` Lexicon namespace/module. -pub mod authr; +pub mod authr; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr.rs b/crates/jacquard-api/src/app_blebbit/authr.rs index 2b0e554a4..bccb340c0 100644 --- a/crates/jacquard-api/src/app_blebbit/authr.rs +++ b/crates/jacquard-api/src/app_blebbit/authr.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.blebbit.authr` Lexicon namespace/module. pub mod folder; pub mod group; -pub mod page; +pub mod page; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder.rs b/crates/jacquard-api/src/app_blebbit/authr/folder.rs index 8fa6d7c81..eefa82bea 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder.rs @@ -16,9 +16,10 @@ pub mod record; pub mod update_folder; pub mod update_folder_relationship; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -30,13 +31,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FolderForm { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -46,11 +44,9 @@ pub struct FolderForm { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FolderView { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -93,10 +89,10 @@ impl LexiconSchema for FolderView { } fn lexicon_doc_app_blebbit_authr_folder_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.blebbit.authr.folder.defs"), @@ -110,9 +106,7 @@ fn lexicon_doc_app_blebbit_authr_folder_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("public"), @@ -133,15 +127,11 @@ fn lexicon_doc_app_blebbit_authr_folder_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("cuid"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("public"), @@ -158,4 +148,4 @@ fn lexicon_doc_app_blebbit_authr_folder_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder.rs index 78879bf12..2aacf034a 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateFolder { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -30,11 +27,9 @@ pub struct CreateFolder { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateFolderOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -59,8 +54,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateFolderResponse { impl jacquard_common::xrpc::XrpcRequest for CreateFolder { const NSID: &'static str = "app.blebbit.authr.folder.createFolder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateFolderResponse; } @@ -70,8 +66,9 @@ Path: `/xrpc/app.blebbit.authr.folder.createFolder`. The request payload type is pub struct CreateFolderRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateFolderRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.folder.createFolder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateFolder; type Response = CreateFolderResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder_relationship.rs index 0cadabd7c..f7f2b6f60 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/create_folder_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateFolderRelationship { pub relation: S, pub resource: S, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateFolderRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for CreateFolderRelationship { const NSID: &'static str = "app.blebbit.authr.folder.createFolderRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateFolderRelationshipResponse; } @@ -53,8 +51,9 @@ Path: `/xrpc/app.blebbit.authr.folder.createFolderRelationship`. The request pay pub struct CreateFolderRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateFolderRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.folder.createFolderRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateFolderRelationship; type Response = CreateFolderRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder.rs index 9075b0716..d93a8fa47 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteFolderParams { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, @@ -45,8 +42,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteFolderResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteFolder { const NSID: &'static str = "app.blebbit.authr.folder.deleteFolder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteFolderResponse; } @@ -56,15 +54,16 @@ Path: `/xrpc/app.blebbit.authr.folder.deleteFolder`. The request payload type is pub struct DeleteFolderRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteFolderRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.folder.deleteFolder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteFolder; type Response = DeleteFolderResponse; } pub mod delete_folder_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -82,8 +81,10 @@ pub mod delete_folder_params_state { } /// Builder for constructing an instance of this type. -pub struct DeleteFolderParamsBuilder -{ +pub struct DeleteFolderParamsBuilder< + St: delete_folder_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -91,7 +92,10 @@ pub struct DeleteFolderParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DeleteFolderParamsBuilder { + pub fn new() -> DeleteFolderParamsBuilder< + delete_folder_params_state::Empty, + DefaultStr, + > { DeleteFolderParamsBuilder::new() } } @@ -144,6 +148,8 @@ where { /// Build the final struct. pub fn build(self) -> DeleteFolderParams { - DeleteFolderParams { id: self._fields.0 } + DeleteFolderParams { + id: self._fields.0, + } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder_relationship.rs index bb590d5b1..ef75e2c31 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/delete_folder_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteFolderRelationship { #[serde(skip_serializing_if = "Option::is_none")] pub relation: Option, @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteFolderRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteFolderRelationship { const NSID: &'static str = "app.blebbit.authr.folder.deleteFolderRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteFolderRelationshipResponse; } @@ -54,8 +52,9 @@ Path: `/xrpc/app.blebbit.authr.folder.deleteFolderRelationship`. The request pay pub struct DeleteFolderRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteFolderRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.folder.deleteFolderRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteFolderRelationship; type Response = DeleteFolderRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/get_folder.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/get_folder.rs index b8fc45e40..aca199eb5 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/get_folder.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/get_folder.rs @@ -10,26 +10,21 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFolder { pub id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFolderOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFolderRequest { pub mod get_folder_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -150,7 +145,10 @@ where St::Id: get_folder_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> GetFolderBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> GetFolderBuilder, S> { self._fields.0 = Option::Some(value.into()); GetFolderBuilder { _state: PhantomData, @@ -171,4 +169,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/get_folders.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/get_folders.rs index d29256bc1..fcd54e4ff 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/get_folders.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/get_folders.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_blebbit::authr::folder::FolderView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_blebbit::authr::folder::FolderView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFolders { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -29,11 +26,9 @@ pub struct GetFolders { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFoldersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub folders: Option>>, @@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFoldersRequest { pub mod get_folders_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,4 +163,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/record.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/record.rs index c1d6a38cd..7e7151c5d 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/record.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/record.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -107,7 +107,7 @@ impl LexiconSchema for Record { pub mod record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -231,10 +231,10 @@ where } fn lexicon_doc_app_blebbit_authr_folder_record() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.blebbit.authr.folder.record"), @@ -277,4 +277,4 @@ fn lexicon_doc_app_blebbit_authr_folder_record() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder.rs index 251950597..6a5c5fd25 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateFolderParams { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateFolder { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -40,11 +35,9 @@ pub struct UpdateFolder { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateFolderOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -69,8 +62,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateFolderResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateFolder { const NSID: &'static str = "app.blebbit.authr.folder.updateFolder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateFolderResponse; } @@ -80,15 +74,16 @@ Path: `/xrpc/app.blebbit.authr.folder.updateFolder`. The request payload type is pub struct UpdateFolderRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateFolderRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.folder.updateFolder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateFolder; type Response = UpdateFolderResponse; } pub mod update_folder_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,8 +101,10 @@ pub mod update_folder_params_state { } /// Builder for constructing an instance of this type. -pub struct UpdateFolderParamsBuilder -{ +pub struct UpdateFolderParamsBuilder< + St: update_folder_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -115,7 +112,10 @@ pub struct UpdateFolderParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdateFolderParamsBuilder { + pub fn new() -> UpdateFolderParamsBuilder< + update_folder_params_state::Empty, + DefaultStr, + > { UpdateFolderParamsBuilder::new() } } @@ -168,6 +168,8 @@ where { /// Build the final struct. pub fn build(self) -> UpdateFolderParams { - UpdateFolderParams { id: self._fields.0 } + UpdateFolderParams { + id: self._fields.0, + } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder_relationship.rs index 641dde2ce..9a0b9f16b 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/folder/update_folder_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateFolderRelationship { pub relation: S, pub resource: S, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateFolderRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateFolderRelationship { const NSID: &'static str = "app.blebbit.authr.folder.updateFolderRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateFolderRelationshipResponse; } @@ -53,8 +51,9 @@ Path: `/xrpc/app.blebbit.authr.folder.updateFolderRelationship`. The request pay pub struct UpdateFolderRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateFolderRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.folder.updateFolderRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateFolderRelationship; type Response = UpdateFolderRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group.rs b/crates/jacquard-api/src/app_blebbit/authr/group.rs index 527ee61da..703b4ef97 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group.rs @@ -16,9 +16,10 @@ pub mod record; pub mod update_group; pub mod update_group_relationship; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -30,13 +31,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GroupForm { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -49,11 +47,9 @@ pub struct GroupForm { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GroupView { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -100,10 +96,10 @@ impl LexiconSchema for GroupView { } fn lexicon_doc_app_blebbit_authr_group_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.blebbit.authr.group.defs"), @@ -118,21 +114,15 @@ fn lexicon_doc_app_blebbit_authr_group_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("display"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("public"), @@ -153,27 +143,19 @@ fn lexicon_doc_app_blebbit_authr_group_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("cuid"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("description"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("display"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("public"), @@ -190,4 +172,4 @@ fn lexicon_doc_app_blebbit_authr_group_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/create_group.rs b/crates/jacquard-api/src/app_blebbit/authr/group/create_group.rs index 4800b1db2..8fd4c7125 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/create_group.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/create_group.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateGroup { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -33,11 +30,9 @@ pub struct CreateGroup { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateGroupOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -66,8 +61,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateGroupResponse { impl jacquard_common::xrpc::XrpcRequest for CreateGroup { const NSID: &'static str = "app.blebbit.authr.group.createGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateGroupResponse; } @@ -77,8 +73,9 @@ Path: `/xrpc/app.blebbit.authr.group.createGroup`. The request payload type is ` pub struct CreateGroupRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateGroupRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.group.createGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateGroup; type Response = CreateGroupResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/create_group_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/group/create_group_relationship.rs index d4d313141..a396e6991 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/create_group_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/create_group_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateGroupRelationship { pub relation: S, pub resource: S, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateGroupRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for CreateGroupRelationship { const NSID: &'static str = "app.blebbit.authr.group.createGroupRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateGroupRelationshipResponse; } @@ -53,8 +51,9 @@ Path: `/xrpc/app.blebbit.authr.group.createGroupRelationship`. The request paylo pub struct CreateGroupRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateGroupRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.group.createGroupRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateGroupRelationship; type Response = CreateGroupRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/delete_group.rs b/crates/jacquard-api/src/app_blebbit/authr/group/delete_group.rs index c445bae47..90b54d8dd 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/delete_group.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/delete_group.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteGroupParams { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, @@ -45,8 +42,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteGroupResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteGroup { const NSID: &'static str = "app.blebbit.authr.group.deleteGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteGroupResponse; } @@ -56,15 +54,16 @@ Path: `/xrpc/app.blebbit.authr.group.deleteGroup`. The request payload type is ` pub struct DeleteGroupRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteGroupRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.group.deleteGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteGroup; type Response = DeleteGroupResponse; } pub mod delete_group_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -82,7 +81,10 @@ pub mod delete_group_params_state { } /// Builder for constructing an instance of this type. -pub struct DeleteGroupParamsBuilder { +pub struct DeleteGroupParamsBuilder< + St: delete_group_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -90,7 +92,10 @@ pub struct DeleteGroupParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DeleteGroupParamsBuilder { + pub fn new() -> DeleteGroupParamsBuilder< + delete_group_params_state::Empty, + DefaultStr, + > { DeleteGroupParamsBuilder::new() } } @@ -143,6 +148,8 @@ where { /// Build the final struct. pub fn build(self) -> DeleteGroupParams { - DeleteGroupParams { id: self._fields.0 } + DeleteGroupParams { + id: self._fields.0, + } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/delete_group_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/group/delete_group_relationship.rs index ff8beb0f6..d04c78cb0 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/delete_group_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/delete_group_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteGroupRelationship { #[serde(skip_serializing_if = "Option::is_none")] pub relation: Option, @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteGroupRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteGroupRelationship { const NSID: &'static str = "app.blebbit.authr.group.deleteGroupRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteGroupRelationshipResponse; } @@ -54,8 +52,9 @@ Path: `/xrpc/app.blebbit.authr.group.deleteGroupRelationship`. The request paylo pub struct DeleteGroupRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteGroupRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.group.deleteGroupRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteGroupRelationship; type Response = DeleteGroupRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/get_group.rs b/crates/jacquard-api/src/app_blebbit/authr/group/get_group.rs index 06c4a4166..03d9f2529 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/get_group.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/get_group.rs @@ -10,26 +10,21 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetGroup { pub id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetGroupOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetGroupRequest { pub mod get_group_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -154,7 +149,10 @@ where St::Id: get_group_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> GetGroupBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> GetGroupBuilder, S> { self._fields.0 = Option::Some(value.into()); GetGroupBuilder { _state: PhantomData, @@ -175,4 +173,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/get_groups.rs b/crates/jacquard-api/src/app_blebbit/authr/group/get_groups.rs index 18b594eed..81f120f5e 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/get_groups.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/get_groups.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_blebbit::authr::group::GroupView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_blebbit::authr::group::GroupView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetGroups { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -29,11 +26,9 @@ pub struct GetGroups { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetGroupsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub groups: Option>>, @@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetGroupsRequest { pub mod get_groups_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,4 +163,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/record.rs b/crates/jacquard-api/src/app_blebbit/authr/group/record.rs index 08c0e9841..3153d4c79 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/record.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/record.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -111,7 +111,7 @@ impl LexiconSchema for Record { pub mod record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -265,10 +265,10 @@ where } fn lexicon_doc_app_blebbit_authr_group_record() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.blebbit.authr.group.record"), @@ -323,4 +323,4 @@ fn lexicon_doc_app_blebbit_authr_group_record() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/update_group.rs b/crates/jacquard-api/src/app_blebbit/authr/group/update_group.rs index 82b9a8f5a..0c984ac49 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/update_group.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/update_group.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateGroupParams { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateGroup { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -43,11 +38,9 @@ pub struct UpdateGroup { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateGroupOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cuid: Option, @@ -76,8 +69,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateGroupResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateGroup { const NSID: &'static str = "app.blebbit.authr.group.updateGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateGroupResponse; } @@ -87,15 +81,16 @@ Path: `/xrpc/app.blebbit.authr.group.updateGroup`. The request payload type is ` pub struct UpdateGroupRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateGroupRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.group.updateGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateGroup; type Response = UpdateGroupResponse; } pub mod update_group_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -113,7 +108,10 @@ pub mod update_group_params_state { } /// Builder for constructing an instance of this type. -pub struct UpdateGroupParamsBuilder { +pub struct UpdateGroupParamsBuilder< + St: update_group_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -121,7 +119,10 @@ pub struct UpdateGroupParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdateGroupParamsBuilder { + pub fn new() -> UpdateGroupParamsBuilder< + update_group_params_state::Empty, + DefaultStr, + > { UpdateGroupParamsBuilder::new() } } @@ -174,6 +175,8 @@ where { /// Build the final struct. pub fn build(self) -> UpdateGroupParams { - UpdateGroupParams { id: self._fields.0 } + UpdateGroupParams { + id: self._fields.0, + } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/group/update_group_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/group/update_group_relationship.rs index f310dd55f..dfc63cefc 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/group/update_group_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/group/update_group_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateGroupRelationship { pub relation: S, pub resource: S, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateGroupRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateGroupRelationship { const NSID: &'static str = "app.blebbit.authr.group.updateGroupRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateGroupRelationshipResponse; } @@ -53,8 +51,9 @@ Path: `/xrpc/app.blebbit.authr.group.updateGroupRelationship`. The request paylo pub struct UpdateGroupRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateGroupRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.group.updateGroupRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateGroupRelationship; type Response = UpdateGroupRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page.rs b/crates/jacquard-api/src/app_blebbit/authr/page.rs index 15183a55d..4ebe7335a 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page.rs @@ -16,9 +16,10 @@ pub mod record; pub mod update_page; pub mod update_page_relationship; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -30,13 +31,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PageForm { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -46,11 +44,9 @@ pub struct PageForm { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PageView { #[serde(skip_serializing_if = "Option::is_none")] pub content: Option, @@ -95,10 +91,10 @@ impl LexiconSchema for PageView { } fn lexicon_doc_app_blebbit_authr_page_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.blebbit.authr.page.defs"), @@ -112,9 +108,7 @@ fn lexicon_doc_app_blebbit_authr_page_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("public"), @@ -135,21 +129,15 @@ fn lexicon_doc_app_blebbit_authr_page_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("content"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("cuid"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("public"), @@ -166,4 +154,4 @@ fn lexicon_doc_app_blebbit_authr_page_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/create_page.rs b/crates/jacquard-api/src/app_blebbit/authr/page/create_page.rs index 1772fc93e..c78be6731 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/create_page.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/create_page.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreatePage { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -30,11 +27,9 @@ pub struct CreatePage { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreatePageOutput { #[serde(skip_serializing_if = "Option::is_none")] pub content: Option, @@ -61,8 +56,9 @@ impl jacquard_common::xrpc::XrpcResp for CreatePageResponse { impl jacquard_common::xrpc::XrpcRequest for CreatePage { const NSID: &'static str = "app.blebbit.authr.page.createPage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreatePageResponse; } @@ -72,8 +68,9 @@ Path: `/xrpc/app.blebbit.authr.page.createPage`. The request payload type is `Cr pub struct CreatePageRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreatePageRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.page.createPage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreatePage; type Response = CreatePageResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/create_page_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/page/create_page_relationship.rs index f425554f6..83142050e 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/create_page_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/create_page_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreatePageRelationship { pub relation: S, pub resource: S, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for CreatePageRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for CreatePageRelationship { const NSID: &'static str = "app.blebbit.authr.page.createPageRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreatePageRelationshipResponse; } @@ -53,8 +51,9 @@ Path: `/xrpc/app.blebbit.authr.page.createPageRelationship`. The request payload pub struct CreatePageRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreatePageRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.page.createPageRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreatePageRelationship; type Response = CreatePageRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/delete_page.rs b/crates/jacquard-api/src/app_blebbit/authr/page/delete_page.rs index 42e86c89b..210c49f72 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/delete_page.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/delete_page.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeletePageParams { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, @@ -45,8 +42,9 @@ impl jacquard_common::xrpc::XrpcResp for DeletePageResponse { impl jacquard_common::xrpc::XrpcRequest for DeletePage { const NSID: &'static str = "app.blebbit.authr.page.deletePage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeletePageResponse; } @@ -56,15 +54,16 @@ Path: `/xrpc/app.blebbit.authr.page.deletePage`. The request payload type is `De pub struct DeletePageRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeletePageRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.page.deletePage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeletePage; type Response = DeletePageResponse; } pub mod delete_page_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -82,7 +81,10 @@ pub mod delete_page_params_state { } /// Builder for constructing an instance of this type. -pub struct DeletePageParamsBuilder { +pub struct DeletePageParamsBuilder< + St: delete_page_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -90,7 +92,10 @@ pub struct DeletePageParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DeletePageParamsBuilder { + pub fn new() -> DeletePageParamsBuilder< + delete_page_params_state::Empty, + DefaultStr, + > { DeletePageParamsBuilder::new() } } @@ -143,6 +148,8 @@ where { /// Build the final struct. pub fn build(self) -> DeletePageParams { - DeletePageParams { id: self._fields.0 } + DeletePageParams { + id: self._fields.0, + } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/delete_page_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/page/delete_page_relationship.rs index 2cd7f5eff..15b44bde1 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/delete_page_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/delete_page_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeletePageRelationship { #[serde(skip_serializing_if = "Option::is_none")] pub relation: Option, @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for DeletePageRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for DeletePageRelationship { const NSID: &'static str = "app.blebbit.authr.page.deletePageRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeletePageRelationshipResponse; } @@ -54,8 +52,9 @@ Path: `/xrpc/app.blebbit.authr.page.deletePageRelationship`. The request payload pub struct DeletePageRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeletePageRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.page.deletePageRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeletePageRelationship; type Response = DeletePageRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/get_page.rs b/crates/jacquard-api/src/app_blebbit/authr/page/get_page.rs index 8cee69e9a..b80a2ba26 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/get_page.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/get_page.rs @@ -10,26 +10,21 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPage { pub id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPageOutput { #[serde(skip_serializing_if = "Option::is_none")] pub content: Option, @@ -73,7 +68,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPageRequest { pub mod get_page_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -152,7 +147,10 @@ where St::Id: get_page_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> GetPageBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> GetPageBuilder, S> { self._fields.0 = Option::Some(value.into()); GetPageBuilder { _state: PhantomData, @@ -173,4 +171,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/get_pages.rs b/crates/jacquard-api/src/app_blebbit/authr/page/get_pages.rs index 30fd087f7..be77176ad 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/get_pages.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/get_pages.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_blebbit::authr::page::PageView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_blebbit::authr::page::PageView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPages { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -29,11 +26,9 @@ pub struct GetPages { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPagesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub pages: Option>>, @@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPagesRequest { pub mod get_pages_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,4 +163,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/record.rs b/crates/jacquard-api/src/app_blebbit/authr/page/record.rs index 426fd7764..702dcfb57 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/record.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/record.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -109,7 +109,7 @@ impl LexiconSchema for Record { pub mod record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -248,10 +248,10 @@ where } fn lexicon_doc_app_blebbit_authr_page_record() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.blebbit.authr.page.record"), @@ -300,4 +300,4 @@ fn lexicon_doc_app_blebbit_authr_page_record() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/update_page.rs b/crates/jacquard-api/src/app_blebbit/authr/page/update_page.rs index 42ed135c0..3f410407b 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/update_page.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/update_page.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdatePageParams { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdatePage { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -40,11 +35,9 @@ pub struct UpdatePage { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdatePageOutput { #[serde(skip_serializing_if = "Option::is_none")] pub content: Option, @@ -71,8 +64,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdatePageResponse { impl jacquard_common::xrpc::XrpcRequest for UpdatePage { const NSID: &'static str = "app.blebbit.authr.page.updatePage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdatePageResponse; } @@ -82,15 +76,16 @@ Path: `/xrpc/app.blebbit.authr.page.updatePage`. The request payload type is `Up pub struct UpdatePageRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdatePageRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.page.updatePage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdatePage; type Response = UpdatePageResponse; } pub mod update_page_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -108,7 +103,10 @@ pub mod update_page_params_state { } /// Builder for constructing an instance of this type. -pub struct UpdatePageParamsBuilder { +pub struct UpdatePageParamsBuilder< + St: update_page_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -116,7 +114,10 @@ pub struct UpdatePageParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdatePageParamsBuilder { + pub fn new() -> UpdatePageParamsBuilder< + update_page_params_state::Empty, + DefaultStr, + > { UpdatePageParamsBuilder::new() } } @@ -169,6 +170,8 @@ where { /// Build the final struct. pub fn build(self) -> UpdatePageParams { - UpdatePageParams { id: self._fields.0 } + UpdatePageParams { + id: self._fields.0, + } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_blebbit/authr/page/update_page_relationship.rs b/crates/jacquard-api/src/app_blebbit/authr/page/update_page_relationship.rs index 468eb178f..aef43cb4e 100644 --- a/crates/jacquard-api/src/app_blebbit/authr/page/update_page_relationship.rs +++ b/crates/jacquard-api/src/app_blebbit/authr/page/update_page_relationship.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdatePageRelationship { pub relation: S, pub resource: S, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdatePageRelationshipResponse { impl jacquard_common::xrpc::XrpcRequest for UpdatePageRelationship { const NSID: &'static str = "app.blebbit.authr.page.updatePageRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdatePageRelationshipResponse; } @@ -53,8 +51,9 @@ Path: `/xrpc/app.blebbit.authr.page.updatePageRelationship`. The request payload pub struct UpdatePageRelationshipRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdatePageRelationshipRequest { const PATH: &'static str = "/xrpc/app.blebbit.authr.page.updatePageRelationship"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdatePageRelationship; type Response = UpdatePageRelationshipResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky.rs b/crates/jacquard-api/src/app_bsky.rs index c9e9cf1a9..e9a0a6a38 100644 --- a/crates/jacquard-api/src/app_bsky.rs +++ b/crates/jacquard-api/src/app_bsky.rs @@ -25,4 +25,4 @@ pub mod labeler; pub mod notification; pub mod richtext; pub mod unspecced; -pub mod video; +pub mod video; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor.rs b/crates/jacquard-api/src/app_bsky/actor.rs index f114ef75c..c37f08544 100644 --- a/crates/jacquard-api/src/app_bsky/actor.rs +++ b/crates/jacquard-api/src/app_bsky/actor.rs @@ -16,23 +16,26 @@ pub mod search_actors; pub mod search_actors_typeahead; pub mod status; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, Handle, UriValue}; +use jacquard_common::types::string::{Did, Handle, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::actor; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::external::View; use crate::app_bsky::feed::postgate::DisableRule; use crate::app_bsky::feed::threadgate::FollowerRule; @@ -44,15 +47,10 @@ use crate::app_bsky::graph::StarterPackViewBasic; use crate::app_bsky::notification::ActivitySubscription; use crate::com_atproto::label::Label; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::actor; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AdultContentPref { /// Defaults to `false`. #[serde(default = "_default_adult_content_pref_enabled")] @@ -64,10 +62,7 @@ pub struct AdultContentPref { /// If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BskyAppProgressGuide { pub guide: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -77,10 +72,7 @@ pub struct BskyAppProgressGuide { /// A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BskyAppStatePref { #[serde(skip_serializing_if = "Option::is_none")] pub active_progress_guide: Option>, @@ -94,11 +86,9 @@ pub struct BskyAppStatePref { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ContentLabelPref { pub label: S, ///Which labeler does this preference apply to? If undefined, applies globally. @@ -109,6 +99,7 @@ pub struct ContentLabelPref { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ContentLabelPrefVisibility { Ignore, @@ -161,7 +152,8 @@ impl Serialize for ContentLabelPrefVisibility { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContentLabelPrefVisibility { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ContentLabelPrefVisibility { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -199,10 +191,7 @@ where /// Read-only preference containing value(s) inferred from the user's declared birthdate. Absence of this preference object in the response indicates that the user has not made a declaration. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeclaredAgePref { ///Indicates if the user has declared that they are over 13 years of age. #[serde(skip_serializing_if = "Option::is_none")] @@ -217,11 +206,9 @@ pub struct DeclaredAgePref { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FeedViewPref { ///The URI of the feed, or an identifier which describes the feed. pub feed: S, @@ -245,11 +232,9 @@ pub struct FeedViewPref { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HiddenPostsPref { ///A list of URIs of posts the account owner has hidden. pub items: Vec>, @@ -257,11 +242,9 @@ pub struct HiddenPostsPref { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct InterestsPref { ///A list of tags which describe the account owner's interests gathered during onboarding. pub tags: Vec, @@ -272,10 +255,7 @@ pub struct InterestsPref { /// The subject's followers whom you also follow #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct KnownFollowers { pub count: i64, pub followers: Vec>, @@ -283,22 +263,18 @@ pub struct KnownFollowers { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelerPrefItem { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelersPref { pub labelers: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -308,10 +284,7 @@ pub struct LabelersPref { /// Preferences for live events. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LiveEventPreferences { ///A list of feed IDs that the user has hidden from live events. #[serde(skip_serializing_if = "Option::is_none")] @@ -327,10 +300,7 @@ pub struct LiveEventPreferences { /// A word that the account owner has muted. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MutedWord { ///Groups of users to apply the muted word to. If undefined, applies to all users. #[serde(skip_serializing_if = "Option::is_none")] @@ -421,12 +391,17 @@ where fn into_static(self) -> Self::Output { match self { MutedWordActorTarget::All => MutedWordActorTarget::All, - MutedWordActorTarget::ExcludeFollowing => MutedWordActorTarget::ExcludeFollowing, - MutedWordActorTarget::Other(v) => MutedWordActorTarget::Other(v.into_static()), + MutedWordActorTarget::ExcludeFollowing => { + MutedWordActorTarget::ExcludeFollowing + } + MutedWordActorTarget::Other(v) => { + MutedWordActorTarget::Other(v.into_static()) + } } } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum MutedWordTarget { Content, @@ -498,11 +473,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MutedWordsPref { ///A list of words the account owner has muted. pub items: Vec>, @@ -513,10 +486,7 @@ pub struct MutedWordsPref { /// A new user experiences (NUX) storage object #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Nux { /// Defaults to `false`. #[serde(default = "_default_nux_completed")] @@ -532,11 +502,9 @@ pub struct Nux { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PersonalDetailsPref { ///The birth date of account owner. #[serde(skip_serializing_if = "Option::is_none")] @@ -548,21 +516,21 @@ pub struct PersonalDetailsPref { /// Default post interaction settings for the account. These values should be applied as default values when creating new posts. These refs should mirror the threadgate and postgate records exactly. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PostInteractionSettingsPref { ///Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed. #[serde(skip_serializing_if = "Option::is_none")] pub postgate_embedding_rules: Option>>, ///Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply. #[serde(skip_serializing_if = "Option::is_none")] - pub threadgate_allow_rules: Option>>, + pub threadgate_allow_rules: Option< + Vec>, + >, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -577,6 +545,7 @@ pub enum PostInteractionSettingsPrefThreadgateAllowRulesItem>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -618,10 +587,7 @@ pub enum PreferencesItem { pub type Preferences = Vec>; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileAssociated { #[serde(skip_serializing_if = "Option::is_none")] pub activity_subscription: Option>, @@ -641,19 +607,20 @@ pub struct ProfileAssociated { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileAssociatedActivitySubscription { pub allow_subscriptions: ProfileAssociatedActivitySubscriptionAllowSubscriptions, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub enum ProfileAssociatedActivitySubscriptionAllowSubscriptions { +pub enum ProfileAssociatedActivitySubscriptionAllowSubscriptions< + S: BosStr = DefaultStr, +> { Followers, Mutuals, None, @@ -680,19 +647,22 @@ impl ProfileAssociatedActivitySubscriptionAllowSubscriptions { } } -impl core::fmt::Display for ProfileAssociatedActivitySubscriptionAllowSubscriptions { +impl core::fmt::Display +for ProfileAssociatedActivitySubscriptionAllowSubscriptions { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.as_str()) } } -impl AsRef for ProfileAssociatedActivitySubscriptionAllowSubscriptions { +impl AsRef +for ProfileAssociatedActivitySubscriptionAllowSubscriptions { fn as_ref(&self) -> &str { self.as_str() } } -impl Serialize for ProfileAssociatedActivitySubscriptionAllowSubscriptions { +impl Serialize +for ProfileAssociatedActivitySubscriptionAllowSubscriptions { fn serialize(&self, serializer: Ser) -> Result where Ser: serde::Serializer, @@ -702,8 +672,7 @@ impl Serialize for ProfileAssociatedActivitySubscriptionAllowSubscrip } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for ProfileAssociatedActivitySubscriptionAllowSubscriptions -{ +for ProfileAssociatedActivitySubscriptionAllowSubscriptions { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -713,14 +682,15 @@ impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> } } -impl Default for ProfileAssociatedActivitySubscriptionAllowSubscriptions { +impl Default +for ProfileAssociatedActivitySubscriptionAllowSubscriptions { fn default() -> Self { Self::Other(Default::default()) } } impl jacquard_common::IntoStatic - for ProfileAssociatedActivitySubscriptionAllowSubscriptions +for ProfileAssociatedActivitySubscriptionAllowSubscriptions where S: BosStr + jacquard_common::IntoStatic, S::Output: BosStr, @@ -738,17 +708,17 @@ where ProfileAssociatedActivitySubscriptionAllowSubscriptions::None } ProfileAssociatedActivitySubscriptionAllowSubscriptions::Other(v) => { - ProfileAssociatedActivitySubscriptionAllowSubscriptions::Other(v.into_static()) + ProfileAssociatedActivitySubscriptionAllowSubscriptions::Other( + v.into_static(), + ) } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileAssociatedChat { #[serde(skip_serializing_if = "Option::is_none")] pub allow_group_invites: Option>, @@ -757,6 +727,7 @@ pub struct ProfileAssociatedChat { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ProfileAssociatedChatAllowGroupInvites { All, @@ -807,8 +778,7 @@ impl Serialize for ProfileAssociatedChatAllowGroupInvites { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for ProfileAssociatedChatAllowGroupInvites -{ +for ProfileAssociatedChatAllowGroupInvites { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -848,6 +818,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ProfileAssociatedChatAllowIncoming { All, @@ -897,7 +868,8 @@ impl Serialize for ProfileAssociatedChatAllowIncoming { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ProfileAssociatedChatAllowIncoming { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ProfileAssociatedChatAllowIncoming { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -921,8 +893,12 @@ where type Output = ProfileAssociatedChatAllowIncoming; fn into_static(self) -> Self::Output { match self { - ProfileAssociatedChatAllowIncoming::All => ProfileAssociatedChatAllowIncoming::All, - ProfileAssociatedChatAllowIncoming::None => ProfileAssociatedChatAllowIncoming::None, + ProfileAssociatedChatAllowIncoming::All => { + ProfileAssociatedChatAllowIncoming::All + } + ProfileAssociatedChatAllowIncoming::None => { + ProfileAssociatedChatAllowIncoming::None + } ProfileAssociatedChatAllowIncoming::Following => { ProfileAssociatedChatAllowIncoming::Following } @@ -933,11 +909,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileAssociatedGerm { pub message_me_url: UriValue, pub show_button_to: ProfileAssociatedGermShowButtonTo, @@ -945,6 +919,7 @@ pub struct ProfileAssociatedGerm { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ProfileAssociatedGermShowButtonTo { UsersIFollow, @@ -991,7 +966,8 @@ impl Serialize for ProfileAssociatedGermShowButtonTo { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ProfileAssociatedGermShowButtonTo { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ProfileAssociatedGermShowButtonTo { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1028,11 +1004,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileView { #[serde(skip_serializing_if = "Option::is_none")] pub associated: Option>, @@ -1065,11 +1039,9 @@ pub struct ProfileView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileViewBasic { #[serde(skip_serializing_if = "Option::is_none")] pub associated: Option>, @@ -1098,11 +1070,9 @@ pub struct ProfileViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileViewDetailed { #[serde(skip_serializing_if = "Option::is_none")] pub associated: Option>, @@ -1149,11 +1119,9 @@ pub struct ProfileViewDetailed { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SavedFeed { pub id: S, pub pinned: bool, @@ -1163,6 +1131,7 @@ pub struct SavedFeed { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum SavedFeedType { Feed, @@ -1244,11 +1213,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SavedFeedsPref { pub pinned: Vec>, pub saved: Vec>, @@ -1258,22 +1225,18 @@ pub struct SavedFeedsPref { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SavedFeedsPrefV2 { pub items: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StatusView { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -1375,11 +1338,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadViewPref { ///Sorting mode for threads. #[serde(skip_serializing_if = "Option::is_none")] @@ -1482,10 +1443,7 @@ where /// Preferences for how verified accounts appear in the app. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerificationPrefs { ///Hide the blue check badges for verified accounts and trusted verifiers. Defaults to `false`. #[serde(skip_serializing_if = "Option::is_none")] @@ -1498,10 +1456,7 @@ pub struct VerificationPrefs { /// Represents the verification information about the user this object is attached to. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerificationState { ///The user's status as a trusted verifier. pub trusted_verifier_status: VerificationStateTrustedVerifierStatus, @@ -1565,8 +1520,7 @@ impl Serialize for VerificationStateTrustedVerifierStatus { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for VerificationStateTrustedVerifierStatus -{ +for VerificationStateTrustedVerifierStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1657,7 +1611,8 @@ impl Serialize for VerificationStateVerifiedStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for VerificationStateVerifiedStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for VerificationStateVerifiedStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1681,9 +1636,15 @@ where type Output = VerificationStateVerifiedStatus; fn into_static(self) -> Self::Output { match self { - VerificationStateVerifiedStatus::Valid => VerificationStateVerifiedStatus::Valid, - VerificationStateVerifiedStatus::Invalid => VerificationStateVerifiedStatus::Invalid, - VerificationStateVerifiedStatus::None => VerificationStateVerifiedStatus::None, + VerificationStateVerifiedStatus::Valid => { + VerificationStateVerifiedStatus::Valid + } + VerificationStateVerifiedStatus::Invalid => { + VerificationStateVerifiedStatus::Invalid + } + VerificationStateVerifiedStatus::None => { + VerificationStateVerifiedStatus::None + } VerificationStateVerifiedStatus::Other(v) => { VerificationStateVerifiedStatus::Other(v.into_static()) } @@ -1694,10 +1655,7 @@ where /// An individual verification for an associated subject. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerificationView { ///Timestamp when the verification was created. pub created_at: Datetime, @@ -1720,10 +1678,7 @@ pub struct VerificationView { /// Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewerState { ///This property is present only in selected cases, as an optimization. #[serde(skip_serializing_if = "Option::is_none")] @@ -2510,7 +2465,7 @@ impl Default for AdultContentPref { pub mod adult_content_pref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2541,7 +2496,10 @@ pub mod adult_content_pref_state { } /// Builder for constructing an instance of this type. -pub struct AdultContentPrefBuilder { +pub struct AdultContentPrefBuilder< + St: adult_content_pref_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -2549,7 +2507,10 @@ pub struct AdultContentPrefBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> AdultContentPrefBuilder { + pub fn new() -> AdultContentPrefBuilder< + adult_content_pref_state::Empty, + DefaultStr, + > { AdultContentPrefBuilder::new() } } @@ -2615,7 +2576,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AdultContentPref { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AdultContentPref { AdultContentPref { enabled: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -2624,10 +2588,10 @@ where } fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.actor.defs"), @@ -2864,9 +2828,11 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("items"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "A list of URIs of posts the account owner has hidden.", - )), + description: Some( + CowStr::new_static( + "A list of URIs of posts the account owner has hidden.", + ), + ), items: LexArrayItem::String(LexString { format: Some(LexStringFormat::AtUri), ..Default::default() @@ -2911,13 +2877,17 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("knownFollowers"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "The subject's followers whom you also follow", - )), - required: Some(vec![ - SmolStr::new_static("count"), - SmolStr::new_static("followers"), - ]), + description: Some( + CowStr::new_static( + "The subject's followers whom you also follow", + ), + ), + required: Some( + vec![ + SmolStr::new_static("count"), + SmolStr::new_static("followers") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2988,16 +2958,20 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("liveEventPreferences"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Preferences for live events.")), + description: Some( + CowStr::new_static("Preferences for live events."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("hiddenFeedIds"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "A list of feed IDs that the user has hidden from live events.", - )), + description: Some( + CowStr::new_static( + "A list of feed IDs that the user has hidden from live events.", + ), + ), items: LexArrayItem::String(LexString { ..Default::default() }), @@ -3107,9 +3081,11 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("items"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "A list of words the account owner has muted.", - )), + description: Some( + CowStr::new_static( + "A list of words the account owner has muted.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.bsky.actor.defs#mutedWord"), ..Default::default() @@ -3186,9 +3162,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("birthDate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The birth date of account owner.", - )), + description: Some( + CowStr::new_static("The birth date of account owner."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -3274,7 +3250,7 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { CowStr::new_static("#labelersPref"), CowStr::new_static("#postInteractionSettingsPref"), CowStr::new_static("#verificationPrefs"), - CowStr::new_static("#liveEventPreferences"), + CowStr::new_static("#liveEventPreferences") ], ..Default::default() }), @@ -3290,7 +3266,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("activitySubscription"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("#profileAssociatedActivitySubscription"), + r#ref: CowStr::new_static( + "#profileAssociatedActivitySubscription", + ), ..Default::default() }), ); @@ -3346,9 +3324,7 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("allowSubscriptions"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3364,15 +3340,11 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("allowGroupInvites"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("allowIncoming"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3382,10 +3354,12 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("profileAssociatedGerm"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("showButtonTo"), - SmolStr::new_static("messageMeUrl"), - ]), + required: Some( + vec![ + SmolStr::new_static("showButtonTo"), + SmolStr::new_static("messageMeUrl") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3398,9 +3372,7 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("showButtonTo"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3410,10 +3382,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("profileView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("handle")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3493,9 +3464,7 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("pronouns"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("status"), @@ -3526,10 +3495,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("profileViewBasic"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("handle")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3594,9 +3562,7 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("pronouns"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("status"), @@ -3627,10 +3593,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("profileViewDetailed"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("handle")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3751,9 +3716,7 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("pronouns"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("status"), @@ -3791,20 +3754,18 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("savedFeed"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("type"), - SmolStr::new_static("value"), - SmolStr::new_static("pinned"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("type"), + SmolStr::new_static("value"), SmolStr::new_static("pinned") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("pinned"), @@ -3814,15 +3775,11 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("value"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3832,10 +3789,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("savedFeedsPref"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("pinned"), - SmolStr::new_static("saved"), - ]), + required: Some( + vec![SmolStr::new_static("pinned"), SmolStr::new_static("saved")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3994,7 +3950,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sort"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Sorting mode for threads.")), + description: Some( + CowStr::new_static("Sorting mode for threads."), + ), ..Default::default() }), ); @@ -4006,9 +3964,11 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("verificationPrefs"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Preferences for how verified accounts appear in the app.", - )), + description: Some( + CowStr::new_static( + "Preferences for how verified accounts appear in the app.", + ), + ), required: Some(vec![]), properties: { #[allow(unused_mut)] @@ -4087,24 +4047,29 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("verificationView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "An individual verification for an associated subject.", - )), - required: Some(vec![ - SmolStr::new_static("issuer"), - SmolStr::new_static("uri"), - SmolStr::new_static("isValid"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static( + "An individual verification for an associated subject.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("issuer"), SmolStr::new_static("uri"), + SmolStr::new_static("isValid"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the verification was created.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the verification was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -4118,9 +4083,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("issuer"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The user who issued this verification.", - )), + description: Some( + CowStr::new_static("The user who issued this verification."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -4128,16 +4093,18 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("issuerDisplayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The display name of the issuer.", - )), + description: Some( + CowStr::new_static("The display name of the issuer."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("issuerHandle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The handle of the issuer.")), + description: Some( + CowStr::new_static("The handle of the issuer."), + ), format: Some(LexStringFormat::Handle), ..Default::default() }), @@ -4145,9 +4112,9 @@ fn lexicon_doc_app_bsky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The AT-URI of the verification record.", - )), + description: Some( + CowStr::new_static("The AT-URI of the verification record."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -4252,7 +4219,7 @@ fn _default_feed_view_pref_hide_replies_by_unfollowed() -> Option { pub mod hidden_posts_pref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4283,7 +4250,10 @@ pub mod hidden_posts_pref_state { } /// Builder for constructing an instance of this type. -pub struct HiddenPostsPrefBuilder { +pub struct HiddenPostsPrefBuilder< + St: hidden_posts_pref_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -4357,7 +4327,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> HiddenPostsPref { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> HiddenPostsPref { HiddenPostsPref { items: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -4367,7 +4340,7 @@ where pub mod interests_pref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4398,7 +4371,10 @@ pub mod interests_pref_state { } /// Builder for constructing an instance of this type. -pub struct InterestsPrefBuilder { +pub struct InterestsPrefBuilder< + St: interests_pref_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -4472,7 +4448,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> InterestsPref { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> InterestsPref { InterestsPref { tags: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -4482,7 +4461,7 @@ where pub mod known_followers_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4525,7 +4504,10 @@ pub mod known_followers_state { } /// Builder for constructing an instance of this type. -pub struct KnownFollowersBuilder { +pub struct KnownFollowersBuilder< + St: known_followers_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>>), _type: PhantomData S>, @@ -4620,7 +4602,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> KnownFollowers { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> KnownFollowers { KnownFollowers { count: self._fields.0.unwrap(), followers: self._fields.1.unwrap(), @@ -4631,7 +4616,7 @@ where pub mod labeler_pref_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4662,7 +4647,10 @@ pub mod labeler_pref_item_state { } /// Builder for constructing an instance of this type. -pub struct LabelerPrefItemBuilder { +pub struct LabelerPrefItemBuilder< + St: labeler_pref_item_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -4736,7 +4724,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LabelerPrefItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LabelerPrefItem { LabelerPrefItem { did: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -4746,7 +4737,7 @@ where pub mod labelers_pref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4851,7 +4842,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LabelersPref { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LabelersPref { LabelersPref { labelers: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -4875,7 +4869,7 @@ impl Default for LiveEventPreferences { pub mod muted_word_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4968,7 +4962,10 @@ impl MutedWordBuilder { impl MutedWordBuilder { /// Set the `actorTarget` field (optional) - pub fn actor_target(mut self, value: impl Into>>) -> Self { + pub fn actor_target( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -5061,7 +5058,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MutedWord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MutedWord { MutedWord { actor_target: self._fields.0, expires_at: self._fields.1, @@ -5075,7 +5075,7 @@ where pub mod muted_words_pref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5106,7 +5106,10 @@ pub mod muted_words_pref_state { } /// Builder for constructing an instance of this type. -pub struct MutedWordsPrefBuilder { +pub struct MutedWordsPrefBuilder< + St: muted_words_pref_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -5180,7 +5183,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MutedWordsPref { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MutedWordsPref { MutedWordsPref { items: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -5194,7 +5200,7 @@ fn _default_nux_completed() -> bool { pub mod nux_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5370,7 +5376,7 @@ where pub mod profile_associated_germ_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5418,23 +5424,26 @@ pub struct ProfileAssociatedGermBuilder< S: BosStr = DefaultStr, > { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - ), + _fields: (Option>, Option>), _type: PhantomData S>, } impl ProfileAssociatedGerm { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ProfileAssociatedGermBuilder { + pub fn new() -> ProfileAssociatedGermBuilder< + profile_associated_germ_state::Empty, + DefaultStr, + > { ProfileAssociatedGermBuilder::new() } } impl ProfileAssociatedGerm { /// Create a new builder for this type - pub fn builder() -> ProfileAssociatedGermBuilder { + pub fn builder() -> ProfileAssociatedGermBuilder< + profile_associated_germ_state::Empty, + S, + > { ProfileAssociatedGermBuilder::builder() } } @@ -5470,7 +5479,10 @@ where pub fn message_me_url( mut self, value: impl Into>, - ) -> ProfileAssociatedGermBuilder, S> { + ) -> ProfileAssociatedGermBuilder< + profile_associated_germ_state::SetMessageMeUrl, + S, + > { self._fields.0 = Option::Some(value.into()); ProfileAssociatedGermBuilder { _state: PhantomData, @@ -5489,7 +5501,10 @@ where pub fn show_button_to( mut self, value: impl Into>, - ) -> ProfileAssociatedGermBuilder, S> { + ) -> ProfileAssociatedGermBuilder< + profile_associated_germ_state::SetShowButtonTo, + S, + > { self._fields.1 = Option::Some(value.into()); ProfileAssociatedGermBuilder { _state: PhantomData, @@ -5528,7 +5543,7 @@ where pub mod profile_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5612,7 +5627,20 @@ impl ProfileViewBuilder { ProfileViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5625,7 +5653,20 @@ impl ProfileViewBuilder { ProfileViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5634,12 +5675,18 @@ impl ProfileViewBuilder { impl ProfileViewBuilder { /// Set the `associated` field (optional) - pub fn associated(mut self, value: impl Into>>) -> Self { + pub fn associated( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `associated` field to an Option value (optional) - pub fn maybe_associated(mut self, value: Option>) -> Self { + pub fn maybe_associated( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -5802,12 +5849,18 @@ impl ProfileViewBuilder { impl ProfileViewBuilder { /// Set the `verification` field (optional) - pub fn verification(mut self, value: impl Into>>) -> Self { + pub fn verification( + mut self, + value: impl Into>>, + ) -> Self { self._fields.12 = value.into(); self } /// Set the `verification` field to an Option value (optional) - pub fn maybe_verification(mut self, value: Option>) -> Self { + pub fn maybe_verification( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -5853,7 +5906,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ProfileView { ProfileView { associated: self._fields.0, avatar: self._fields.1, @@ -5876,7 +5932,7 @@ where pub mod profile_view_basic_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5919,7 +5975,10 @@ pub mod profile_view_basic_state { } /// Builder for constructing an instance of this type. -pub struct ProfileViewBasicBuilder { +pub struct ProfileViewBasicBuilder< + St: profile_view_basic_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -5940,7 +5999,10 @@ pub struct ProfileViewBasicBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ProfileViewBasicBuilder { + pub fn new() -> ProfileViewBasicBuilder< + profile_view_basic_state::Empty, + DefaultStr, + > { ProfileViewBasicBuilder::new() } } @@ -5958,7 +6020,18 @@ impl ProfileViewBasicBuilder { ProfileViewBasicBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5971,7 +6044,18 @@ impl ProfileViewBasicBuilder { ProfileViewBasicBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5980,12 +6064,18 @@ impl ProfileViewBasicBuilder { impl ProfileViewBasicBuilder { /// Set the `associated` field (optional) - pub fn associated(mut self, value: impl Into>>) -> Self { + pub fn associated( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `associated` field to an Option value (optional) - pub fn maybe_associated(mut self, value: Option>) -> Self { + pub fn maybe_associated( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -6122,12 +6212,18 @@ impl ProfileViewBasicBuilder ProfileViewBasicBuilder { /// Set the `verification` field (optional) - pub fn verification(mut self, value: impl Into>>) -> Self { + pub fn verification( + mut self, + value: impl Into>>, + ) -> Self { self._fields.10 = value.into(); self } /// Set the `verification` field to an Option value (optional) - pub fn maybe_verification(mut self, value: Option>) -> Self { + pub fn maybe_verification( + mut self, + value: Option>, + ) -> Self { self._fields.10 = value; self } @@ -6171,7 +6267,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileViewBasic { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ProfileViewBasic { ProfileViewBasic { associated: self._fields.0, avatar: self._fields.1, @@ -6192,7 +6291,7 @@ where pub mod profile_view_detailed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6268,14 +6367,20 @@ pub struct ProfileViewDetailedBuilder< impl ProfileViewDetailed { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ProfileViewDetailedBuilder { + pub fn new() -> ProfileViewDetailedBuilder< + profile_view_detailed_state::Empty, + DefaultStr, + > { ProfileViewDetailedBuilder::new() } } impl ProfileViewDetailed { /// Create a new builder for this type - pub fn builder() -> ProfileViewDetailedBuilder { + pub fn builder() -> ProfileViewDetailedBuilder< + profile_view_detailed_state::Empty, + S, + > { ProfileViewDetailedBuilder::builder() } } @@ -6286,8 +6391,27 @@ impl ProfileViewDetailedBuilder ProfileViewDetailedBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -6300,28 +6424,59 @@ impl ProfileViewDetailedBuilder ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `associated` field (optional) - pub fn associated(mut self, value: impl Into>>) -> Self { + pub fn associated( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `associated` field to an Option value (optional) - pub fn maybe_associated(mut self, value: Option>) -> Self { + pub fn maybe_associated( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `avatar` field (optional) pub fn avatar(mut self, value: impl Into>>) -> Self { self._fields.1 = value.into(); @@ -6334,7 +6489,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `banner` field (optional) pub fn banner(mut self, value: impl Into>>) -> Self { self._fields.2 = value.into(); @@ -6347,7 +6505,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `createdAt` field (optional) pub fn created_at(mut self, value: impl Into>) -> Self { self._fields.3 = value.into(); @@ -6360,7 +6521,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `debug` field (optional) pub fn debug(mut self, value: impl Into>>) -> Self { self._fields.4 = value.into(); @@ -6373,7 +6537,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `description` field (optional) pub fn description(mut self, value: impl Into>) -> Self { self._fields.5 = value.into(); @@ -6405,7 +6572,10 @@ where } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `displayName` field (optional) pub fn display_name(mut self, value: impl Into>) -> Self { self._fields.7 = value.into(); @@ -6418,7 +6588,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `followersCount` field (optional) pub fn followers_count(mut self, value: impl Into>) -> Self { self._fields.8 = value.into(); @@ -6431,7 +6604,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `followsCount` field (optional) pub fn follows_count(mut self, value: impl Into>) -> Self { self._fields.9 = value.into(); @@ -6463,7 +6639,10 @@ where } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `indexedAt` field (optional) pub fn indexed_at(mut self, value: impl Into>) -> Self { self._fields.11 = value.into(); @@ -6476,7 +6655,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `joinedViaStarterPack` field (optional) pub fn joined_via_starter_pack( mut self, @@ -6486,13 +6668,19 @@ impl ProfileViewDetailedBuild self } /// Set the `joinedViaStarterPack` field to an Option value (optional) - pub fn maybe_joined_via_starter_pack(mut self, value: Option>) -> Self { + pub fn maybe_joined_via_starter_pack( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `labels` field (optional) pub fn labels(mut self, value: impl Into>>>) -> Self { self._fields.13 = value.into(); @@ -6505,7 +6693,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `pinnedPost` field (optional) pub fn pinned_post(mut self, value: impl Into>>) -> Self { self._fields.14 = value.into(); @@ -6518,7 +6709,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `postsCount` field (optional) pub fn posts_count(mut self, value: impl Into>) -> Self { self._fields.15 = value.into(); @@ -6531,7 +6725,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `pronouns` field (optional) pub fn pronouns(mut self, value: impl Into>) -> Self { self._fields.16 = value.into(); @@ -6544,7 +6741,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `status` field (optional) pub fn status(mut self, value: impl Into>>) -> Self { self._fields.17 = value.into(); @@ -6557,20 +6757,32 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `verification` field (optional) - pub fn verification(mut self, value: impl Into>>) -> Self { + pub fn verification( + mut self, + value: impl Into>>, + ) -> Self { self._fields.18 = value.into(); self } /// Set the `verification` field to an Option value (optional) - pub fn maybe_verification(mut self, value: Option>) -> Self { + pub fn maybe_verification( + mut self, + value: Option>, + ) -> Self { self._fields.18 = value; self } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.19 = value.into(); @@ -6583,7 +6795,10 @@ impl ProfileViewDetailedBuild } } -impl ProfileViewDetailedBuilder { +impl< + St: profile_view_detailed_state::State, + S: BosStr, +> ProfileViewDetailedBuilder { /// Set the `website` field (optional) pub fn website(mut self, value: impl Into>>) -> Self { self._fields.20 = value.into(); @@ -6630,7 +6845,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileViewDetailed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ProfileViewDetailed { ProfileViewDetailed { associated: self._fields.0, avatar: self._fields.1, @@ -6660,7 +6878,7 @@ where pub mod saved_feed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6781,7 +6999,10 @@ where St::Id: saved_feed_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> SavedFeedBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> SavedFeedBuilder, S> { self._fields.0 = Option::Some(value.into()); SavedFeedBuilder { _state: PhantomData, @@ -6867,7 +7088,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SavedFeed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SavedFeed { SavedFeed { id: self._fields.0.unwrap(), pinned: self._fields.1.unwrap(), @@ -6880,7 +7104,7 @@ where pub mod saved_feeds_pref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6923,7 +7147,10 @@ pub mod saved_feeds_pref_state { } /// Builder for constructing an instance of this type. -pub struct SavedFeedsPrefBuilder { +pub struct SavedFeedsPrefBuilder< + St: saved_feeds_pref_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>, Option>>, Option), _type: PhantomData S>, @@ -7032,7 +7259,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SavedFeedsPref { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SavedFeedsPref { SavedFeedsPref { pinned: self._fields.0.unwrap(), saved: self._fields.1.unwrap(), @@ -7044,7 +7274,7 @@ where pub mod saved_feeds_pref_v2_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7075,7 +7305,10 @@ pub mod saved_feeds_pref_v2_state { } /// Builder for constructing an instance of this type. -pub struct SavedFeedsPrefV2Builder { +pub struct SavedFeedsPrefV2Builder< + St: saved_feeds_pref_v2_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -7083,7 +7316,10 @@ pub struct SavedFeedsPrefV2Builder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SavedFeedsPrefV2Builder { + pub fn new() -> SavedFeedsPrefV2Builder< + saved_feeds_pref_v2_state::Empty, + DefaultStr, + > { SavedFeedsPrefV2Builder::new() } } @@ -7149,7 +7385,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SavedFeedsPrefV2 { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SavedFeedsPrefV2 { SavedFeedsPrefV2 { items: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -7159,7 +7398,7 @@ where pub mod status_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7405,7 +7644,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> StatusView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> StatusView { StatusView { cid: self._fields.0, embed: self._fields.1, @@ -7436,7 +7678,7 @@ impl Default for VerificationPrefs { pub mod verification_state_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7493,7 +7735,10 @@ pub mod verification_state_state { } /// Builder for constructing an instance of this type. -pub struct VerificationStateBuilder { +pub struct VerificationStateBuilder< + St: verification_state_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -7505,7 +7750,10 @@ pub struct VerificationStateBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> VerificationStateBuilder { + pub fn new() -> VerificationStateBuilder< + verification_state_state::Empty, + DefaultStr, + > { VerificationStateBuilder::new() } } @@ -7548,7 +7796,10 @@ where pub fn trusted_verifier_status( mut self, value: impl Into>, - ) -> VerificationStateBuilder, S> { + ) -> VerificationStateBuilder< + verification_state_state::SetTrustedVerifierStatus, + S, + > { self._fields.0 = Option::Some(value.into()); VerificationStateBuilder { _state: PhantomData, @@ -7613,7 +7864,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> VerificationState { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> VerificationState { VerificationState { trusted_verifier_status: self._fields.0.unwrap(), verifications: self._fields.1.unwrap(), @@ -7625,7 +7879,7 @@ where pub mod verification_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7698,7 +7952,10 @@ pub mod verification_view_state { } /// Builder for constructing an instance of this type. -pub struct VerificationViewBuilder { +pub struct VerificationViewBuilder< + St: verification_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -7870,7 +8127,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> VerificationView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> VerificationView { VerificationView { created_at: self._fields.0.unwrap(), is_valid: self._fields.1.unwrap(), @@ -7881,4 +8141,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/get_preferences.rs b/crates/jacquard-api/src/app_bsky/actor/get_preferences.rs index 7ecd7da42..b313c969f 100644 --- a/crates/jacquard-api/src/app_bsky/actor/get_preferences.rs +++ b/crates/jacquard-api/src/app_bsky/actor/get_preferences.rs @@ -8,24 +8,21 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::Preferences; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::Preferences; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetPreferences; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPreferencesOutput { pub preferences: Preferences, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -58,4 +55,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPreferencesRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetPreferences; type Response = GetPreferencesResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/get_profile.rs b/crates/jacquard-api/src/app_bsky/actor/get_profile.rs index da4aa3b4e..9a632afe9 100644 --- a/crates/jacquard-api/src/app_bsky/actor/get_profile.rs +++ b/crates/jacquard-api/src/app_bsky/actor/get_profile.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfile { pub actor: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfileOutput { #[serde(flatten)] pub value: ProfileViewDetailed, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest { pub mod get_profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where actor: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/get_profiles.rs b/crates/jacquard-api/src/app_bsky/actor/get_profiles.rs index dfcf53d02..f9f17b6f2 100644 --- a/crates/jacquard-api/src/app_bsky/actor/get_profiles.rs +++ b/crates/jacquard-api/src/app_bsky/actor/get_profiles.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfiles { pub actors: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfilesOutput { pub profiles: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfilesRequest { pub mod get_profiles_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -171,4 +166,4 @@ where actors: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/get_suggestions.rs b/crates/jacquard-api/src/app_bsky/actor/get_suggestions.rs index a1d7311a1..69630e1ce 100644 --- a/crates/jacquard-api/src/app_bsky/actor/get_suggestions.rs +++ b/crates/jacquard-api/src/app_bsky/actor/get_suggestions.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestions { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetSuggestions { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestionsOutput { pub actors: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -84,7 +79,7 @@ fn _default_limit() -> Option { pub mod get_suggestions_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -102,7 +97,10 @@ pub mod get_suggestions_state { } /// Builder for constructing an instance of this type. -pub struct GetSuggestionsBuilder { +pub struct GetSuggestionsBuilder< + St: get_suggestions_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -181,4 +179,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/profile.rs b/crates/jacquard-api/src/app_bsky/actor/profile.rs index 44e4ebde2..ae41fad8b 100644 --- a/crates/jacquard-api/src/app_bsky/actor/profile.rs +++ b/crates/jacquard-api/src/app_bsky/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::label::SelfLabels; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::label::SelfLabels; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A declaration of a Bluesky account profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -140,20 +140,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -175,20 +180,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -266,7 +276,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -404,7 +414,10 @@ impl ProfileBuilder { impl ProfileBuilder { /// Set the `joinedViaStarterPack` field (optional) - pub fn joined_via_starter_pack(mut self, value: impl Into>>) -> Self { + pub fn joined_via_starter_pack( + mut self, + value: impl Into>>, + ) -> Self { self._fields.5 = value.into(); self } @@ -506,10 +519,10 @@ where } fn lexicon_doc_app_bsky_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.actor.profile"), @@ -617,4 +630,4 @@ fn lexicon_doc_app_bsky_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/put_preferences.rs b/crates/jacquard-api/src/app_bsky/actor/put_preferences.rs index ef940dda5..66da43e95 100644 --- a/crates/jacquard-api/src/app_bsky/actor/put_preferences.rs +++ b/crates/jacquard-api/src/app_bsky/actor/put_preferences.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::Preferences; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::Preferences; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutPreferences { pub preferences: Preferences, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for PutPreferencesResponse { impl jacquard_common::xrpc::XrpcRequest for PutPreferences { const NSID: &'static str = "app.bsky.actor.putPreferences"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutPreferencesResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.actor.putPreferences`. The request payload type is `PutPre pub struct PutPreferencesRequest; impl jacquard_common::xrpc::XrpcEndpoint for PutPreferencesRequest { const PATH: &'static str = "/xrpc/app.bsky.actor.putPreferences"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutPreferences; type Response = PutPreferencesResponse; } pub mod put_preferences_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -91,7 +90,10 @@ pub mod put_preferences_state { } /// Builder for constructing an instance of this type. -pub struct PutPreferencesBuilder { +pub struct PutPreferencesBuilder< + St: put_preferences_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -165,10 +167,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PutPreferences { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PutPreferences { PutPreferences { preferences: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/search_actors.rs b/crates/jacquard-api/src/app_bsky/actor/search_actors.rs index 6cab27b60..99e3021de 100644 --- a/crates/jacquard-api/src/app_bsky/actor/search_actors.rs +++ b/crates/jacquard-api/src/app_bsky/actor/search_actors.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchActors { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -35,11 +32,9 @@ pub struct SearchActors { pub term: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchActorsOutput { pub actors: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -82,7 +77,7 @@ fn _default_limit() -> Option { pub mod search_actors_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -207,4 +202,4 @@ where term: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/search_actors_typeahead.rs b/crates/jacquard-api/src/app_bsky/actor/search_actors_typeahead.rs index 4f37aef31..45acee059 100644 --- a/crates/jacquard-api/src/app_bsky/actor/search_actors_typeahead.rs +++ b/crates/jacquard-api/src/app_bsky/actor/search_actors_typeahead.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchActorsTypeahead { /// Defaults to `10`. Min: 1. Max: 100. #[serde(default = "_default_limit")] @@ -33,11 +30,9 @@ pub struct SearchActorsTypeahead { pub term: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchActorsTypeaheadOutput { pub actors: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod search_actors_typeahead_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -107,14 +102,20 @@ pub struct SearchActorsTypeaheadBuilder< impl SearchActorsTypeahead { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SearchActorsTypeaheadBuilder { + pub fn new() -> SearchActorsTypeaheadBuilder< + search_actors_typeahead_state::Empty, + DefaultStr, + > { SearchActorsTypeaheadBuilder::new() } } impl SearchActorsTypeahead { /// Create a new builder for this type - pub fn builder() -> SearchActorsTypeaheadBuilder { + pub fn builder() -> SearchActorsTypeaheadBuilder< + search_actors_typeahead_state::Empty, + S, + > { SearchActorsTypeaheadBuilder::builder() } } @@ -141,7 +142,10 @@ impl SearchActorsTypeaheadBuilder SearchActorsTypeaheadBuilder { +impl< + St: search_actors_typeahead_state::State, + S: BosStr, +> SearchActorsTypeaheadBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -154,7 +158,10 @@ impl SearchActorsTypeaheadB } } -impl SearchActorsTypeaheadBuilder { +impl< + St: search_actors_typeahead_state::State, + S: BosStr, +> SearchActorsTypeaheadBuilder { /// Set the `q` field (optional) pub fn q(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -167,7 +174,10 @@ impl SearchActorsTypeaheadB } } -impl SearchActorsTypeaheadBuilder { +impl< + St: search_actors_typeahead_state::State, + S: BosStr, +> SearchActorsTypeaheadBuilder { /// Set the `term` field (optional) pub fn term(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -192,4 +202,4 @@ where term: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/actor/status.rs b/crates/jacquard-api/src/app_bsky/actor/status.rs index d7e7b6553..16b3f332b 100644 --- a/crates/jacquard-api/src/app_bsky/actor/status.rs +++ b/crates/jacquard-api/src/app_bsky/actor/status.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::embed::external::ExternalRecord; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::embed::external::ExternalRecord; /// Advertises an account as currently offering live content. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -206,7 +206,7 @@ impl LexiconSchema for Status { pub mod status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -389,10 +389,10 @@ where } fn lexicon_doc_app_bsky_actor_status() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.actor.status"), @@ -400,22 +400,22 @@ fn lexicon_doc_app_bsky_actor_status() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("live"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a Bluesky account status.", - )), + description: Some( + CowStr::new_static("A declaration of a Bluesky account status."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("status"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("status"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -436,9 +436,11 @@ fn lexicon_doc_app_bsky_actor_status() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("embed"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static( - "An optional embed associated with the status.", - )), + description: Some( + CowStr::new_static( + "An optional embed associated with the status.", + ), + ), refs: vec![CowStr::new_static("app.bsky.embed.external")], ..Default::default() }), @@ -446,9 +448,9 @@ fn lexicon_doc_app_bsky_actor_status() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("status"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The status for the account.", - )), + description: Some( + CowStr::new_static("The status for the account."), + ), ..Default::default() }), ); @@ -463,4 +465,4 @@ fn lexicon_doc_app_bsky_actor_status() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/ageassurance.rs b/crates/jacquard-api/src/app_bsky/ageassurance.rs index 891ba8a8b..37725428b 100644 --- a/crates/jacquard-api/src/app_bsky/ageassurance.rs +++ b/crates/jacquard-api/src/app_bsky/ageassurance.rs @@ -10,12 +10,13 @@ pub mod begin; pub mod get_config; pub mod get_state; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,10 +27,10 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::ageassurance; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::ageassurance; /// The access level granted based on Age Assurance data we've processed. #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -111,13 +112,9 @@ where } } -/// #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Config { ///The per-region Age Assurance configuration. pub regions: Vec>, @@ -128,10 +125,7 @@ pub struct Config { /// The Age Assurance configuration for a specific region. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegion { ///The ISO 3166-1 alpha-2 country code this configuration applies to. pub country_code: S, @@ -146,6 +140,7 @@ pub struct ConfigRegion { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -153,26 +148,35 @@ pub enum ConfigRegionRulesItem { #[serde(rename = "app.bsky.ageassurance.defs#configRegionRuleDefault")] ConfigRegionRuleDefault(Box>), #[serde(rename = "app.bsky.ageassurance.defs#configRegionRuleIfDeclaredOverAge")] - ConfigRegionRuleIfDeclaredOverAge(Box>), + ConfigRegionRuleIfDeclaredOverAge( + Box>, + ), #[serde(rename = "app.bsky.ageassurance.defs#configRegionRuleIfDeclaredUnderAge")] - ConfigRegionRuleIfDeclaredUnderAge(Box>), + ConfigRegionRuleIfDeclaredUnderAge( + Box>, + ), #[serde(rename = "app.bsky.ageassurance.defs#configRegionRuleIfAssuredOverAge")] - ConfigRegionRuleIfAssuredOverAge(Box>), + ConfigRegionRuleIfAssuredOverAge( + Box>, + ), #[serde(rename = "app.bsky.ageassurance.defs#configRegionRuleIfAssuredUnderAge")] - ConfigRegionRuleIfAssuredUnderAge(Box>), + ConfigRegionRuleIfAssuredUnderAge( + Box>, + ), #[serde(rename = "app.bsky.ageassurance.defs#configRegionRuleIfAccountNewerThan")] - ConfigRegionRuleIfAccountNewerThan(Box>), + ConfigRegionRuleIfAccountNewerThan( + Box>, + ), #[serde(rename = "app.bsky.ageassurance.defs#configRegionRuleIfAccountOlderThan")] - ConfigRegionRuleIfAccountOlderThan(Box>), + ConfigRegionRuleIfAccountOlderThan( + Box>, + ), } /// Age Assurance rule that applies by default. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegionRuleDefault { pub access: ageassurance::Access, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -182,10 +186,7 @@ pub struct ConfigRegionRuleDefault { /// Age Assurance rule that applies if the account is equal-to or newer than a certain date. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegionRuleIfAccountNewerThan { pub access: ageassurance::Access, ///The date threshold as a datetime string. @@ -197,10 +198,7 @@ pub struct ConfigRegionRuleIfAccountNewerThan { /// Age Assurance rule that applies if the account is older than a certain date. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegionRuleIfAccountOlderThan { pub access: ageassurance::Access, ///The date threshold as a datetime string. @@ -212,10 +210,7 @@ pub struct ConfigRegionRuleIfAccountOlderThan { /// Age Assurance rule that applies if the user has been assured to be equal-to or over a certain age. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegionRuleIfAssuredOverAge { pub access: ageassurance::Access, ///The age threshold as a whole integer. @@ -227,10 +222,7 @@ pub struct ConfigRegionRuleIfAssuredOverAge { /// Age Assurance rule that applies if the user has been assured to be under a certain age. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegionRuleIfAssuredUnderAge { pub access: ageassurance::Access, ///The age threshold as a whole integer. @@ -242,10 +234,7 @@ pub struct ConfigRegionRuleIfAssuredUnderAge { /// Age Assurance rule that applies if the user has declared themselves equal-to or over a certain age. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegionRuleIfDeclaredOverAge { pub access: ageassurance::Access, ///The age threshold as a whole integer. @@ -257,10 +246,7 @@ pub struct ConfigRegionRuleIfDeclaredOverAge { /// Age Assurance rule that applies if the user has declared themselves under a certain age. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfigRegionRuleIfDeclaredUnderAge { pub access: ageassurance::Access, ///The age threshold as a whole integer. @@ -272,10 +258,7 @@ pub struct ConfigRegionRuleIfDeclaredUnderAge { /// Object used to store Age Assurance data in stash. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Event { ///The access level granted based on Age Assurance data we've processed. pub access: EventAccess, @@ -486,10 +469,7 @@ where /// The user's computed Age Assurance state. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct State { pub access: ageassurance::Access, ///The timestamp when this state was last updated. @@ -503,10 +483,7 @@ pub struct State { /// Additional metadata needed to compute Age Assurance state client-side. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StateMetadata { ///The account creation timestamp. #[serde(skip_serializing_if = "Option::is_none")] @@ -778,7 +755,7 @@ impl LexiconSchema for StateMetadata { pub mod config_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -892,10 +869,10 @@ where } fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.ageassurance.defs"), @@ -904,9 +881,11 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("access"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "The access level granted based on Age Assurance data we've processed.", - )), + description: Some( + CowStr::new_static( + "The access level granted based on Age Assurance data we've processed.", + ), + ), ..Default::default() }), ); @@ -921,9 +900,11 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("regions"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "The per-region Age Assurance configuration.", - )), + description: Some( + CowStr::new_static( + "The per-region Age Assurance configuration.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static( "app.bsky.ageassurance.defs#configRegion", @@ -1015,9 +996,9 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("configRegionRuleDefault"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Age Assurance rule that applies by default.", - )), + description: Some( + CowStr::new_static("Age Assurance rule that applies by default."), + ), required: Some(vec![SmolStr::new_static("access")]), properties: { #[allow(unused_mut)] @@ -1025,7 +1006,9 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("access"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.ageassurance.defs#access"), + r#ref: CowStr::new_static( + "app.bsky.ageassurance.defs#access", + ), ..Default::default() }), ); @@ -1397,29 +1380,34 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("state"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "The user's computed Age Assurance state.", - )), - required: Some(vec![ - SmolStr::new_static("status"), - SmolStr::new_static("access"), - ]), + description: Some( + CowStr::new_static("The user's computed Age Assurance state."), + ), + required: Some( + vec![ + SmolStr::new_static("status"), SmolStr::new_static("access") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("access"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.ageassurance.defs#access"), + r#ref: CowStr::new_static( + "app.bsky.ageassurance.defs#access", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("lastInitiatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The timestamp when this state was last updated.", - )), + description: Some( + CowStr::new_static( + "The timestamp when this state was last updated.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1427,7 +1415,9 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("status"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.ageassurance.defs#status"), + r#ref: CowStr::new_static( + "app.bsky.ageassurance.defs#status", + ), ..Default::default() }), ); @@ -1439,9 +1429,11 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("stateMetadata"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Additional metadata needed to compute Age Assurance state client-side.", - )), + description: Some( + CowStr::new_static( + "Additional metadata needed to compute Age Assurance state client-side.", + ), + ), required: Some(vec![]), properties: { #[allow(unused_mut)] @@ -1449,9 +1441,9 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("accountCreatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The account creation timestamp.", - )), + description: Some( + CowStr::new_static("The account creation timestamp."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1464,9 +1456,9 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("status"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "The status of the Age Assurance process.", - )), + description: Some( + CowStr::new_static("The status of the Age Assurance process."), + ), ..Default::default() }), ); @@ -1478,7 +1470,7 @@ fn lexicon_doc_app_bsky_ageassurance_defs() -> LexiconDoc<'static> { pub mod config_region_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1537,12 +1529,7 @@ pub mod config_region_state { /// Builder for constructing an instance of this type. pub struct ConfigRegionBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option>>, - ), + _fields: (Option, Option, Option, Option>>), _type: PhantomData S>, } @@ -1670,7 +1657,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ConfigRegion { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ConfigRegion { ConfigRegion { country_code: self._fields.0.unwrap(), min_access_age: self._fields.1.unwrap(), @@ -1683,7 +1673,7 @@ where pub mod config_region_rule_default_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1725,20 +1715,28 @@ pub struct ConfigRegionRuleDefaultBuilder< impl ConfigRegionRuleDefault { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> ConfigRegionRuleDefaultBuilder { + pub fn new() -> ConfigRegionRuleDefaultBuilder< + config_region_rule_default_state::Empty, + DefaultStr, + > { ConfigRegionRuleDefaultBuilder::new() } } impl ConfigRegionRuleDefault { /// Create a new builder for this type - pub fn builder() -> ConfigRegionRuleDefaultBuilder { + pub fn builder() -> ConfigRegionRuleDefaultBuilder< + config_region_rule_default_state::Empty, + S, + > { ConfigRegionRuleDefaultBuilder::builder() } } -impl ConfigRegionRuleDefaultBuilder { +impl ConfigRegionRuleDefaultBuilder< + config_region_rule_default_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ConfigRegionRuleDefaultBuilder { @@ -1749,7 +1747,9 @@ impl ConfigRegionRuleDefaultBuilder ConfigRegionRuleDefaultBuilder { +impl< + S: BosStr, +> ConfigRegionRuleDefaultBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { ConfigRegionRuleDefaultBuilder { @@ -1769,7 +1769,10 @@ where pub fn access( mut self, value: impl Into>, - ) -> ConfigRegionRuleDefaultBuilder, S> { + ) -> ConfigRegionRuleDefaultBuilder< + config_region_rule_default_state::SetAccess, + S, + > { self._fields.0 = Option::Some(value.into()); ConfigRegionRuleDefaultBuilder { _state: PhantomData, @@ -1805,7 +1808,7 @@ where pub mod config_region_rule_if_account_newer_than_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1877,12 +1880,10 @@ impl ConfigRegionRuleIfAccountNewerThan { } } -impl - ConfigRegionRuleIfAccountNewerThanBuilder< - config_region_rule_if_account_newer_than_state::Empty, - DefaultStr, - > -{ +impl ConfigRegionRuleIfAccountNewerThanBuilder< + config_region_rule_if_account_newer_than_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ConfigRegionRuleIfAccountNewerThanBuilder { @@ -1893,12 +1894,12 @@ impl } } -impl - ConfigRegionRuleIfAccountNewerThanBuilder< - config_region_rule_if_account_newer_than_state::Empty, - S, - > -{ +impl< + S: BosStr, +> ConfigRegionRuleIfAccountNewerThanBuilder< + config_region_rule_if_account_newer_than_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { ConfigRegionRuleIfAccountNewerThanBuilder { @@ -1982,7 +1983,7 @@ where pub mod config_region_rule_if_account_older_than_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2054,12 +2055,10 @@ impl ConfigRegionRuleIfAccountOlderThan { } } -impl - ConfigRegionRuleIfAccountOlderThanBuilder< - config_region_rule_if_account_older_than_state::Empty, - DefaultStr, - > -{ +impl ConfigRegionRuleIfAccountOlderThanBuilder< + config_region_rule_if_account_older_than_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ConfigRegionRuleIfAccountOlderThanBuilder { @@ -2070,12 +2069,12 @@ impl } } -impl - ConfigRegionRuleIfAccountOlderThanBuilder< - config_region_rule_if_account_older_than_state::Empty, - S, - > -{ +impl< + S: BosStr, +> ConfigRegionRuleIfAccountOlderThanBuilder< + config_region_rule_if_account_older_than_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { ConfigRegionRuleIfAccountOlderThanBuilder { @@ -2159,7 +2158,7 @@ where pub mod config_region_rule_if_assured_over_age_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2231,12 +2230,10 @@ impl ConfigRegionRuleIfAssuredOverAge { } } -impl - ConfigRegionRuleIfAssuredOverAgeBuilder< - config_region_rule_if_assured_over_age_state::Empty, - DefaultStr, - > -{ +impl ConfigRegionRuleIfAssuredOverAgeBuilder< + config_region_rule_if_assured_over_age_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ConfigRegionRuleIfAssuredOverAgeBuilder { @@ -2247,9 +2244,12 @@ impl } } -impl - ConfigRegionRuleIfAssuredOverAgeBuilder -{ +impl< + S: BosStr, +> ConfigRegionRuleIfAssuredOverAgeBuilder< + config_region_rule_if_assured_over_age_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { ConfigRegionRuleIfAssuredOverAgeBuilder { @@ -2333,7 +2333,7 @@ where pub mod config_region_rule_if_assured_under_age_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2405,12 +2405,10 @@ impl ConfigRegionRuleIfAssuredUnderAge { } } -impl - ConfigRegionRuleIfAssuredUnderAgeBuilder< - config_region_rule_if_assured_under_age_state::Empty, - DefaultStr, - > -{ +impl ConfigRegionRuleIfAssuredUnderAgeBuilder< + config_region_rule_if_assured_under_age_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ConfigRegionRuleIfAssuredUnderAgeBuilder { @@ -2421,12 +2419,12 @@ impl } } -impl - ConfigRegionRuleIfAssuredUnderAgeBuilder< - config_region_rule_if_assured_under_age_state::Empty, - S, - > -{ +impl< + S: BosStr, +> ConfigRegionRuleIfAssuredUnderAgeBuilder< + config_region_rule_if_assured_under_age_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { ConfigRegionRuleIfAssuredUnderAgeBuilder { @@ -2510,7 +2508,7 @@ where pub mod config_region_rule_if_declared_over_age_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2582,12 +2580,10 @@ impl ConfigRegionRuleIfDeclaredOverAge { } } -impl - ConfigRegionRuleIfDeclaredOverAgeBuilder< - config_region_rule_if_declared_over_age_state::Empty, - DefaultStr, - > -{ +impl ConfigRegionRuleIfDeclaredOverAgeBuilder< + config_region_rule_if_declared_over_age_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ConfigRegionRuleIfDeclaredOverAgeBuilder { @@ -2598,12 +2594,12 @@ impl } } -impl - ConfigRegionRuleIfDeclaredOverAgeBuilder< - config_region_rule_if_declared_over_age_state::Empty, - S, - > -{ +impl< + S: BosStr, +> ConfigRegionRuleIfDeclaredOverAgeBuilder< + config_region_rule_if_declared_over_age_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { ConfigRegionRuleIfDeclaredOverAgeBuilder { @@ -2687,7 +2683,7 @@ where pub mod config_region_rule_if_declared_under_age_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2759,12 +2755,10 @@ impl ConfigRegionRuleIfDeclaredUnderAge { } } -impl - ConfigRegionRuleIfDeclaredUnderAgeBuilder< - config_region_rule_if_declared_under_age_state::Empty, - DefaultStr, - > -{ +impl ConfigRegionRuleIfDeclaredUnderAgeBuilder< + config_region_rule_if_declared_under_age_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ConfigRegionRuleIfDeclaredUnderAgeBuilder { @@ -2775,12 +2769,12 @@ impl } } -impl - ConfigRegionRuleIfDeclaredUnderAgeBuilder< - config_region_rule_if_declared_under_age_state::Empty, - S, - > -{ +impl< + S: BosStr, +> ConfigRegionRuleIfDeclaredUnderAgeBuilder< + config_region_rule_if_declared_under_age_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { ConfigRegionRuleIfDeclaredUnderAgeBuilder { @@ -2864,7 +2858,7 @@ where pub mod event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2992,9 +2986,7 @@ impl EventBuilder { pub fn new() -> Self { EventBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -3005,9 +2997,7 @@ impl EventBuilder { pub fn builder() -> Self { EventBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -3233,7 +3223,7 @@ where pub mod state_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3397,4 +3387,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/ageassurance/begin.rs b/crates/jacquard-api/src/app_bsky/ageassurance/begin.rs index d4ac8f0ef..753b37089 100644 --- a/crates/jacquard-api/src/app_bsky/ageassurance/begin.rs +++ b/crates/jacquard-api/src/app_bsky/ageassurance/begin.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::ageassurance::State; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::ageassurance::State; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Begin { ///An ISO 3166-1 alpha-2 code of the user's location. pub country_code: S, @@ -36,11 +33,9 @@ pub struct Begin { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BeginOutput { #[serde(flatten)] pub value: State, @@ -48,9 +43,18 @@ pub struct BeginOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum BeginError { #[serde(rename = "InvalidEmail")] @@ -63,10 +67,7 @@ pub enum BeginError { RegionNotSupported(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for BeginError { @@ -124,8 +125,9 @@ impl jacquard_common::xrpc::XrpcResp for BeginResponse { impl jacquard_common::xrpc::XrpcRequest for Begin { const NSID: &'static str = "app.bsky.ageassurance.begin"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = BeginResponse; } @@ -135,8 +137,9 @@ Path: `/xrpc/app.bsky.ageassurance.begin`. The request payload type is `Begin pub struct BeginRequest; impl jacquard_common::xrpc::XrpcEndpoint for BeginRequest { const PATH: &'static str = "/xrpc/app.bsky.ageassurance.begin"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Begin; type Response = BeginResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/ageassurance/get_config.rs b/crates/jacquard-api/src/app_bsky/ageassurance/get_config.rs index 899141afe..c5cc9baf5 100644 --- a/crates/jacquard-api/src/app_bsky/ageassurance/get_config.rs +++ b/crates/jacquard-api/src/app_bsky/ageassurance/get_config.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::ageassurance::Config; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::ageassurance::Config; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConfigOutput { #[serde(flatten)] pub value: Config, @@ -61,4 +58,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConfigRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetConfig; type Response = GetConfigResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/ageassurance/get_state.rs b/crates/jacquard-api/src/app_bsky/ageassurance/get_state.rs index 6b4241796..7b04b6dbf 100644 --- a/crates/jacquard-api/src/app_bsky/ageassurance/get_state.rs +++ b/crates/jacquard-api/src/app_bsky/ageassurance/get_state.rs @@ -8,32 +8,27 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::ageassurance::State; -use crate::app_bsky::ageassurance::StateMetadata; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::ageassurance::State; +use crate::app_bsky::ageassurance::StateMetadata; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetState { pub country_code: S, #[serde(skip_serializing_if = "Option::is_none")] pub region_code: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStateOutput { pub metadata: StateMetadata, pub state: State, @@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStateRequest { pub mod get_state_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -188,4 +183,4 @@ where region_code: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_create_posts.rs b/crates/jacquard-api/src/app_bsky/auth_create_posts.rs index ae5f0d377..d0c4c6706 100644 --- a/crates/jacquard-api/src/app_bsky/auth_create_posts.rs +++ b/crates/jacquard-api/src/app_bsky/auth_create_posts.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_delete_content.rs b/crates/jacquard-api/src/app_bsky/auth_delete_content.rs index 531a9c532..01d83ef1e 100644 --- a/crates/jacquard-api/src/app_bsky/auth_delete_content.rs +++ b/crates/jacquard-api/src/app_bsky/auth_delete_content.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_full_app.rs b/crates/jacquard-api/src/app_bsky/auth_full_app.rs index 9357bfad4..226cde551 100644 --- a/crates/jacquard-api/src/app_bsky/auth_full_app.rs +++ b/crates/jacquard-api/src/app_bsky/auth_full_app.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_manage_feed_declarations.rs b/crates/jacquard-api/src/app_bsky/auth_manage_feed_declarations.rs index 0fa672f42..a1e944b50 100644 --- a/crates/jacquard-api/src/app_bsky/auth_manage_feed_declarations.rs +++ b/crates/jacquard-api/src/app_bsky/auth_manage_feed_declarations.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_manage_labeler_service.rs b/crates/jacquard-api/src/app_bsky/auth_manage_labeler_service.rs index 90f44a33c..77687c628 100644 --- a/crates/jacquard-api/src/app_bsky/auth_manage_labeler_service.rs +++ b/crates/jacquard-api/src/app_bsky/auth_manage_labeler_service.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_manage_moderation.rs b/crates/jacquard-api/src/app_bsky/auth_manage_moderation.rs index bef94e02c..6b15af5a4 100644 --- a/crates/jacquard-api/src/app_bsky/auth_manage_moderation.rs +++ b/crates/jacquard-api/src/app_bsky/auth_manage_moderation.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_manage_notifications.rs b/crates/jacquard-api/src/app_bsky/auth_manage_notifications.rs index a78ce1790..ab4dab550 100644 --- a/crates/jacquard-api/src/app_bsky/auth_manage_notifications.rs +++ b/crates/jacquard-api/src/app_bsky/auth_manage_notifications.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_manage_profile.rs b/crates/jacquard-api/src/app_bsky/auth_manage_profile.rs index 2bdbddc74..e41055a8b 100644 --- a/crates/jacquard-api/src/app_bsky/auth_manage_profile.rs +++ b/crates/jacquard-api/src/app_bsky/auth_manage_profile.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/auth_view_all.rs b/crates/jacquard-api/src/app_bsky/auth_view_all.rs index 7c6863fe5..dfc155be2 100644 --- a/crates/jacquard-api/src/app_bsky/auth_view_all.rs +++ b/crates/jacquard-api/src/app_bsky/auth_view_all.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/bookmark.rs b/crates/jacquard-api/src/app_bsky/bookmark.rs index ddb7c9114..91506019d 100644 --- a/crates/jacquard-api/src/app_bsky/bookmark.rs +++ b/crates/jacquard-api/src/app_bsky/bookmark.rs @@ -10,6 +10,7 @@ pub mod create_bookmark; pub mod delete_bookmark; pub mod get_bookmarks; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -26,20 +27,17 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::feed::BlockedPost; use crate::app_bsky::feed::NotFoundPost; use crate::app_bsky::feed::PostView; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Object used to store bookmark data in stash. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Bookmark { ///A strong ref to the record to be bookmarked. Currently, only `app.bsky.feed.post` records are supported. pub subject: StrongRef, @@ -47,11 +45,9 @@ pub struct Bookmark { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BookmarkView { #[serde(skip_serializing_if = "Option::is_none")] pub created_at: Option, @@ -62,6 +58,7 @@ pub struct BookmarkView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -106,7 +103,7 @@ impl LexiconSchema for BookmarkView { pub mod bookmark_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -220,10 +217,10 @@ where } fn lexicon_doc_app_bsky_bookmark_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.bookmark.defs"), @@ -232,9 +229,11 @@ fn lexicon_doc_app_bsky_bookmark_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bookmark"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Object used to store bookmark data in stash.", - )), + description: Some( + CowStr::new_static( + "Object used to store bookmark data in stash.", + ), + ), required: Some(vec![SmolStr::new_static("subject")]), properties: { #[allow(unused_mut)] @@ -254,10 +253,9 @@ fn lexicon_doc_app_bsky_bookmark_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bookmarkView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("item"), - ]), + required: Some( + vec![SmolStr::new_static("subject"), SmolStr::new_static("item")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -274,7 +272,7 @@ fn lexicon_doc_app_bsky_bookmark_defs() -> LexiconDoc<'static> { refs: vec![ CowStr::new_static("app.bsky.feed.defs#blockedPost"), CowStr::new_static("app.bsky.feed.defs#notFoundPost"), - CowStr::new_static("app.bsky.feed.defs#postView"), + CowStr::new_static("app.bsky.feed.defs#postView") ], ..Default::default() }), @@ -299,7 +297,7 @@ fn lexicon_doc_app_bsky_bookmark_defs() -> LexiconDoc<'static> { pub mod bookmark_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -344,11 +342,7 @@ pub mod bookmark_view_state { /// Builder for constructing an instance of this type. pub struct BookmarkViewBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - ), + _fields: (Option, Option>, Option>), _type: PhantomData S>, } @@ -455,7 +449,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BookmarkView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BookmarkView { BookmarkView { created_at: self._fields.0, item: self._fields.1.unwrap(), @@ -463,4 +460,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/bookmark/create_bookmark.rs b/crates/jacquard-api/src/app_bsky/bookmark/create_bookmark.rs index 2d17fbbc3..f1ef94c43 100644 --- a/crates/jacquard-api/src/app_bsky/bookmark/create_bookmark.rs +++ b/crates/jacquard-api/src/app_bsky/bookmark/create_bookmark.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateBookmark { pub cid: Cid, pub uri: AtUri, @@ -29,9 +26,18 @@ pub struct CreateBookmark { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateBookmarkError { /// The URI to be bookmarked is for an unsupported collection. @@ -39,10 +45,7 @@ pub enum CreateBookmarkError { UnsupportedCollection(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateBookmarkError { @@ -79,8 +82,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateBookmarkResponse { impl jacquard_common::xrpc::XrpcRequest for CreateBookmark { const NSID: &'static str = "app.bsky.bookmark.createBookmark"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateBookmarkResponse; } @@ -90,15 +94,16 @@ Path: `/xrpc/app.bsky.bookmark.createBookmark`. The request payload type is `Cre pub struct CreateBookmarkRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateBookmarkRequest { const PATH: &'static str = "/xrpc/app.bsky.bookmark.createBookmark"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateBookmark; type Response = CreateBookmarkResponse; } pub mod create_bookmark_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -141,7 +146,10 @@ pub mod create_bookmark_state { } /// Builder for constructing an instance of this type. -pub struct CreateBookmarkBuilder { +pub struct CreateBookmarkBuilder< + St: create_bookmark_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -236,11 +244,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateBookmark { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateBookmark { CreateBookmark { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/bookmark/delete_bookmark.rs b/crates/jacquard-api/src/app_bsky/bookmark/delete_bookmark.rs index 54f3ae3fb..b1cdc158b 100644 --- a/crates/jacquard-api/src/app_bsky/bookmark/delete_bookmark.rs +++ b/crates/jacquard-api/src/app_bsky/bookmark/delete_bookmark.rs @@ -10,27 +10,33 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteBookmark { pub uri: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteBookmarkError { /// The URI to be bookmarked is for an unsupported collection. @@ -38,10 +44,7 @@ pub enum DeleteBookmarkError { UnsupportedCollection(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteBookmarkError { @@ -78,8 +81,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteBookmarkResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteBookmark { const NSID: &'static str = "app.bsky.bookmark.deleteBookmark"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteBookmarkResponse; } @@ -89,15 +93,16 @@ Path: `/xrpc/app.bsky.bookmark.deleteBookmark`. The request payload type is `Del pub struct DeleteBookmarkRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteBookmarkRequest { const PATH: &'static str = "/xrpc/app.bsky.bookmark.deleteBookmark"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteBookmark; type Response = DeleteBookmarkResponse; } pub mod delete_bookmark_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -128,7 +133,10 @@ pub mod delete_bookmark_state { } /// Builder for constructing an instance of this type. -pub struct DeleteBookmarkBuilder { +pub struct DeleteBookmarkBuilder< + St: delete_bookmark_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -202,10 +210,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteBookmark { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteBookmark { DeleteBookmark { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/bookmark/get_bookmarks.rs b/crates/jacquard-api/src/app_bsky/bookmark/get_bookmarks.rs index 80a7996eb..f76ea118e 100644 --- a/crates/jacquard-api/src/app_bsky/bookmark/get_bookmarks.rs +++ b/crates/jacquard-api/src/app_bsky/bookmark/get_bookmarks.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::bookmark::BookmarkView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::bookmark::BookmarkView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBookmarks { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetBookmarks { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBookmarksOutput { pub bookmarks: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_bookmarks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -175,4 +170,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact.rs b/crates/jacquard-api/src/app_bsky/contact.rs index c2a15ea8b..e80fc1a8a 100644 --- a/crates/jacquard-api/src/app_bsky/contact.rs +++ b/crates/jacquard-api/src/app_bsky/contact.rs @@ -15,6 +15,7 @@ pub mod send_notification; pub mod start_phone_verification; pub mod verify_phone; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -25,23 +26,20 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; /// Associates a profile with the positional index of the contact import input in the call to `app.bsky.contact.importContacts`, so clients can know which phone caused a particular match. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MatchAndContactIndex { ///The index of this match in the import contact input. pub contact_index: i64, @@ -54,10 +52,7 @@ pub struct MatchAndContactIndex { /// A stash object to be sent via bsync representing a notification to be created. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Notification { ///The DID of who this notification comes from. pub from: Did, @@ -67,11 +62,9 @@ pub struct Notification { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SyncStatus { ///Number of existing contact matches resulting of the user imports and of their imported contacts having imported the user. Matches stop being counted when the user either follows the matched contact or dismisses the match. pub matches_count: i64, @@ -158,7 +151,7 @@ impl LexiconSchema for SyncStatus { pub mod match_and_contact_index_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,14 +205,20 @@ pub struct MatchAndContactIndexBuilder< impl MatchAndContactIndex { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> MatchAndContactIndexBuilder { + pub fn new() -> MatchAndContactIndexBuilder< + match_and_contact_index_state::Empty, + DefaultStr, + > { MatchAndContactIndexBuilder::new() } } impl MatchAndContactIndex { /// Create a new builder for this type - pub fn builder() -> MatchAndContactIndexBuilder { + pub fn builder() -> MatchAndContactIndexBuilder< + match_and_contact_index_state::Empty, + S, + > { MatchAndContactIndexBuilder::builder() } } @@ -255,7 +254,10 @@ where pub fn contact_index( mut self, value: impl Into, - ) -> MatchAndContactIndexBuilder, S> { + ) -> MatchAndContactIndexBuilder< + match_and_contact_index_state::SetContactIndex, + S, + > { self._fields.0 = Option::Some(value.into()); MatchAndContactIndexBuilder { _state: PhantomData, @@ -312,10 +314,10 @@ where } fn lexicon_doc_app_bsky_contact_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.contact.defs"), @@ -406,10 +408,12 @@ fn lexicon_doc_app_bsky_contact_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("syncStatus"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("syncedAt"), - SmolStr::new_static("matchesCount"), - ]), + required: Some( + vec![ + SmolStr::new_static("syncedAt"), + SmolStr::new_static("matchesCount") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -423,9 +427,11 @@ fn lexicon_doc_app_bsky_contact_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("syncedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Last date when contacts where imported.", - )), + description: Some( + CowStr::new_static( + "Last date when contacts where imported.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -443,7 +449,7 @@ fn lexicon_doc_app_bsky_contact_defs() -> LexiconDoc<'static> { pub mod notification_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -581,7 +587,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Notification { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Notification { Notification { from: self._fields.0.unwrap(), to: self._fields.1.unwrap(), @@ -592,7 +601,7 @@ where pub mod sync_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -730,11 +739,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SyncStatus { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SyncStatus { SyncStatus { matches_count: self._fields.0.unwrap(), synced_at: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/dismiss_match.rs b/crates/jacquard-api/src/app_bsky/contact/dismiss_match.rs index d5ad1cc62..61a0bb595 100644 --- a/crates/jacquard-api/src/app_bsky/contact/dismiss_match.rs +++ b/crates/jacquard-api/src/app_bsky/contact/dismiss_match.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DismissMatch { ///The subject's DID to dismiss the match with. pub subject: Did, @@ -29,19 +26,26 @@ pub struct DismissMatch { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DismissMatchOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DismissMatchError { #[serde(rename = "InvalidDid")] @@ -50,10 +54,7 @@ pub enum DismissMatchError { InternalError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DismissMatchError { @@ -97,8 +98,9 @@ impl jacquard_common::xrpc::XrpcResp for DismissMatchResponse { impl jacquard_common::xrpc::XrpcRequest for DismissMatch { const NSID: &'static str = "app.bsky.contact.dismissMatch"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DismissMatchResponse; } @@ -108,15 +110,16 @@ Path: `/xrpc/app.bsky.contact.dismissMatch`. The request payload type is `Dismis pub struct DismissMatchRequest; impl jacquard_common::xrpc::XrpcEndpoint for DismissMatchRequest { const PATH: &'static str = "/xrpc/app.bsky.contact.dismissMatch"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DismissMatch; type Response = DismissMatchResponse; } pub mod dismiss_match_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -221,10 +224,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DismissMatch { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DismissMatch { DismissMatch { subject: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/get_matches.rs b/crates/jacquard-api/src/app_bsky/contact/get_matches.rs index 95cc5d371..4b0d54faf 100644 --- a/crates/jacquard-api/src/app_bsky/contact/get_matches.rs +++ b/crates/jacquard-api/src/app_bsky/contact/get_matches.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMatches { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetMatches { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMatchesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -44,9 +39,18 @@ pub struct GetMatchesOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetMatchesError { #[serde(rename = "InvalidDid")] @@ -59,10 +63,7 @@ pub enum GetMatchesError { InternalError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetMatchesError { @@ -141,7 +142,7 @@ fn _default_limit() -> Option { pub mod get_matches_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -238,4 +239,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/get_sync_status.rs b/crates/jacquard-api/src/app_bsky/contact/get_sync_status.rs index 92e389c88..f03fe9e5f 100644 --- a/crates/jacquard-api/src/app_bsky/contact/get_sync_status.rs +++ b/crates/jacquard-api/src/app_bsky/contact/get_sync_status.rs @@ -8,24 +8,21 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::contact::SyncStatus; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::contact::SyncStatus; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetSyncStatus; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSyncStatusOutput { ///If present, indicates the user has imported their contacts. If not present, indicates the user never used the feature or called `app.bsky.contact.removeData` and didn't import again since. #[serde(skip_serializing_if = "Option::is_none")] @@ -34,9 +31,18 @@ pub struct GetSyncStatusOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetSyncStatusError { #[serde(rename = "InvalidDid")] @@ -45,10 +51,7 @@ pub enum GetSyncStatusError { InternalError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetSyncStatusError { @@ -105,4 +108,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSyncStatusRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetSyncStatus; type Response = GetSyncStatusResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/import_contacts.rs b/crates/jacquard-api/src/app_bsky/contact/import_contacts.rs index 1ed2892ba..6554c168c 100644 --- a/crates/jacquard-api/src/app_bsky/contact/import_contacts.rs +++ b/crates/jacquard-api/src/app_bsky/contact/import_contacts.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::contact::MatchAndContactIndex; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::contact::MatchAndContactIndex; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImportContacts { ///List of phone numbers in global E.164 format (e.g., '+12125550123'). Phone numbers that cannot be normalized into a valid phone number will be discarded. Should not repeat the 'phone' input used in `app.bsky.contact.verifyPhone`. pub contacts: Vec, @@ -31,11 +28,9 @@ pub struct ImportContacts { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImportContactsOutput { ///The users that matched during import and their indexes on the input contacts, so the client can correlate with its local list. pub matches_and_contact_indexes: Vec>, @@ -43,9 +38,18 @@ pub struct ImportContactsOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ImportContactsError { #[serde(rename = "InvalidDid")] @@ -60,10 +64,7 @@ pub enum ImportContactsError { InternalError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ImportContactsError { @@ -128,8 +129,9 @@ impl jacquard_common::xrpc::XrpcResp for ImportContactsResponse { impl jacquard_common::xrpc::XrpcRequest for ImportContacts { const NSID: &'static str = "app.bsky.contact.importContacts"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ImportContactsResponse; } @@ -139,15 +141,16 @@ Path: `/xrpc/app.bsky.contact.importContacts`. The request payload type is `Impo pub struct ImportContactsRequest; impl jacquard_common::xrpc::XrpcEndpoint for ImportContactsRequest { const PATH: &'static str = "/xrpc/app.bsky.contact.importContacts"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ImportContacts; type Response = ImportContactsResponse; } pub mod import_contacts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -190,7 +193,10 @@ pub mod import_contacts_state { } /// Builder for constructing an instance of this type. -pub struct ImportContactsBuilder { +pub struct ImportContactsBuilder< + St: import_contacts_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option), _type: PhantomData S>, @@ -285,11 +291,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImportContacts { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImportContacts { ImportContacts { contacts: self._fields.0.unwrap(), token: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/remove_data.rs b/crates/jacquard-api/src/app_bsky/contact/remove_data.rs index afd3b5c55..ac2229685 100644 --- a/crates/jacquard-api/src/app_bsky/contact/remove_data.rs +++ b/crates/jacquard-api/src/app_bsky/contact/remove_data.rs @@ -10,35 +10,39 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveData { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveDataOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RemoveDataError { #[serde(rename = "InvalidDid")] @@ -47,10 +51,7 @@ pub enum RemoveDataError { InternalError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RemoveDataError { @@ -94,8 +95,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveDataResponse { impl jacquard_common::xrpc::XrpcRequest for RemoveData { const NSID: &'static str = "app.bsky.contact.removeData"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RemoveDataResponse; } @@ -105,8 +107,9 @@ Path: `/xrpc/app.bsky.contact.removeData`. The request payload type is `RemoveDa pub struct RemoveDataRequest; impl jacquard_common::xrpc::XrpcEndpoint for RemoveDataRequest { const PATH: &'static str = "/xrpc/app.bsky.contact.removeData"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RemoveData; type Response = RemoveDataResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/send_notification.rs b/crates/jacquard-api/src/app_bsky/contact/send_notification.rs index cd5833dd4..48f4ce9ef 100644 --- a/crates/jacquard-api/src/app_bsky/contact/send_notification.rs +++ b/crates/jacquard-api/src/app_bsky/contact/send_notification.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendNotification { ///The DID of who this notification comes from. pub from: Did, @@ -31,11 +28,9 @@ pub struct SendNotification { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendNotificationOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for SendNotificationResponse { impl jacquard_common::xrpc::XrpcRequest for SendNotification { const NSID: &'static str = "app.bsky.contact.sendNotification"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SendNotificationResponse; } @@ -65,15 +61,16 @@ Path: `/xrpc/app.bsky.contact.sendNotification`. The request payload type is `Se pub struct SendNotificationRequest; impl jacquard_common::xrpc::XrpcEndpoint for SendNotificationRequest { const PATH: &'static str = "/xrpc/app.bsky.contact.sendNotification"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = SendNotification; type Response = SendNotificationResponse; } pub mod send_notification_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -116,7 +113,10 @@ pub mod send_notification_state { } /// Builder for constructing an instance of this type. -pub struct SendNotificationBuilder { +pub struct SendNotificationBuilder< + St: send_notification_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -211,11 +211,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SendNotification { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SendNotification { SendNotification { from: self._fields.0.unwrap(), to: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/start_phone_verification.rs b/crates/jacquard-api/src/app_bsky/contact/start_phone_verification.rs index 1e3ce79fd..0f1916b20 100644 --- a/crates/jacquard-api/src/app_bsky/contact/start_phone_verification.rs +++ b/crates/jacquard-api/src/app_bsky/contact/start_phone_verification.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StartPhoneVerification { ///The phone number to receive the code via SMS. pub phone: S, @@ -28,19 +25,26 @@ pub struct StartPhoneVerification { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StartPhoneVerificationOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum StartPhoneVerificationError { #[serde(rename = "RateLimitExceeded")] @@ -53,10 +57,7 @@ pub enum StartPhoneVerificationError { InternalError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for StartPhoneVerificationError { @@ -114,8 +115,9 @@ impl jacquard_common::xrpc::XrpcResp for StartPhoneVerificationResponse { impl jacquard_common::xrpc::XrpcRequest for StartPhoneVerification { const NSID: &'static str = "app.bsky.contact.startPhoneVerification"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = StartPhoneVerificationResponse; } @@ -125,8 +127,9 @@ Path: `/xrpc/app.bsky.contact.startPhoneVerification`. The request payload type pub struct StartPhoneVerificationRequest; impl jacquard_common::xrpc::XrpcEndpoint for StartPhoneVerificationRequest { const PATH: &'static str = "/xrpc/app.bsky.contact.startPhoneVerification"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = StartPhoneVerification; type Response = StartPhoneVerificationResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/contact/verify_phone.rs b/crates/jacquard-api/src/app_bsky/contact/verify_phone.rs index 9291681a2..684baca97 100644 --- a/crates/jacquard-api/src/app_bsky/contact/verify_phone.rs +++ b/crates/jacquard-api/src/app_bsky/contact/verify_phone.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerifyPhone { ///The code received via SMS as a result of the call to `app.bsky.contact.startPhoneVerification`. pub code: S, @@ -30,11 +27,9 @@ pub struct VerifyPhone { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerifyPhoneOutput { ///JWT to be used in a call to `app.bsky.contact.importContacts`. It is only valid for a single call. pub token: S, @@ -42,9 +37,18 @@ pub struct VerifyPhoneOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum VerifyPhoneError { #[serde(rename = "RateLimitExceeded")] @@ -59,10 +63,7 @@ pub enum VerifyPhoneError { InternalError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for VerifyPhoneError { @@ -127,8 +128,9 @@ impl jacquard_common::xrpc::XrpcResp for VerifyPhoneResponse { impl jacquard_common::xrpc::XrpcRequest for VerifyPhone { const NSID: &'static str = "app.bsky.contact.verifyPhone"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = VerifyPhoneResponse; } @@ -138,8 +140,9 @@ Path: `/xrpc/app.bsky.contact.verifyPhone`. The request payload type is `VerifyP pub struct VerifyPhoneRequest; impl jacquard_common::xrpc::XrpcEndpoint for VerifyPhoneRequest { const PATH: &'static str = "/xrpc/app.bsky.contact.verifyPhone"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = VerifyPhone; type Response = VerifyPhoneResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/draft.rs b/crates/jacquard-api/src/app_bsky/draft.rs index 306a1e7c3..28f8486dd 100644 --- a/crates/jacquard-api/src/app_bsky/draft.rs +++ b/crates/jacquard-api/src/app_bsky/draft.rs @@ -11,23 +11,26 @@ pub mod delete_draft; pub mod get_drafts; pub mod update_draft; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Language, Tid, UriValue}; +use jacquard_common::types::string::{Tid, Datetime, Language, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::draft; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::feed::postgate::DisableRule; use crate::app_bsky::feed::threadgate::FollowerRule; use crate::app_bsky::feed::threadgate::FollowingRule; @@ -35,16 +38,11 @@ use crate::app_bsky::feed::threadgate::ListRule; use crate::app_bsky::feed::threadgate::MentionRule; use crate::com_atproto::label::SelfLabels; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::draft; /// A draft containing an array of draft posts. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Draft { ///UUIDv4 identifier of the device that created this draft. #[serde(skip_serializing_if = "Option::is_none")] @@ -67,6 +65,7 @@ pub struct Draft { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -81,11 +80,9 @@ pub enum DraftThreadgateAllowItem { ThreadgateListRule(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftEmbedCaption { pub content: S, pub lang: Language, @@ -93,28 +90,25 @@ pub struct DraftEmbedCaption { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftEmbedExternal { pub uri: UriValue, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftEmbedGallery { pub items: draft::DraftEmbedGalleryItems, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -127,10 +121,7 @@ pub enum DraftEmbedGalleryItemsItem { pub type DraftEmbedGalleryItems = Vec>; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftEmbedImage { #[serde(skip_serializing_if = "Option::is_none")] pub alt: Option, @@ -139,11 +130,9 @@ pub struct DraftEmbedImage { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftEmbedLocalRef { ///Local, on-device ref to file to be embedded. Embeds are currently device-bound for drafts. pub path: S, @@ -151,22 +140,18 @@ pub struct DraftEmbedLocalRef { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftEmbedRecord { pub record: StrongRef, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftEmbedVideo { #[serde(skip_serializing_if = "Option::is_none")] pub alt: Option, @@ -180,10 +165,7 @@ pub struct DraftEmbedVideo { /// One of the posts that compose a draft. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftPost { #[serde(skip_serializing_if = "Option::is_none")] pub embed_externals: Option>>, @@ -207,10 +189,7 @@ pub struct DraftPost { /// View to present drafts data to users. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftView { ///The time the draft was created. pub created_at: Datetime, @@ -226,10 +205,7 @@ pub struct DraftView { /// A draft with an identifier, used to store drafts in private storage (stash). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftWithId { pub draft: draft::Draft, ///A TID to be used as a draft identifier. @@ -608,7 +584,7 @@ impl LexiconSchema for DraftWithId { pub mod draft_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -737,7 +713,10 @@ impl DraftBuilder { self } /// Set the `postgateEmbeddingRules` field to an Option value (optional) - pub fn maybe_postgate_embedding_rules(mut self, value: Option>>) -> Self { + pub fn maybe_postgate_embedding_rules( + mut self, + value: Option>>, + ) -> Self { self._fields.3 = value; self } @@ -813,10 +792,10 @@ where } fn lexicon_doc_app_bsky_draft_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.draft.defs"), @@ -936,10 +915,9 @@ fn lexicon_doc_app_bsky_draft_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("draftEmbedCaption"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("lang"), - SmolStr::new_static("content"), - ]), + required: Some( + vec![SmolStr::new_static("lang"), SmolStr::new_static("content")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1214,22 +1192,25 @@ fn lexicon_doc_app_bsky_draft_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("draftView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("View to present drafts data to users.")), - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("draft"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("updatedAt"), - ]), + description: Some( + CowStr::new_static("View to present drafts data to users."), + ), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("draft"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("updatedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The time the draft was created.", - )), + description: Some( + CowStr::new_static("The time the draft was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1244,9 +1225,11 @@ fn lexicon_doc_app_bsky_draft_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A TID to be used as a draft identifier.", - )), + description: Some( + CowStr::new_static( + "A TID to be used as a draft identifier.", + ), + ), format: Some(LexStringFormat::Tid), ..Default::default() }), @@ -1254,9 +1237,9 @@ fn lexicon_doc_app_bsky_draft_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The time the draft was last updated.", - )), + description: Some( + CowStr::new_static("The time the draft was last updated."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1312,7 +1295,7 @@ fn lexicon_doc_app_bsky_draft_defs() -> LexiconDoc<'static> { pub mod draft_embed_caption_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1355,7 +1338,10 @@ pub mod draft_embed_caption_state { } /// Builder for constructing an instance of this type. -pub struct DraftEmbedCaptionBuilder { +pub struct DraftEmbedCaptionBuilder< + St: draft_embed_caption_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -1363,7 +1349,10 @@ pub struct DraftEmbedCaptionBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DraftEmbedCaptionBuilder { + pub fn new() -> DraftEmbedCaptionBuilder< + draft_embed_caption_state::Empty, + DefaultStr, + > { DraftEmbedCaptionBuilder::new() } } @@ -1450,7 +1439,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftEmbedCaption { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftEmbedCaption { DraftEmbedCaption { content: self._fields.0.unwrap(), lang: self._fields.1.unwrap(), @@ -1461,7 +1453,7 @@ where pub mod draft_embed_external_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1492,8 +1484,10 @@ pub mod draft_embed_external_state { } /// Builder for constructing an instance of this type. -pub struct DraftEmbedExternalBuilder -{ +pub struct DraftEmbedExternalBuilder< + St: draft_embed_external_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -1501,7 +1495,10 @@ pub struct DraftEmbedExternalBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DraftEmbedExternalBuilder { + pub fn new() -> DraftEmbedExternalBuilder< + draft_embed_external_state::Empty, + DefaultStr, + > { DraftEmbedExternalBuilder::new() } } @@ -1567,7 +1564,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftEmbedExternal { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftEmbedExternal { DraftEmbedExternal { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1577,7 +1577,7 @@ where pub mod draft_embed_gallery_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1608,7 +1608,10 @@ pub mod draft_embed_gallery_state { } /// Builder for constructing an instance of this type. -pub struct DraftEmbedGalleryBuilder { +pub struct DraftEmbedGalleryBuilder< + St: draft_embed_gallery_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -1616,7 +1619,10 @@ pub struct DraftEmbedGalleryBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DraftEmbedGalleryBuilder { + pub fn new() -> DraftEmbedGalleryBuilder< + draft_embed_gallery_state::Empty, + DefaultStr, + > { DraftEmbedGalleryBuilder::new() } } @@ -1682,7 +1688,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftEmbedGallery { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftEmbedGallery { DraftEmbedGallery { items: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1692,7 +1701,7 @@ where pub mod draft_embed_image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1723,7 +1732,10 @@ pub mod draft_embed_image_state { } /// Builder for constructing an instance of this type. -pub struct DraftEmbedImageBuilder { +pub struct DraftEmbedImageBuilder< + St: draft_embed_image_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -1811,7 +1823,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftEmbedImage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftEmbedImage { DraftEmbedImage { alt: self._fields.0, local_ref: self._fields.1.unwrap(), @@ -1822,7 +1837,7 @@ where pub mod draft_embed_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1853,7 +1868,10 @@ pub mod draft_embed_record_state { } /// Builder for constructing an instance of this type. -pub struct DraftEmbedRecordBuilder { +pub struct DraftEmbedRecordBuilder< + St: draft_embed_record_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -1861,7 +1879,10 @@ pub struct DraftEmbedRecordBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DraftEmbedRecordBuilder { + pub fn new() -> DraftEmbedRecordBuilder< + draft_embed_record_state::Empty, + DefaultStr, + > { DraftEmbedRecordBuilder::new() } } @@ -1927,7 +1948,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftEmbedRecord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftEmbedRecord { DraftEmbedRecord { record: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1937,7 +1961,7 @@ where pub mod draft_embed_video_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1968,7 +1992,10 @@ pub mod draft_embed_video_state { } /// Builder for constructing an instance of this type. -pub struct DraftEmbedVideoBuilder { +pub struct DraftEmbedVideoBuilder< + St: draft_embed_video_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -2029,12 +2056,18 @@ impl DraftEmbedVideoBuilder DraftEmbedVideoBuilder { /// Set the `captions` field (optional) - pub fn captions(mut self, value: impl Into>>>) -> Self { + pub fn captions( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `captions` field to an Option value (optional) - pub fn maybe_captions(mut self, value: Option>>) -> Self { + pub fn maybe_captions( + mut self, + value: Option>>, + ) -> Self { self._fields.1 = value; self } @@ -2074,7 +2107,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftEmbedVideo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftEmbedVideo { DraftEmbedVideo { alt: self._fields.0, captions: self._fields.1, @@ -2086,7 +2122,7 @@ where pub mod draft_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2161,12 +2197,7 @@ pub mod draft_view_state { /// Builder for constructing an instance of this type. pub struct DraftViewBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option, - ), + _fields: (Option, Option>, Option, Option), _type: PhantomData S>, } @@ -2250,7 +2281,10 @@ where St::Id: draft_view_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> DraftViewBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> DraftViewBuilder, S> { self._fields.2 = Option::Some(value.into()); DraftViewBuilder { _state: PhantomData, @@ -2298,7 +2332,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftView { DraftView { created_at: self._fields.0.unwrap(), draft: self._fields.1.unwrap(), @@ -2311,7 +2348,7 @@ where pub mod draft_with_id_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2449,11 +2486,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftWithId { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftWithId { DraftWithId { draft: self._fields.0.unwrap(), id: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/draft/create_draft.rs b/crates/jacquard-api/src/app_bsky/draft/create_draft.rs index 3c16f1f79..257ae3899 100644 --- a/crates/jacquard-api/src/app_bsky/draft/create_draft.rs +++ b/crates/jacquard-api/src/app_bsky/draft/create_draft.rs @@ -8,31 +8,26 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::draft::Draft; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::draft::Draft; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateDraft { pub draft: Draft, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateDraftOutput { ///The ID of the created draft. pub id: S, @@ -40,9 +35,18 @@ pub struct CreateDraftOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateDraftError { /// Trying to insert a new draft when the limit was already reached. @@ -50,10 +54,7 @@ pub enum CreateDraftError { DraftLimitReached(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateDraftError { @@ -90,8 +91,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateDraftResponse { impl jacquard_common::xrpc::XrpcRequest for CreateDraft { const NSID: &'static str = "app.bsky.draft.createDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateDraftResponse; } @@ -101,15 +103,16 @@ Path: `/xrpc/app.bsky.draft.createDraft`. The request payload type is `CreateDra pub struct CreateDraftRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateDraftRequest { const PATH: &'static str = "/xrpc/app.bsky.draft.createDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateDraft; type Response = CreateDraftResponse; } pub mod create_draft_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -214,10 +217,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateDraft { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateDraft { CreateDraft { draft: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/draft/delete_draft.rs b/crates/jacquard-api/src/app_bsky/draft/delete_draft.rs index 07af8598a..b8f6f873f 100644 --- a/crates/jacquard-api/src/app_bsky/draft/delete_draft.rs +++ b/crates/jacquard-api/src/app_bsky/draft/delete_draft.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Tid; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteDraft { pub id: Tid, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteDraftResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteDraft { const NSID: &'static str = "app.bsky.draft.deleteDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteDraftResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.draft.deleteDraft`. The request payload type is `DeleteDra pub struct DeleteDraftRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteDraftRequest { const PATH: &'static str = "/xrpc/app.bsky.draft.deleteDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteDraft; type Response = DeleteDraftResponse; } pub mod delete_draft_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,10 +164,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteDraft { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteDraft { DeleteDraft { id: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/draft/get_drafts.rs b/crates/jacquard-api/src/app_bsky/draft/get_drafts.rs index 9a5463386..9f776b3ae 100644 --- a/crates/jacquard-api/src/app_bsky/draft/get_drafts.rs +++ b/crates/jacquard-api/src/app_bsky/draft/get_drafts.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::draft::DraftView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::draft::DraftView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetDrafts { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetDrafts { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetDraftsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_drafts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -175,4 +170,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/draft/update_draft.rs b/crates/jacquard-api/src/app_bsky/draft/update_draft.rs index ea0f56511..7cd6eea95 100644 --- a/crates/jacquard-api/src/app_bsky/draft/update_draft.rs +++ b/crates/jacquard-api/src/app_bsky/draft/update_draft.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::draft::DraftWithId; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::draft::DraftWithId; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateDraft { pub draft: DraftWithId, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateDraftResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateDraft { const NSID: &'static str = "app.bsky.draft.updateDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateDraftResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.draft.updateDraft`. The request payload type is `UpdateDra pub struct UpdateDraftRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateDraftRequest { const PATH: &'static str = "/xrpc/app.bsky.draft.updateDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateDraft; type Response = UpdateDraftResponse; } pub mod update_draft_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,10 +164,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateDraft { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateDraft { UpdateDraft { draft: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed.rs b/crates/jacquard-api/src/app_bsky/embed.rs index b7827b101..cddbec74a 100644 --- a/crates/jacquard-api/src/app_bsky/embed.rs +++ b/crates/jacquard-api/src/app_bsky/embed.rs @@ -14,6 +14,7 @@ pub mod record; pub mod record_with_media; pub mod video; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -31,14 +32,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { pub height: i64, pub width: i64, @@ -83,7 +81,7 @@ impl LexiconSchema for AspectRatio { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -221,7 +219,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -231,10 +232,10 @@ where } fn lexicon_doc_app_bsky_embed_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.embed.defs"), @@ -277,4 +278,4 @@ fn lexicon_doc_app_bsky_embed_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed/external.rs b/crates/jacquard-api/src/app_bsky/embed/external.rs index fdf33b826..9a8bb86bf 100644 --- a/crates/jacquard-api/src/app_bsky/embed/external.rs +++ b/crates/jacquard-api/src/app_bsky/embed/external.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,20 +22,17 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileViewBasic; -use crate::app_bsky::embed::external; use crate::com_atproto::label::Label; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::embed::external; /// RGB color definition, inspired by site.standard.theme.color#rgb #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ColorRgb { pub b: i64, pub g: i64, @@ -44,11 +41,9 @@ pub struct ColorRgb { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct External { ///StrongRefs (uri+cid) of the Atmosphere records that backed this view. #[serde(skip_serializing_if = "Option::is_none")] @@ -65,32 +60,25 @@ pub struct External { /// A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ExternalRecord { pub external: external::External, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub external: external::ViewExternal, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewExternal { ///Profiles of the owners of the Atmosphere records that backed this view. #[serde(skip_serializing_if = "Option::is_none")] @@ -123,10 +111,7 @@ pub struct ViewExternal { /// The source of an external embed, such as a standard.site publication. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewExternalSource { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -145,10 +130,7 @@ pub struct ViewExternalSource { /// The theme colors of an external source, such as a site.standard.publication. These colors may be used when rendering an embed from that source. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewExternalSourceTheme { #[serde(skip_serializing_if = "Option::is_none")] pub accent_foreground_rgb: Option>, @@ -264,16 +246,19 @@ impl LexiconSchema for External { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumb"), @@ -364,7 +349,7 @@ impl LexiconSchema for ViewExternalSourceTheme { pub mod color_rgb_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -469,7 +454,10 @@ where St::B: color_rgb_state::IsUnset, { /// Set the `b` field (required) - pub fn b(mut self, value: impl Into) -> ColorRgbBuilder, S> { + pub fn b( + mut self, + value: impl Into, + ) -> ColorRgbBuilder, S> { self._fields.0 = Option::Some(value.into()); ColorRgbBuilder { _state: PhantomData, @@ -485,7 +473,10 @@ where St::G: color_rgb_state::IsUnset, { /// Set the `g` field (required) - pub fn g(mut self, value: impl Into) -> ColorRgbBuilder, S> { + pub fn g( + mut self, + value: impl Into, + ) -> ColorRgbBuilder, S> { self._fields.1 = Option::Some(value.into()); ColorRgbBuilder { _state: PhantomData, @@ -501,7 +492,10 @@ where St::R: color_rgb_state::IsUnset, { /// Set the `r` field (required) - pub fn r(mut self, value: impl Into) -> ColorRgbBuilder, S> { + pub fn r( + mut self, + value: impl Into, + ) -> ColorRgbBuilder, S> { self._fields.2 = Option::Some(value.into()); ColorRgbBuilder { _state: PhantomData, @@ -539,10 +533,10 @@ where } fn lexicon_doc_app_bsky_embed_external() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.embed.external"), @@ -551,14 +545,17 @@ fn lexicon_doc_app_bsky_embed_external() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("colorRGB"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "RGB color definition, inspired by site.standard.theme.color#rgb", - )), - required: Some(vec![ - SmolStr::new_static("r"), - SmolStr::new_static("g"), - SmolStr::new_static("b"), - ]), + description: Some( + CowStr::new_static( + "RGB color definition, inspired by site.standard.theme.color#rgb", + ), + ), + required: Some( + vec![ + SmolStr::new_static("r"), SmolStr::new_static("g"), + SmolStr::new_static("b") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -913,7 +910,7 @@ fn lexicon_doc_app_bsky_embed_external() -> LexiconDoc<'static> { pub mod external_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1020,7 +1017,10 @@ impl ExternalBuilder { impl ExternalBuilder { /// Set the `associatedRefs` field (optional) - pub fn associated_refs(mut self, value: impl Into>>>) -> Self { + pub fn associated_refs( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -1134,7 +1134,7 @@ where pub mod external_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1165,7 +1165,10 @@ pub mod external_record_state { } /// Builder for constructing an instance of this type. -pub struct ExternalRecordBuilder { +pub struct ExternalRecordBuilder< + St: external_record_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -1239,7 +1242,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ExternalRecord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ExternalRecord { ExternalRecord { external: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1249,7 +1255,7 @@ where pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1364,7 +1370,7 @@ where pub mod view_external_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1458,9 +1464,7 @@ impl ViewExternalBuilder { pub fn new() -> Self { ViewExternalBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -1471,9 +1475,7 @@ impl ViewExternalBuilder { pub fn builder() -> Self { ViewExternalBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -1489,7 +1491,10 @@ impl ViewExternalBuilder { self } /// Set the `associatedProfiles` field to an Option value (optional) - pub fn maybe_associated_profiles(mut self, value: Option>>) -> Self { + pub fn maybe_associated_profiles( + mut self, + value: Option>>, + ) -> Self { self._fields.0 = value; self } @@ -1497,7 +1502,10 @@ impl ViewExternalBuilder { impl ViewExternalBuilder { /// Set the `associatedRefs` field (optional) - pub fn associated_refs(mut self, value: impl Into>>>) -> Self { + pub fn associated_refs( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -1568,12 +1576,18 @@ impl ViewExternalBuilder { impl ViewExternalBuilder { /// Set the `source` field (optional) - pub fn source(mut self, value: impl Into>>) -> Self { + pub fn source( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `source` field to an Option value (optional) - pub fn maybe_source(mut self, value: Option>) -> Self { + pub fn maybe_source( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -1668,7 +1682,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewExternal { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewExternal { ViewExternal { associated_profiles: self._fields.0, associated_refs: self._fields.1, @@ -1688,7 +1705,7 @@ where pub mod view_external_source_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1731,8 +1748,10 @@ pub mod view_external_source_state { } /// Builder for constructing an instance of this type. -pub struct ViewExternalSourceBuilder -{ +pub struct ViewExternalSourceBuilder< + St: view_external_source_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -1746,7 +1765,10 @@ pub struct ViewExternalSourceBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ViewExternalSourceBuilder { + pub fn new() -> ViewExternalSourceBuilder< + view_external_source_state::Empty, + DefaultStr, + > { ViewExternalSourceBuilder::new() } } @@ -1808,12 +1830,18 @@ impl ViewExternalSourceBuilder impl ViewExternalSourceBuilder { /// Set the `theme` field (optional) - pub fn theme(mut self, value: impl Into>>) -> Self { + pub fn theme( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `theme` field to an Option value (optional) - pub fn maybe_theme(mut self, value: Option>) -> Self { + pub fn maybe_theme( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -1875,7 +1903,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewExternalSource { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewExternalSource { ViewExternalSource { description: self._fields.0, icon: self._fields.1, @@ -1885,4 +1916,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed/gallery.rs b/crates/jacquard-api/src/app_bsky/embed/gallery.rs index dd9fc74e1..2859de142 100644 --- a/crates/jacquard-api/src/app_bsky/embed/gallery.rs +++ b/crates/jacquard-api/src/app_bsky/embed/gallery.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,17 +22,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::embed::AspectRatio; -use crate::app_bsky::embed::gallery; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::embed::AspectRatio; +use crate::app_bsky::embed::gallery; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Image { ///Alt text description of the image, for accessibility. pub alt: S, @@ -42,11 +39,9 @@ pub struct Image { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Gallery { ///The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs. pub items: Vec>, @@ -54,22 +49,18 @@ pub struct Gallery { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub items: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewImage { ///Alt text description of the image, for accessibility. pub alt: S, @@ -111,16 +102,19 @@ impl LexiconSchema for Image { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -192,7 +186,7 @@ impl LexiconSchema for ViewImage { pub mod image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -297,7 +291,10 @@ where St::Alt: image_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> ImageBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> ImageBuilder, S> { self._fields.0 = Option::Some(value.into()); ImageBuilder { _state: PhantomData, @@ -373,10 +370,10 @@ where } fn lexicon_doc_app_bsky_embed_gallery() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.embed.gallery"), @@ -385,35 +382,38 @@ fn lexicon_doc_app_bsky_embed_gallery() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("image"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("image"), - SmolStr::new_static("alt"), - SmolStr::new_static("aspectRatio"), - ]), + required: Some( + vec![ + SmolStr::new_static("image"), SmolStr::new_static("alt"), + SmolStr::new_static("aspectRatio") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text description of the image, for accessibility.", - )), + description: Some( + CowStr::new_static( + "Alt text description of the image, for accessibility.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("aspectRatio"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.embed.defs#aspectRatio"), + r#ref: CowStr::new_static( + "app.bsky.embed.defs#aspectRatio", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -540,7 +540,7 @@ fn lexicon_doc_app_bsky_embed_gallery() -> LexiconDoc<'static> { pub mod gallery_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -655,7 +655,7 @@ where pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -770,7 +770,7 @@ where pub mod view_image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -896,7 +896,10 @@ where St::Alt: view_image_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> ViewImageBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> ViewImageBuilder, S> { self._fields.0 = Option::Some(value.into()); ViewImageBuilder { _state: PhantomData, @@ -982,7 +985,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewImage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewImage { ViewImage { alt: self._fields.0.unwrap(), aspect_ratio: self._fields.1.unwrap(), @@ -991,4 +997,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed/get_embed_external_view.rs b/crates/jacquard-api/src/app_bsky/embed/get_embed_external_view.rs index bd02e1d74..3e6f065f4 100644 --- a/crates/jacquard-api/src/app_bsky/embed/get_embed_external_view.rs +++ b/crates/jacquard-api/src/app_bsky/embed/get_embed_external_view.rs @@ -8,32 +8,27 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::embed::external::View; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::embed::external::View; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetEmbedExternalView { pub uris: Vec>, pub url: UriValue, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetEmbedExternalViewOutput { #[serde(skip_serializing_if = "Option::is_none")] pub associated_records: Option>>, @@ -77,7 +72,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEmbedExternalViewRequest { pub mod get_embed_external_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -131,14 +126,20 @@ pub struct GetEmbedExternalViewBuilder< impl GetEmbedExternalView { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetEmbedExternalViewBuilder { + pub fn new() -> GetEmbedExternalViewBuilder< + get_embed_external_view_state::Empty, + DefaultStr, + > { GetEmbedExternalViewBuilder::new() } } impl GetEmbedExternalView { /// Create a new builder for this type - pub fn builder() -> GetEmbedExternalViewBuilder { + pub fn builder() -> GetEmbedExternalViewBuilder< + get_embed_external_view_state::Empty, + S, + > { GetEmbedExternalViewBuilder::builder() } } @@ -216,4 +217,4 @@ where url: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed/images.rs b/crates/jacquard-api/src/app_bsky/embed/images.rs index 38efd3777..ee3c1cb03 100644 --- a/crates/jacquard-api/src/app_bsky/embed/images.rs +++ b/crates/jacquard-api/src/app_bsky/embed/images.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,17 +22,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::embed::AspectRatio; -use crate::app_bsky::embed::images; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::embed::AspectRatio; +use crate::app_bsky::embed::images; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Image { ///Alt text description of the image, for accessibility. pub alt: S, @@ -44,33 +41,27 @@ pub struct Image { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Images { pub images: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub images: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewImage { ///Alt text description of the image, for accessibility. pub alt: S, @@ -113,16 +104,19 @@ impl LexiconSchema for Image { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -205,7 +199,7 @@ impl LexiconSchema for ViewImage { pub mod image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -296,7 +290,10 @@ where St::Alt: image_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> ImageBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> ImageBuilder, S> { self._fields.0 = Option::Some(value.into()); ImageBuilder { _state: PhantomData, @@ -365,10 +362,10 @@ where } fn lexicon_doc_app_bsky_embed_images() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.embed.images"), @@ -377,34 +374,35 @@ fn lexicon_doc_app_bsky_embed_images() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("image"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("image"), - SmolStr::new_static("alt"), - ]), + required: Some( + vec![SmolStr::new_static("image"), SmolStr::new_static("alt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text description of the image, for accessibility.", - )), + description: Some( + CowStr::new_static( + "Alt text description of the image, for accessibility.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("aspectRatio"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.embed.defs#aspectRatio"), + r#ref: CowStr::new_static( + "app.bsky.embed.defs#aspectRatio", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -526,7 +524,7 @@ fn lexicon_doc_app_bsky_embed_images() -> LexiconDoc<'static> { pub mod images_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -641,7 +639,7 @@ where pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -756,7 +754,7 @@ where pub mod view_image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -866,7 +864,10 @@ where St::Alt: view_image_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> ViewImageBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> ViewImageBuilder, S> { self._fields.0 = Option::Some(value.into()); ViewImageBuilder { _state: PhantomData, @@ -945,7 +946,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewImage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewImage { ViewImage { alt: self._fields.0.unwrap(), aspect_ratio: self._fields.1, @@ -954,4 +958,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed/record.rs b/crates/jacquard-api/src/app_bsky/embed/record.rs index 67303ead1..b687a0ccd 100644 --- a/crates/jacquard-api/src/app_bsky/embed/record.rs +++ b/crates/jacquard-api/src/app_bsky/embed/record.rs @@ -21,13 +21,10 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileViewBasic; -use crate::app_bsky::embed::external; -use crate::app_bsky::embed::gallery; -use crate::app_bsky::embed::images; -use crate::app_bsky::embed::record; -use crate::app_bsky::embed::record_with_media; -use crate::app_bsky::embed::video; use crate::app_bsky::feed::BlockedAuthor; use crate::app_bsky::feed::GeneratorView; use crate::app_bsky::graph::ListView; @@ -35,32 +32,31 @@ use crate::app_bsky::graph::StarterPackViewBasic; use crate::app_bsky::labeler::LabelerView; use crate::com_atproto::label::Label; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::embed::external; +use crate::app_bsky::embed::gallery; +use crate::app_bsky::embed::images; +use crate::app_bsky::embed::record; +use crate::app_bsky::embed::record_with_media; +use crate::app_bsky::embed::video; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Record { pub record: StrongRef, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub record: ViewUnionRecord, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -83,11 +79,9 @@ pub enum ViewUnionRecord { StarterPackViewBasic(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewBlocked { pub author: BlockedAuthor, pub blocked: bool, @@ -96,11 +90,9 @@ pub struct ViewBlocked { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewDetached { pub detached: bool, pub uri: AtUri, @@ -108,11 +100,9 @@ pub struct ViewDetached { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewNotFound { pub not_found: bool, pub uri: AtUri, @@ -120,11 +110,9 @@ pub struct ViewNotFound { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewRecord { pub author: ProfileViewBasic, pub cid: Cid, @@ -148,6 +136,7 @@ pub struct ViewRecord { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -258,7 +247,7 @@ impl LexiconSchema for ViewRecord { pub mod record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -372,10 +361,10 @@ where } fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.embed.record"), @@ -418,7 +407,7 @@ fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { CowStr::new_static("app.bsky.feed.defs#generatorView"), CowStr::new_static("app.bsky.graph.defs#listView"), CowStr::new_static("app.bsky.labeler.defs#labelerView"), - CowStr::new_static("app.bsky.graph.defs#starterPackViewBasic"), + CowStr::new_static("app.bsky.graph.defs#starterPackViewBasic") ], ..Default::default() }), @@ -431,18 +420,21 @@ fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("viewBlocked"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("blocked"), - SmolStr::new_static("author"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("blocked"), + SmolStr::new_static("author") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.feed.defs#blockedAuthor"), + r#ref: CowStr::new_static( + "app.bsky.feed.defs#blockedAuthor", + ), ..Default::default() }), ); @@ -467,10 +459,9 @@ fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("viewDetached"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("detached"), - ]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("detached")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -495,10 +486,9 @@ fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("viewNotFound"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("notFound"), - ]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("notFound")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -523,20 +513,22 @@ fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("viewRecord"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("value"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("value"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -557,7 +549,7 @@ fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { CowStr::new_static("app.bsky.embed.gallery#view"), CowStr::new_static("app.bsky.embed.external#view"), CowStr::new_static("app.bsky.embed.record#view"), - CowStr::new_static("app.bsky.embed.recordWithMedia#view"), + CowStr::new_static("app.bsky.embed.recordWithMedia#view") ], ..Default::default() }), @@ -631,7 +623,7 @@ fn lexicon_doc_app_bsky_embed_record() -> LexiconDoc<'static> { pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -746,7 +738,7 @@ where pub mod view_blocked_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -919,7 +911,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewBlocked { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewBlocked { ViewBlocked { author: self._fields.0.unwrap(), blocked: self._fields.1.unwrap(), @@ -931,7 +926,7 @@ where pub mod view_detached_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1069,7 +1064,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewDetached { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewDetached { ViewDetached { detached: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -1080,7 +1078,7 @@ where pub mod view_not_found_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1218,7 +1216,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewNotFound { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewNotFound { ViewNotFound { not_found: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -1229,7 +1230,7 @@ where pub mod view_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1357,9 +1358,7 @@ impl ViewRecordBuilder { pub fn new() -> Self { ViewRecordBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -1370,9 +1369,7 @@ impl ViewRecordBuilder { pub fn builder() -> Self { ViewRecordBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -1418,7 +1415,10 @@ where impl ViewRecordBuilder { /// Set the `embeds` field (optional) - pub fn embeds(mut self, value: impl Into>>>) -> Self { + pub fn embeds( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -1578,7 +1578,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewRecord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewRecord { ViewRecord { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -1594,4 +1597,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed/record_with_media.rs b/crates/jacquard-api/src/app_bsky/embed/record_with_media.rs index 16f2edcbe..588784553 100644 --- a/crates/jacquard-api/src/app_bsky/embed/record_with_media.rs +++ b/crates/jacquard-api/src/app_bsky/embed/record_with_media.rs @@ -20,25 +20,22 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::embed::external; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::external::ExternalRecord; -use crate::app_bsky::embed::gallery; use crate::app_bsky::embed::gallery::Gallery; -use crate::app_bsky::embed::images; use crate::app_bsky::embed::images::Images; -use crate::app_bsky::embed::record; use crate::app_bsky::embed::record::Record; -use crate::app_bsky::embed::video; use crate::app_bsky::embed::video::Video; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::embed::external; +use crate::app_bsky::embed::gallery; +use crate::app_bsky::embed::images; +use crate::app_bsky::embed::record; +use crate::app_bsky::embed::video; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordWithMedia { pub media: RecordWithMediaMedia, pub record: Record, @@ -46,6 +43,7 @@ pub struct RecordWithMedia { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -60,11 +58,9 @@ pub enum RecordWithMediaMedia { External(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub media: ViewMedia, pub record: record::View, @@ -72,6 +68,7 @@ pub struct View { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -118,7 +115,7 @@ impl LexiconSchema for View { pub mod record_with_media_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -161,7 +158,10 @@ pub mod record_with_media_state { } /// Builder for constructing an instance of this type. -pub struct RecordWithMediaBuilder { +pub struct RecordWithMediaBuilder< + St: record_with_media_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -256,7 +256,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordWithMedia { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecordWithMedia { RecordWithMedia { media: self._fields.0.unwrap(), record: self._fields.1.unwrap(), @@ -266,10 +269,10 @@ where } fn lexicon_doc_app_bsky_embed_recordWithMedia() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.embed.recordWithMedia"), @@ -278,10 +281,9 @@ fn lexicon_doc_app_bsky_embed_recordWithMedia() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("record"), - SmolStr::new_static("media"), - ]), + required: Some( + vec![SmolStr::new_static("record"), SmolStr::new_static("media")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -292,7 +294,7 @@ fn lexicon_doc_app_bsky_embed_recordWithMedia() -> LexiconDoc<'static> { CowStr::new_static("app.bsky.embed.images"), CowStr::new_static("app.bsky.embed.video"), CowStr::new_static("app.bsky.embed.gallery"), - CowStr::new_static("app.bsky.embed.external"), + CowStr::new_static("app.bsky.embed.external") ], ..Default::default() }), @@ -312,10 +314,9 @@ fn lexicon_doc_app_bsky_embed_recordWithMedia() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("view"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("record"), - SmolStr::new_static("media"), - ]), + required: Some( + vec![SmolStr::new_static("record"), SmolStr::new_static("media")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -326,7 +327,7 @@ fn lexicon_doc_app_bsky_embed_recordWithMedia() -> LexiconDoc<'static> { CowStr::new_static("app.bsky.embed.images#view"), CowStr::new_static("app.bsky.embed.video#view"), CowStr::new_static("app.bsky.embed.gallery#view"), - CowStr::new_static("app.bsky.embed.external#view"), + CowStr::new_static("app.bsky.embed.external#view") ], ..Default::default() }), @@ -351,7 +352,7 @@ fn lexicon_doc_app_bsky_embed_recordWithMedia() -> LexiconDoc<'static> { pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -496,4 +497,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/embed/video.rs b/crates/jacquard-api/src/app_bsky/embed/video.rs index 7fd7eb410..6ad667f74 100644 --- a/crates/jacquard-api/src/app_bsky/embed/video.rs +++ b/crates/jacquard-api/src/app_bsky/embed/video.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,17 +22,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::embed::AspectRatio; -use crate::app_bsky::embed::video; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::embed::AspectRatio; +use crate::app_bsky::embed::video; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Caption { pub file: BlobRef, pub lang: Language, @@ -40,11 +37,9 @@ pub struct Caption { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Video { ///Alt text description of the video, for accessibility. #[serde(skip_serializing_if = "Option::is_none")] @@ -141,11 +136,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { #[serde(skip_serializing_if = "Option::is_none")] pub alt: Option, @@ -270,16 +263,19 @@ impl LexiconSchema for Caption { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["text/vtt"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("file"), @@ -354,16 +350,19 @@ impl LexiconSchema for Video { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["video/mp4"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("video"), @@ -416,7 +415,7 @@ impl LexiconSchema for View { pub mod caption_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -564,10 +563,10 @@ where } fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.embed.video"), @@ -576,18 +575,15 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("caption"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("lang"), - SmolStr::new_static("file"), - ]), + required: Some( + vec![SmolStr::new_static("lang"), SmolStr::new_static("file")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("file"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("lang"), @@ -611,9 +607,11 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text description of the video, for accessibility.", - )), + description: Some( + CowStr::new_static( + "Alt text description of the video, for accessibility.", + ), + ), max_length: Some(10000usize), max_graphemes: Some(1000usize), ..Default::default() @@ -622,7 +620,9 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.embed.defs#aspectRatio"), + r#ref: CowStr::new_static( + "app.bsky.embed.defs#aspectRatio", + ), ..Default::default() }), ); @@ -640,17 +640,17 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("presentation"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A hint to the client about how to present the video.", - )), + description: Some( + CowStr::new_static( + "A hint to the client about how to present the video.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("video"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -660,10 +660,9 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("view"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("cid"), - SmolStr::new_static("playlist"), - ]), + required: Some( + vec![SmolStr::new_static("cid"), SmolStr::new_static("playlist")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -678,7 +677,9 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.embed.defs#aspectRatio"), + r#ref: CowStr::new_static( + "app.bsky.embed.defs#aspectRatio", + ), ..Default::default() }), ); @@ -699,9 +700,11 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("presentation"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A hint to the client about how to present the video.", - )), + description: Some( + CowStr::new_static( + "A hint to the client about how to present the video.", + ), + ), ..Default::default() }), ); @@ -725,7 +728,7 @@ fn lexicon_doc_app_bsky_embed_video() -> LexiconDoc<'static> { pub mod video_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -845,7 +848,10 @@ impl VideoBuilder { impl VideoBuilder { /// Set the `presentation` field (optional) - pub fn presentation(mut self, value: impl Into>>) -> Self { + pub fn presentation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } @@ -906,7 +912,7 @@ where pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1030,7 +1036,10 @@ where St::Cid: view_state::IsUnset, { /// Set the `cid` field (required) - pub fn cid(mut self, value: impl Into>) -> ViewBuilder, S> { + pub fn cid( + mut self, + value: impl Into>, + ) -> ViewBuilder, S> { self._fields.2 = Option::Some(value.into()); ViewBuilder { _state: PhantomData, @@ -1061,7 +1070,10 @@ where impl ViewBuilder { /// Set the `presentation` field (optional) - pub fn presentation(mut self, value: impl Into>>) -> Self { + pub fn presentation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -1115,4 +1127,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed.rs b/crates/jacquard-api/src/app_bsky/feed.rs index 23a3d07eb..0ce7a1c9e 100644 --- a/crates/jacquard-api/src/app_bsky/feed.rs +++ b/crates/jacquard-api/src/app_bsky/feed.rs @@ -31,25 +31,32 @@ pub mod search_posts; pub mod send_interactions; pub mod threadgate; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::actor; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileView; use crate::app_bsky::actor::ProfileViewBasic; +use crate::app_bsky::graph::ListViewBasic; +use crate::app_bsky::richtext::facet::Facet; +use crate::com_atproto::label::Label; +use crate::app_bsky::actor; use crate::app_bsky::embed::external; use crate::app_bsky::embed::gallery; use crate::app_bsky::embed::images; @@ -57,18 +64,9 @@ use crate::app_bsky::embed::record; use crate::app_bsky::embed::record_with_media; use crate::app_bsky::embed::video; use crate::app_bsky::feed; -use crate::app_bsky::graph::ListViewBasic; -use crate::app_bsky::richtext::facet::Facet; -use crate::com_atproto::label::Label; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BlockedAuthor { pub did: Did, #[serde(skip_serializing_if = "Option::is_none")] @@ -77,11 +75,9 @@ pub struct BlockedAuthor { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BlockedPost { pub author: feed::BlockedAuthor, pub blocked: bool, @@ -150,11 +146,9 @@ impl core::fmt::Display for ContentModeVideo { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FeedViewPost { ///Context provided by feed generator that may be passed back alongside interactions. #[serde(skip_serializing_if = "Option::is_none")] @@ -171,6 +165,7 @@ pub struct FeedViewPost { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -181,11 +176,9 @@ pub enum FeedViewPostReason { ReasonPin(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GeneratorView { #[serde(skip_serializing_if = "Option::is_none")] pub accepts_interactions: Option, @@ -213,6 +206,7 @@ pub struct GeneratorView { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum GeneratorViewContentMode { ContentModeUnspecified, @@ -259,7 +253,8 @@ impl Serialize for GeneratorViewContentMode { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for GeneratorViewContentMode { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for GeneratorViewContentMode { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -289,16 +284,16 @@ where GeneratorViewContentMode::ContentModeVideo => { GeneratorViewContentMode::ContentModeVideo } - GeneratorViewContentMode::Other(v) => GeneratorViewContentMode::Other(v.into_static()), + GeneratorViewContentMode::Other(v) => { + GeneratorViewContentMode::Other(v.into_static()) + } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GeneratorViewerState { #[serde(skip_serializing_if = "Option::is_none")] pub like: Option>, @@ -306,11 +301,9 @@ pub struct GeneratorViewerState { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Interaction { #[serde(skip_serializing_if = "Option::is_none")] pub event: Option>, @@ -326,6 +319,7 @@ pub struct Interaction { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum InteractionEvent { RequestLess, @@ -430,7 +424,9 @@ where InteractionEvent::RequestMore => InteractionEvent::RequestMore, InteractionEvent::ClickthroughItem => InteractionEvent::ClickthroughItem, InteractionEvent::ClickthroughAuthor => InteractionEvent::ClickthroughAuthor, - InteractionEvent::ClickthroughReposter => InteractionEvent::ClickthroughReposter, + InteractionEvent::ClickthroughReposter => { + InteractionEvent::ClickthroughReposter + } InteractionEvent::ClickthroughEmbed => InteractionEvent::ClickthroughEmbed, InteractionEvent::InteractionSeen => InteractionEvent::InteractionSeen, InteractionEvent::InteractionLike => InteractionEvent::InteractionLike, @@ -503,11 +499,9 @@ impl core::fmt::Display for InteractionShare { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NotFoundPost { pub not_found: bool, pub uri: AtUri, @@ -515,11 +509,9 @@ pub struct NotFoundPost { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PostView { pub author: ProfileViewBasic, #[serde(skip_serializing_if = "Option::is_none")] @@ -551,6 +543,7 @@ pub struct PostView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -569,21 +562,17 @@ pub enum PostViewEmbed { RecordWithMediaView(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReasonPin { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReasonRepost { pub by: ProfileViewBasic, #[serde(skip_serializing_if = "Option::is_none")] @@ -595,11 +584,9 @@ pub struct ReasonRepost { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyRef { ///When parent is a reply to another post, this is the author of that post. #[serde(skip_serializing_if = "Option::is_none")] @@ -610,6 +597,7 @@ pub struct ReplyRef { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -622,6 +610,7 @@ pub enum ReplyRefParent { BlockedPost(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -654,11 +643,9 @@ impl core::fmt::Display for RequestMore { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SkeletonFeedPost { ///Context that will be passed through to client and may be passed to feed generator back alongside interactions. #[serde(skip_serializing_if = "Option::is_none")] @@ -670,6 +657,7 @@ pub struct SkeletonFeedPost { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -680,21 +668,17 @@ pub enum SkeletonFeedPostReason { SkeletonReasonPin(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SkeletonReasonPin { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SkeletonReasonRepost { pub repost: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -704,10 +688,7 @@ pub struct SkeletonReasonRepost { /// Metadata about this post within the context of the thread it is in. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadContext { #[serde(skip_serializing_if = "Option::is_none")] pub root_author_like: Option>, @@ -715,11 +696,9 @@ pub struct ThreadContext { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadViewPost { #[serde(skip_serializing_if = "Option::is_none")] pub parent: Option>, @@ -732,6 +711,7 @@ pub struct ThreadViewPost { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -744,6 +724,7 @@ pub enum ThreadViewPostParent { BlockedPost(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -756,11 +737,9 @@ pub enum ThreadViewPostRepliesItem { BlockedPost(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadgateView { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -777,10 +756,7 @@ pub struct ThreadgateView { /// Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewerState { #[serde(skip_serializing_if = "Option::is_none")] pub bookmarked: Option, @@ -1153,7 +1129,7 @@ impl LexiconSchema for ViewerState { pub mod blocked_author_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1184,7 +1160,10 @@ pub mod blocked_author_state { } /// Builder for constructing an instance of this type. -pub struct BlockedAuthorBuilder { +pub struct BlockedAuthorBuilder< + St: blocked_author_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -1272,7 +1251,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BlockedAuthor { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BlockedAuthor { BlockedAuthor { did: self._fields.0.unwrap(), viewer: self._fields.1, @@ -1282,10 +1264,10 @@ where } fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.defs"), @@ -1308,7 +1290,9 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("viewer"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#viewerState"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#viewerState", + ), ..Default::default() }), ); @@ -1320,11 +1304,12 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("blockedPost"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("blocked"), - SmolStr::new_static("author"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("blocked"), + SmolStr::new_static("author") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1355,39 +1340,27 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("clickthroughAuthor"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("clickthroughEmbed"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("clickthroughItem"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("clickthroughReposter"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("contentModeUnspecified"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("contentModeVideo"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("feedViewPost"), @@ -1452,14 +1425,14 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("generatorView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("did"), - SmolStr::new_static("creator"), - SmolStr::new_static("displayName"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("did"), SmolStr::new_static("creator"), + SmolStr::new_static("displayName"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1485,14 +1458,14 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("contentMode"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("creator"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileView"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileView", + ), ..Default::default() }), ); @@ -1523,9 +1496,7 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("displayName"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("indexedAt"), @@ -1636,47 +1607,34 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("interactionLike"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("interactionQuote"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("interactionReply"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("interactionRepost"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("interactionSeen"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("interactionShare"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("notFoundPost"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("notFound"), - ]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("notFound")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1701,20 +1659,22 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("postView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("record"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("record"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -1746,7 +1706,7 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { CowStr::new_static("app.bsky.embed.gallery#view"), CowStr::new_static("app.bsky.embed.external#view"), CowStr::new_static("app.bsky.embed.record#view"), - CowStr::new_static("app.bsky.embed.recordWithMedia#view"), + CowStr::new_static("app.bsky.embed.recordWithMedia#view") ], ..Default::default() }), @@ -1838,17 +1798,18 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reasonRepost"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("by"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![SmolStr::new_static("by"), SmolStr::new_static("indexedAt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("by"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -1881,17 +1842,18 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("replyRef"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("root"), - SmolStr::new_static("parent"), - ]), + required: Some( + vec![SmolStr::new_static("root"), SmolStr::new_static("parent")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("grandparentAuthor"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -1901,7 +1863,7 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { refs: vec![ CowStr::new_static("#postView"), CowStr::new_static("#notFoundPost"), - CowStr::new_static("#blockedPost"), + CowStr::new_static("#blockedPost") ], ..Default::default() }), @@ -1912,7 +1874,7 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { refs: vec![ CowStr::new_static("#postView"), CowStr::new_static("#notFoundPost"), - CowStr::new_static("#blockedPost"), + CowStr::new_static("#blockedPost") ], ..Default::default() }), @@ -1924,15 +1886,11 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("requestLess"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("requestMore"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("skeletonFeedPost"), @@ -2008,9 +1966,11 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("threadContext"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Metadata about this post within the context of the thread it is in.", - )), + description: Some( + CowStr::new_static( + "Metadata about this post within the context of the thread it is in.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2039,7 +1999,7 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { refs: vec![ CowStr::new_static("#threadViewPost"), CowStr::new_static("#notFoundPost"), - CowStr::new_static("#blockedPost"), + CowStr::new_static("#blockedPost") ], ..Default::default() }), @@ -2058,7 +2018,7 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { refs: vec![ CowStr::new_static("#threadViewPost"), CowStr::new_static("#notFoundPost"), - CowStr::new_static("#blockedPost"), + CowStr::new_static("#blockedPost") ], ..Default::default() }), @@ -2094,7 +2054,9 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { SmolStr::new_static("lists"), LexObjectProperty::Array(LexArray { items: LexArrayItem::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.graph.defs#listViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.graph.defs#listViewBasic", + ), ..Default::default() }), ..Default::default() @@ -2186,7 +2148,7 @@ fn lexicon_doc_app_bsky_feed_defs() -> LexiconDoc<'static> { pub mod blocked_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2245,11 +2207,7 @@ pub mod blocked_post_state { /// Builder for constructing an instance of this type. pub struct BlockedPostBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option>, - ), + _fields: (Option>, Option, Option>), _type: PhantomData S>, } @@ -2363,7 +2321,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BlockedPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BlockedPost { BlockedPost { author: self._fields.0.unwrap(), blocked: self._fields.1.unwrap(), @@ -2375,7 +2336,7 @@ where pub mod feed_view_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2542,7 +2503,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> FeedViewPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> FeedViewPost { FeedViewPost { feed_context: self._fields.0, post: self._fields.1.unwrap(), @@ -2556,7 +2520,7 @@ where pub mod generator_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2667,7 +2631,10 @@ pub mod generator_view_state { } /// Builder for constructing an instance of this type. -pub struct GeneratorViewBuilder { +pub struct GeneratorViewBuilder< + St: generator_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -2708,7 +2675,20 @@ impl GeneratorViewBuilder { GeneratorViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2721,7 +2701,20 @@ impl GeneratorViewBuilder { GeneratorViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2775,12 +2768,18 @@ where impl GeneratorViewBuilder { /// Set the `contentMode` field (optional) - pub fn content_mode(mut self, value: impl Into>>) -> Self { + pub fn content_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `contentMode` field to an Option value (optional) - pub fn maybe_content_mode(mut self, value: Option>) -> Self { + pub fn maybe_content_mode( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -2820,7 +2819,10 @@ impl GeneratorViewBuilder { impl GeneratorViewBuilder { /// Set the `descriptionFacets` field (optional) - pub fn description_facets(mut self, value: impl Into>>>) -> Self { + pub fn description_facets( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.6 = value.into(); self } @@ -2935,7 +2937,10 @@ where impl GeneratorViewBuilder { /// Set the `viewer` field (optional) - pub fn viewer(mut self, value: impl Into>>) -> Self { + pub fn viewer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } @@ -2977,7 +2982,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GeneratorView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GeneratorView { GeneratorView { accepts_interactions: self._fields.0, avatar: self._fields.1, @@ -3000,7 +3008,7 @@ where pub mod not_found_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3138,7 +3146,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> NotFoundPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> NotFoundPost { NotFoundPost { not_found: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -3149,7 +3160,7 @@ where pub mod post_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3282,7 +3293,20 @@ impl PostViewBuilder { PostViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -3296,7 +3320,20 @@ impl PostViewBuilder { PostViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -3486,7 +3523,10 @@ impl PostViewBuilder { impl PostViewBuilder { /// Set the `threadgate` field (optional) - pub fn threadgate(mut self, value: impl Into>>) -> Self { + pub fn threadgate( + mut self, + value: impl Into>>, + ) -> Self { self._fields.12 = value.into(); self } @@ -3584,7 +3624,7 @@ where pub mod reason_repost_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3755,7 +3795,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReasonRepost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReasonRepost { ReasonRepost { by: self._fields.0.unwrap(), cid: self._fields.1, @@ -3768,7 +3811,7 @@ where pub mod reply_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3859,12 +3902,18 @@ impl ReplyRefBuilder { impl ReplyRefBuilder { /// Set the `grandparentAuthor` field (optional) - pub fn grandparent_author(mut self, value: impl Into>>) -> Self { + pub fn grandparent_author( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `grandparentAuthor` field to an Option value (optional) - pub fn maybe_grandparent_author(mut self, value: Option>) -> Self { + pub fn maybe_grandparent_author( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -3936,7 +3985,7 @@ where pub mod skeleton_feed_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3967,19 +4016,21 @@ pub mod skeleton_feed_post_state { } /// Builder for constructing an instance of this type. -pub struct SkeletonFeedPostBuilder { +pub struct SkeletonFeedPostBuilder< + St: skeleton_feed_post_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - ), + _fields: (Option, Option>, Option>), _type: PhantomData S>, } impl SkeletonFeedPost { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SkeletonFeedPostBuilder { + pub fn new() -> SkeletonFeedPostBuilder< + skeleton_feed_post_state::Empty, + DefaultStr, + > { SkeletonFeedPostBuilder::new() } } @@ -4047,7 +4098,10 @@ where impl SkeletonFeedPostBuilder { /// Set the `reason` field (optional) - pub fn reason(mut self, value: impl Into>>) -> Self { + pub fn reason( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -4073,7 +4127,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SkeletonFeedPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SkeletonFeedPost { SkeletonFeedPost { feed_context: self._fields.0, post: self._fields.1.unwrap(), @@ -4085,7 +4142,7 @@ where pub mod skeleton_reason_repost_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4127,14 +4184,20 @@ pub struct SkeletonReasonRepostBuilder< impl SkeletonReasonRepost { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SkeletonReasonRepostBuilder { + pub fn new() -> SkeletonReasonRepostBuilder< + skeleton_reason_repost_state::Empty, + DefaultStr, + > { SkeletonReasonRepostBuilder::new() } } impl SkeletonReasonRepost { /// Create a new builder for this type - pub fn builder() -> SkeletonReasonRepostBuilder { + pub fn builder() -> SkeletonReasonRepostBuilder< + skeleton_reason_repost_state::Empty, + S, + > { SkeletonReasonRepostBuilder::builder() } } @@ -4206,7 +4269,7 @@ where pub mod thread_view_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4237,7 +4300,10 @@ pub mod thread_view_post_state { } /// Builder for constructing an instance of this type. -pub struct ThreadViewPostBuilder { +pub struct ThreadViewPostBuilder< + St: thread_view_post_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -4318,12 +4384,18 @@ where impl ThreadViewPostBuilder { /// Set the `replies` field (optional) - pub fn replies(mut self, value: impl Into>>>) -> Self { + pub fn replies( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `replies` field to an Option value (optional) - pub fn maybe_replies(mut self, value: Option>>) -> Self { + pub fn maybe_replies( + mut self, + value: Option>>, + ) -> Self { self._fields.2 = value; self } @@ -4331,12 +4403,18 @@ impl ThreadViewPostBuilder impl ThreadViewPostBuilder { /// Set the `threadContext` field (optional) - pub fn thread_context(mut self, value: impl Into>>) -> Self { + pub fn thread_context( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `threadContext` field to an Option value (optional) - pub fn maybe_thread_context(mut self, value: Option>) -> Self { + pub fn maybe_thread_context( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -4358,7 +4436,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ThreadViewPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ThreadViewPost { ThreadViewPost { parent: self._fields.0, post: self._fields.1.unwrap(), @@ -4367,4 +4448,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/describe_feed_generator.rs b/crates/jacquard-api/src/app_bsky/feed/describe_feed_generator.rs index c93cf6b30..92525946c 100644 --- a/crates/jacquard-api/src/app_bsky/feed/describe_feed_generator.rs +++ b/crates/jacquard-api/src/app_bsky/feed/describe_feed_generator.rs @@ -10,38 +10,33 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Did}; +use jacquard_common::types::string::{Did, AtUri}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::feed::describe_feed_generator; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::describe_feed_generator; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Feed { pub uri: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Links { #[serde(skip_serializing_if = "Option::is_none")] pub privacy_policy: Option, @@ -51,11 +46,9 @@ pub struct Links { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DescribeFeedGeneratorOutput { pub did: Did, pub feeds: Vec>, @@ -131,7 +124,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeFeedGeneratorRequest { pub mod feed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -210,7 +203,10 @@ where St::Uri: feed_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> FeedBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> FeedBuilder, S> { self._fields.0 = Option::Some(value.into()); FeedBuilder { _state: PhantomData, @@ -242,10 +238,10 @@ where } fn lexicon_doc_app_bsky_feed_describeFeedGenerator() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.describeFeedGenerator"), @@ -278,15 +274,11 @@ fn lexicon_doc_app_bsky_feed_describeFeedGenerator() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("privacyPolicy"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("termsOfService"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -304,4 +296,4 @@ fn lexicon_doc_app_bsky_feed_describeFeedGenerator() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/generator.rs b/crates/jacquard-api/src/app_bsky/feed/generator.rs index 21339f09c..4b035c4e2 100644 --- a/crates/jacquard-api/src/app_bsky/feed/generator.rs +++ b/crates/jacquard-api/src/app_bsky/feed/generator.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::richtext::facet::Facet; -use crate::com_atproto::label::SelfLabels; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::richtext::facet::Facet; +use crate::com_atproto::label::SelfLabels; /// Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -61,6 +61,7 @@ pub struct Generator { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum GeneratorContentMode { ContentModeUnspecified, @@ -134,8 +135,12 @@ where GeneratorContentMode::ContentModeUnspecified => { GeneratorContentMode::ContentModeUnspecified } - GeneratorContentMode::ContentModeVideo => GeneratorContentMode::ContentModeVideo, - GeneratorContentMode::Other(v) => GeneratorContentMode::Other(v.into_static()), + GeneratorContentMode::ContentModeVideo => { + GeneratorContentMode::ContentModeVideo + } + GeneratorContentMode::Other(v) => { + GeneratorContentMode::Other(v.into_static()) + } } } } @@ -211,20 +216,25 @@ impl LexiconSchema for Generator { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -282,7 +292,7 @@ impl LexiconSchema for Generator { pub mod generator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -419,7 +429,10 @@ impl GeneratorBuilder { impl GeneratorBuilder { /// Set the `contentMode` field (optional) - pub fn content_mode(mut self, value: impl Into>>) -> Self { + pub fn content_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -464,7 +477,10 @@ impl GeneratorBuilder { impl GeneratorBuilder { /// Set the `descriptionFacets` field (optional) - pub fn description_facets(mut self, value: impl Into>>>) -> Self { + pub fn description_facets( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.5 = value.into(); self } @@ -549,7 +565,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Generator { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Generator { Generator { accepts_interactions: self._fields.0, avatar: self._fields.1, @@ -566,10 +585,10 @@ where } fn lexicon_doc_app_bsky_feed_generator() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.generator"), @@ -672,4 +691,4 @@ fn lexicon_doc_app_bsky_feed_generator() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_actor_feeds.rs b/crates/jacquard-api/src/app_bsky/feed/get_actor_feeds.rs index c07b90cef..b59513bda 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_actor_feeds.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_actor_feeds.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::GeneratorView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::GeneratorView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorFeeds { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,11 +30,9 @@ pub struct GetActorFeeds { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorFeedsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -80,7 +75,7 @@ fn _default_limit() -> Option { pub mod get_actor_feeds_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -111,7 +106,10 @@ pub mod get_actor_feeds_state { } /// Builder for constructing an instance of this type. -pub struct GetActorFeedsBuilder { +pub struct GetActorFeedsBuilder< + St: get_actor_feeds_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -211,4 +209,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_actor_likes.rs b/crates/jacquard-api/src/app_bsky/feed/get_actor_likes.rs index db22cdbea..db0adebcf 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_actor_likes.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_actor_likes.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::FeedViewPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::FeedViewPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorLikes { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,11 +30,9 @@ pub struct GetActorLikes { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorLikesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -46,9 +41,18 @@ pub struct GetActorLikesOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetActorLikesError { #[serde(rename = "BlockedActor")] @@ -57,10 +61,7 @@ pub enum GetActorLikesError { BlockedByActor(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetActorLikesError { @@ -125,7 +126,7 @@ fn _default_limit() -> Option { pub mod get_actor_likes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -156,7 +157,10 @@ pub mod get_actor_likes_state { } /// Builder for constructing an instance of this type. -pub struct GetActorLikesBuilder { +pub struct GetActorLikesBuilder< + St: get_actor_likes_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -256,4 +260,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_author_feed.rs b/crates/jacquard-api/src/app_bsky/feed/get_author_feed.rs index ba9ee74a7..5638160b4 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_author_feed.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_author_feed.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::FeedViewPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::FeedViewPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAuthorFeed { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -41,11 +38,9 @@ pub struct GetAuthorFeed { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAuthorFeedOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -54,9 +49,18 @@ pub struct GetAuthorFeedOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetAuthorFeedError { #[serde(rename = "BlockedActor")] @@ -65,10 +69,7 @@ pub enum GetAuthorFeedError { BlockedByActor(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetAuthorFeedError { @@ -141,7 +142,7 @@ fn _default_limit() -> Option { pub mod get_author_feed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,15 +173,12 @@ pub mod get_author_feed_state { } /// Builder for constructing an instance of this type. -pub struct GetAuthorFeedBuilder { +pub struct GetAuthorFeedBuilder< + St: get_author_feed_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option, - Option, - ), + _fields: (Option>, Option, Option, Option, Option), _type: PhantomData S>, } @@ -306,4 +304,4 @@ where limit: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_feed.rs b/crates/jacquard-api/src/app_bsky/feed/get_feed.rs index fb859525f..a403ddcc6 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_feed.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_feed.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::FeedViewPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::FeedViewPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeed { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -33,11 +30,9 @@ pub struct GetFeed { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -46,19 +41,25 @@ pub struct GetFeedOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetFeedError { #[serde(rename = "UnknownFeed")] UnknownFeed(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetFeedError { @@ -116,7 +117,7 @@ fn _default_limit() -> Option { pub mod get_feed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -247,4 +248,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_feed_generator.rs b/crates/jacquard-api/src/app_bsky/feed/get_feed_generator.rs index 7714a6d78..c823574c0 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_feed_generator.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_feed_generator.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::GeneratorView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::GeneratorView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedGenerator { pub feed: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedGeneratorOutput { ///Indicates whether the feed generator service has been online recently, or else seems to be inactive. pub is_online: bool, @@ -72,7 +67,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFeedGeneratorRequest { pub mod get_feed_generator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -103,7 +98,10 @@ pub mod get_feed_generator_state { } /// Builder for constructing an instance of this type. -pub struct GetFeedGeneratorBuilder { +pub struct GetFeedGeneratorBuilder< + St: get_feed_generator_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -111,7 +109,10 @@ pub struct GetFeedGeneratorBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetFeedGeneratorBuilder { + pub fn new() -> GetFeedGeneratorBuilder< + get_feed_generator_state::Empty, + DefaultStr, + > { GetFeedGeneratorBuilder::new() } } @@ -175,4 +176,4 @@ where feed: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_feed_generators.rs b/crates/jacquard-api/src/app_bsky/feed/get_feed_generators.rs index be1a9e890..41c544c70 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_feed_generators.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_feed_generators.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::GeneratorView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::GeneratorView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedGenerators { pub feeds: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedGeneratorsOutput { pub feeds: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFeedGeneratorsRequest { pub mod get_feed_generators_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_feed_generators_state { } /// Builder for constructing an instance of this type. -pub struct GetFeedGeneratorsBuilder { +pub struct GetFeedGeneratorsBuilder< + St: get_feed_generators_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -107,7 +105,10 @@ pub struct GetFeedGeneratorsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetFeedGeneratorsBuilder { + pub fn new() -> GetFeedGeneratorsBuilder< + get_feed_generators_state::Empty, + DefaultStr, + > { GetFeedGeneratorsBuilder::new() } } @@ -171,4 +172,4 @@ where feeds: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_feed_skeleton.rs b/crates/jacquard-api/src/app_bsky/feed/get_feed_skeleton.rs index ccad4d9c9..b9301b6bd 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_feed_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_feed_skeleton.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::SkeletonFeedPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::SkeletonFeedPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -33,11 +30,9 @@ pub struct GetFeedSkeleton { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedSkeletonOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -49,19 +44,25 @@ pub struct GetFeedSkeletonOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetFeedSkeletonError { #[serde(rename = "UnknownFeed")] UnknownFeed(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetFeedSkeletonError { @@ -119,7 +120,7 @@ fn _default_limit() -> Option { pub mod get_feed_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -150,7 +151,10 @@ pub mod get_feed_skeleton_state { } /// Builder for constructing an instance of this type. -pub struct GetFeedSkeletonBuilder { +pub struct GetFeedSkeletonBuilder< + St: get_feed_skeleton_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -250,4 +254,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_likes.rs b/crates/jacquard-api/src/app_bsky/feed/get_likes.rs index 89b3f5087..172323639 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_likes.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_likes.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::actor::ProfileView; -use crate::app_bsky::feed::get_likes; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; +use crate::app_bsky::feed::get_likes; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Like { pub actor: ProfileView, pub created_at: Datetime, @@ -40,11 +37,9 @@ pub struct Like { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLikes { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -57,11 +52,9 @@ pub struct GetLikes { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLikesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLikesRequest { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -302,10 +295,10 @@ where } fn lexicon_doc_app_bsky_feed_getLikes() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.getLikes"), @@ -314,18 +307,22 @@ fn lexicon_doc_app_bsky_feed_getLikes() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("like"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("indexedAt"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("actor"), - ]), + required: Some( + vec![ + SmolStr::new_static("indexedAt"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("actor") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("actor"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileView"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileView", + ), ..Default::default() }), ); @@ -413,7 +410,7 @@ fn _default_limit() -> Option { pub mod get_likes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -558,4 +555,4 @@ where uri: self._fields.3.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_list_feed.rs b/crates/jacquard-api/src/app_bsky/feed/get_list_feed.rs index cec09a2c1..6833e2793 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_list_feed.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_list_feed.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::FeedViewPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::FeedViewPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListFeed { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -33,11 +30,9 @@ pub struct GetListFeed { pub list: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListFeedOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -46,19 +41,25 @@ pub struct GetListFeedOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetListFeedError { #[serde(rename = "UnknownList")] UnknownList(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetListFeedError { @@ -116,7 +117,7 @@ fn _default_limit() -> Option { pub mod get_list_feed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -247,4 +248,4 @@ where list: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_post_thread.rs b/crates/jacquard-api/src/app_bsky/feed/get_post_thread.rs index b0ab832cf..2474d76ed 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_post_thread.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_post_thread.rs @@ -8,24 +8,21 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::BlockedPost; -use crate::app_bsky::feed::NotFoundPost; -use crate::app_bsky::feed::ThreadViewPost; -use crate::app_bsky::feed::ThreadgateView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::BlockedPost; +use crate::app_bsky::feed::NotFoundPost; +use crate::app_bsky::feed::ThreadViewPost; +use crate::app_bsky::feed::ThreadgateView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostThread { /// Defaults to `6`. Min: 0. Max: 1000. #[serde(default = "_default_depth")] @@ -38,11 +35,9 @@ pub struct GetPostThread { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostThreadOutput { pub thread: GetPostThreadOutputThread, #[serde(skip_serializing_if = "Option::is_none")] @@ -51,6 +46,7 @@ pub struct GetPostThreadOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -63,19 +59,25 @@ pub enum GetPostThreadOutputThread { BlockedPost(Box>), } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetPostThreadError { #[serde(rename = "NotFound")] NotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetPostThreadError { @@ -137,7 +139,7 @@ fn _default_parent_height() -> Option { pub mod get_post_thread_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,7 +170,10 @@ pub mod get_post_thread_state { } /// Builder for constructing an instance of this type. -pub struct GetPostThreadBuilder { +pub struct GetPostThreadBuilder< + St: get_post_thread_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -268,4 +273,4 @@ where uri: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_posts.rs b/crates/jacquard-api/src/app_bsky/feed/get_posts.rs index 3b5f5ff57..bff6f70d0 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_posts.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_posts.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::PostView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::PostView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPosts { pub uris: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostsOutput { pub posts: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPostsRequest { pub mod get_posts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -171,4 +166,4 @@ where uris: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_quotes.rs b/crates/jacquard-api/src/app_bsky/feed/get_quotes.rs index 35eaf5177..5bdce506e 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_quotes.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_quotes.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::PostView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::PostView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetQuotes { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -35,11 +32,9 @@ pub struct GetQuotes { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetQuotesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -85,7 +80,7 @@ fn _default_limit() -> Option { pub mod get_quotes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -230,4 +225,4 @@ where uri: self._fields.3.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_reposted_by.rs b/crates/jacquard-api/src/app_bsky/feed/get_reposted_by.rs index 606ec9b90..fbdddc58f 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_reposted_by.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_reposted_by.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepostedBy { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -35,11 +32,9 @@ pub struct GetRepostedBy { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepostedByOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -85,7 +80,7 @@ fn _default_limit() -> Option { pub mod get_reposted_by_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -116,7 +111,10 @@ pub mod get_reposted_by_state { } /// Builder for constructing an instance of this type. -pub struct GetRepostedByBuilder { +pub struct GetRepostedByBuilder< + St: get_reposted_by_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option, Option>), _type: PhantomData S>, @@ -230,4 +228,4 @@ where uri: self._fields.3.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_suggested_feeds.rs b/crates/jacquard-api/src/app_bsky/feed/get_suggested_feeds.rs index e68289910..652df2fbf 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_suggested_feeds.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_suggested_feeds.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::GeneratorView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::GeneratorView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedFeeds { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetSuggestedFeeds { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedFeedsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_suggested_feeds_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -96,7 +91,10 @@ pub mod get_suggested_feeds_state { } /// Builder for constructing an instance of this type. -pub struct GetSuggestedFeedsBuilder { +pub struct GetSuggestedFeedsBuilder< + St: get_suggested_feeds_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -104,7 +102,10 @@ pub struct GetSuggestedFeedsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetSuggestedFeedsBuilder { + pub fn new() -> GetSuggestedFeedsBuilder< + get_suggested_feeds_state::Empty, + DefaultStr, + > { GetSuggestedFeedsBuilder::new() } } @@ -175,4 +176,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/get_timeline.rs b/crates/jacquard-api/src/app_bsky/feed/get_timeline.rs index 8c887b0bd..14263075a 100644 --- a/crates/jacquard-api/src/app_bsky/feed/get_timeline.rs +++ b/crates/jacquard-api/src/app_bsky/feed/get_timeline.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::FeedViewPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::FeedViewPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTimeline { #[serde(skip_serializing_if = "Option::is_none")] pub algorithm: Option, @@ -33,11 +30,9 @@ pub struct GetTimeline { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTimelineOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -80,7 +75,7 @@ fn _default_limit() -> Option { pub mod get_timeline_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -191,4 +186,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/like.rs b/crates/jacquard-api/src/app_bsky/feed/like.rs index edc1d63be..aff071814 100644 --- a/crates/jacquard-api/src/app_bsky/feed/like.rs +++ b/crates/jacquard-api/src/app_bsky/feed/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Record declaring a 'like' of a piece of subject content. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -270,10 +270,10 @@ where } fn lexicon_doc_app_bsky_feed_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.like"), @@ -282,15 +282,19 @@ fn lexicon_doc_app_bsky_feed_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record declaring a 'like' of a piece of subject content.", - )), + description: Some( + CowStr::new_static( + "Record declaring a 'like' of a piece of subject content.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -326,4 +330,4 @@ fn lexicon_doc_app_bsky_feed_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/post.rs b/crates/jacquard-api/src/app_bsky/feed/post.rs index 54ead336b..814038102 100644 --- a/crates/jacquard-api/src/app_bsky/feed/post.rs +++ b/crates/jacquard-api/src/app_bsky/feed/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,26 +24,23 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::external::ExternalRecord; use crate::app_bsky::embed::gallery::Gallery; use crate::app_bsky::embed::images::Images; use crate::app_bsky::embed::record::Record; use crate::app_bsky::embed::record_with_media::RecordWithMedia; use crate::app_bsky::embed::video::Video; -use crate::app_bsky::feed::post; use crate::app_bsky::richtext::facet::Facet; use crate::com_atproto::label::SelfLabels; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::feed::post; /// Deprecated: use facets instead. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Entity { pub index: post::TextSlice, ///Expected values are 'mention' and 'link'. @@ -90,6 +87,7 @@ pub struct Post { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -119,11 +117,9 @@ pub struct PostGetRecordOutput { pub value: Post, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyRef { pub parent: StrongRef, pub root: StrongRef, @@ -134,10 +130,7 @@ pub struct ReplyRef { /// Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TextSlice { pub end: i64, pub start: i64, @@ -304,7 +297,7 @@ impl LexiconSchema for TextSlice { pub mod entity_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -428,7 +421,10 @@ where St::Type: entity_state::IsUnset, { /// Set the `type` field (required) - pub fn r#type(mut self, value: impl Into) -> EntityBuilder, S> { + pub fn r#type( + mut self, + value: impl Into, + ) -> EntityBuilder, S> { self._fields.1 = Option::Some(value.into()); EntityBuilder { _state: PhantomData, @@ -444,7 +440,10 @@ where St::Value: entity_state::IsUnset, { /// Set the `value` field (required) - pub fn value(mut self, value: impl Into) -> EntityBuilder, S> { + pub fn value( + mut self, + value: impl Into, + ) -> EntityBuilder, S> { self._fields.2 = Option::Some(value.into()); EntityBuilder { _state: PhantomData, @@ -482,10 +481,10 @@ where } fn lexicon_doc_app_bsky_feed_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.post"), @@ -494,12 +493,15 @@ fn lexicon_doc_app_bsky_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("entity"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Deprecated: use facets instead.")), - required: Some(vec![ - SmolStr::new_static("index"), - SmolStr::new_static("type"), - SmolStr::new_static("value"), - ]), + description: Some( + CowStr::new_static("Deprecated: use facets instead."), + ), + required: Some( + vec![ + SmolStr::new_static("index"), SmolStr::new_static("type"), + SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -513,17 +515,17 @@ fn lexicon_doc_app_bsky_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Expected values are 'mention' and 'link'.", - )), + description: Some( + CowStr::new_static( + "Expected values are 'mention' and 'link'.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("value"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -680,10 +682,9 @@ fn lexicon_doc_app_bsky_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("replyRef"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("root"), - SmolStr::new_static("parent"), - ]), + required: Some( + vec![SmolStr::new_static("root"), SmolStr::new_static("parent")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -747,7 +748,7 @@ fn lexicon_doc_app_bsky_feed_post() -> LexiconDoc<'static> { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -958,7 +959,10 @@ where St::Text: post_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> PostBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.8 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -1008,7 +1012,7 @@ where pub mod reply_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1157,7 +1161,7 @@ where pub mod text_slice_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1295,11 +1299,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TextSlice { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TextSlice { TextSlice { end: self._fields.0.unwrap(), start: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/postgate.rs b/crates/jacquard-api/src/app_bsky/feed/postgate.rs index 6fdaca6e3..e372f4262 100644 --- a/crates/jacquard-api/src/app_bsky/feed/postgate.rs +++ b/crates/jacquard-api/src/app_bsky/feed/postgate.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::feed::postgate; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::postgate; /// Disables embedding of this post. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DisableRule { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -158,10 +155,10 @@ impl LexiconSchema for Postgate { } fn lexicon_doc_app_bsky_feed_postgate() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.postgate"), @@ -170,7 +167,9 @@ fn lexicon_doc_app_bsky_feed_postgate() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("disableRule"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Disables embedding of this post.")), + description: Some( + CowStr::new_static("Disables embedding of this post."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -262,7 +261,7 @@ fn lexicon_doc_app_bsky_feed_postgate() -> LexiconDoc<'static> { pub mod postgate_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -373,12 +372,18 @@ where impl PostgateBuilder { /// Set the `detachedEmbeddingUris` field (optional) - pub fn detached_embedding_uris(mut self, value: impl Into>>>) -> Self { + pub fn detached_embedding_uris( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `detachedEmbeddingUris` field to an Option value (optional) - pub fn maybe_detached_embedding_uris(mut self, value: Option>>) -> Self { + pub fn maybe_detached_embedding_uris( + mut self, + value: Option>>, + ) -> Self { self._fields.1 = value; self } @@ -394,7 +399,10 @@ impl PostgateBuilder { self } /// Set the `embeddingRules` field to an Option value (optional) - pub fn maybe_embedding_rules(mut self, value: Option>>) -> Self { + pub fn maybe_embedding_rules( + mut self, + value: Option>>, + ) -> Self { self._fields.2 = value; self } @@ -445,4 +453,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/repost.rs b/crates/jacquard-api/src/app_bsky/feed/repost.rs index 598e5f6c0..ade4ae950 100644 --- a/crates/jacquard-api/src/app_bsky/feed/repost.rs +++ b/crates/jacquard-api/src/app_bsky/feed/repost.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Record representing a 'repost' of an existing Bluesky post. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Repost { pub mod repost_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -270,10 +270,10 @@ where } fn lexicon_doc_app_bsky_feed_repost() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.repost"), @@ -282,15 +282,19 @@ fn lexicon_doc_app_bsky_feed_repost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record representing a 'repost' of an existing Bluesky post.", - )), + description: Some( + CowStr::new_static( + "Record representing a 'repost' of an existing Bluesky post.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -326,4 +330,4 @@ fn lexicon_doc_app_bsky_feed_repost() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/search_posts.rs b/crates/jacquard-api/src/app_bsky/feed/search_posts.rs index 85c854598..354d49564 100644 --- a/crates/jacquard-api/src/app_bsky/feed/search_posts.rs +++ b/crates/jacquard-api/src/app_bsky/feed/search_posts.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::PostView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::string::{Language, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::PostView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchPosts { #[serde(skip_serializing_if = "Option::is_none")] pub author: Option>, @@ -54,11 +51,9 @@ pub struct SearchPosts { pub url: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchPostsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -70,19 +65,25 @@ pub struct SearchPostsOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SearchPostsError { #[serde(rename = "BadQueryString")] BadQueryString(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SearchPostsError { @@ -144,7 +145,7 @@ fn _default_sort() -> Option { pub mod search_posts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -214,7 +215,18 @@ impl SearchPostsBuilder { SearchPostsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -227,7 +239,18 @@ impl SearchPostsBuilder { SearchPostsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -318,7 +341,10 @@ where St::Q: search_posts_state::IsUnset, { /// Set the `q` field (required) - pub fn q(mut self, value: impl Into) -> SearchPostsBuilder, S> { + pub fn q( + mut self, + value: impl Into, + ) -> SearchPostsBuilder, S> { self._fields.6 = Option::Some(value.into()); SearchPostsBuilder { _state: PhantomData, @@ -415,4 +441,4 @@ where url: self._fields.11, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/send_interactions.rs b/crates/jacquard-api/src/app_bsky/feed/send_interactions.rs index 42747b272..5d2deb2fd 100644 --- a/crates/jacquard-api/src/app_bsky/feed/send_interactions.rs +++ b/crates/jacquard-api/src/app_bsky/feed/send_interactions.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::Interaction; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::Interaction; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendInteractions { #[serde(skip_serializing_if = "Option::is_none")] pub feed: Option>, @@ -31,11 +28,9 @@ pub struct SendInteractions { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendInteractionsOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for SendInteractionsResponse { impl jacquard_common::xrpc::XrpcRequest for SendInteractions { const NSID: &'static str = "app.bsky.feed.sendInteractions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SendInteractionsResponse; } @@ -65,15 +61,16 @@ Path: `/xrpc/app.bsky.feed.sendInteractions`. The request payload type is `SendI pub struct SendInteractionsRequest; impl jacquard_common::xrpc::XrpcEndpoint for SendInteractionsRequest { const PATH: &'static str = "/xrpc/app.bsky.feed.sendInteractions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = SendInteractions; type Response = SendInteractionsResponse; } pub mod send_interactions_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -104,7 +101,10 @@ pub mod send_interactions_state { } /// Builder for constructing an instance of this type. -pub struct SendInteractionsBuilder { +pub struct SendInteractionsBuilder< + St: send_interactions_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>>), _type: PhantomData S>, @@ -192,11 +192,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SendInteractions { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SendInteractions { SendInteractions { feed: self._fields.0, interactions: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/feed/threadgate.rs b/crates/jacquard-api/src/app_bsky/feed/threadgate.rs index c6c6dfa1c..d2f080231 100644 --- a/crates/jacquard-api/src/app_bsky/feed/threadgate.rs +++ b/crates/jacquard-api/src/app_bsky/feed/threadgate.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::feed::threadgate; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::threadgate; /// Allow replies from actors who follow you. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FollowerRule { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -43,10 +40,7 @@ pub struct FollowerRule { /// Allow replies from actors you follow. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FollowingRule { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -55,10 +49,7 @@ pub struct FollowingRule { /// Allow replies from actors on a list. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListRule { pub list: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -88,6 +79,7 @@ pub struct Threadgate { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -116,10 +108,7 @@ pub struct ThreadgateGetRecordOutput { /// Allow replies from actors mentioned in your post. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MentionRule { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -254,10 +243,10 @@ impl LexiconSchema for MentionRule { } fn lexicon_doc_app_bsky_feed_threadgate() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.feed.threadgate"), @@ -266,9 +255,9 @@ fn lexicon_doc_app_bsky_feed_threadgate() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("followerRule"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Allow replies from actors who follow you.", - )), + description: Some( + CowStr::new_static("Allow replies from actors who follow you."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -280,7 +269,9 @@ fn lexicon_doc_app_bsky_feed_threadgate() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("followingRule"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Allow replies from actors you follow.")), + description: Some( + CowStr::new_static("Allow replies from actors you follow."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -292,7 +283,9 @@ fn lexicon_doc_app_bsky_feed_threadgate() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("listRule"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Allow replies from actors on a list.")), + description: Some( + CowStr::new_static("Allow replies from actors on a list."), + ), required: Some(vec![SmolStr::new_static("list")]), properties: { #[allow(unused_mut)] @@ -390,9 +383,11 @@ fn lexicon_doc_app_bsky_feed_threadgate() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("mentionRule"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Allow replies from actors mentioned in your post.", - )), + description: Some( + CowStr::new_static( + "Allow replies from actors mentioned in your post.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -409,7 +404,7 @@ fn lexicon_doc_app_bsky_feed_threadgate() -> LexiconDoc<'static> { pub mod list_rule_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -524,7 +519,7 @@ where pub mod threadgate_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -616,7 +611,10 @@ impl ThreadgateBuilder { impl ThreadgateBuilder { /// Set the `allow` field (optional) - pub fn allow(mut self, value: impl Into>>>) -> Self { + pub fn allow( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -695,7 +693,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Threadgate { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Threadgate { Threadgate { allow: self._fields.0, created_at: self._fields.1.unwrap(), @@ -704,4 +705,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph.rs b/crates/jacquard-api/src/app_bsky/graph.rs index 53f52034c..7d9877c98 100644 --- a/crates/jacquard-api/src/app_bsky/graph.rs +++ b/crates/jacquard-api/src/app_bsky/graph.rs @@ -37,32 +37,33 @@ pub mod unmute_actor_list; pub mod unmute_thread; pub mod verification; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileView; use crate::app_bsky::actor::ProfileViewBasic; use crate::app_bsky::feed::GeneratorView; -use crate::app_bsky::graph; use crate::app_bsky::richtext::facet::Facet; use crate::com_atproto::label::Label; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::graph; /// A list of actors used for curation purposes such as list feeds or interaction gating. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -73,11 +74,9 @@ impl core::fmt::Display for Curatelist { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListItemView { pub subject: ProfileView, pub uri: AtUri, @@ -85,6 +84,7 @@ pub struct ListItemView { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ListPurpose { AppBskyGraphDefsModlist, @@ -153,7 +153,9 @@ where fn into_static(self) -> Self::Output { match self { ListPurpose::AppBskyGraphDefsModlist => ListPurpose::AppBskyGraphDefsModlist, - ListPurpose::AppBskyGraphDefsCuratelist => ListPurpose::AppBskyGraphDefsCuratelist, + ListPurpose::AppBskyGraphDefsCuratelist => { + ListPurpose::AppBskyGraphDefsCuratelist + } ListPurpose::AppBskyGraphDefsReferencelist => { ListPurpose::AppBskyGraphDefsReferencelist } @@ -162,11 +164,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListView { #[serde(skip_serializing_if = "Option::is_none")] pub avatar: Option>, @@ -190,11 +190,9 @@ pub struct ListView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListViewBasic { #[serde(skip_serializing_if = "Option::is_none")] pub avatar: Option>, @@ -214,11 +212,9 @@ pub struct ListViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListViewerState { #[serde(skip_serializing_if = "Option::is_none")] pub blocked: Option>, @@ -241,10 +237,7 @@ impl core::fmt::Display for Modlist { /// indicates that a handle or DID could not be resolved #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NotFoundActor { pub actor: AtIdentifier, pub not_found: bool, @@ -265,10 +258,7 @@ impl core::fmt::Display for Referencelist { /// lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Relationship { ///if the actor is blocked by this DID, contains the AT-URI of the block record #[serde(skip_serializing_if = "Option::is_none")] @@ -293,11 +283,9 @@ pub struct Relationship { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StarterPackView { pub cid: Cid, pub creator: ProfileViewBasic, @@ -320,11 +308,9 @@ pub struct StarterPackView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StarterPackViewBasic { pub cid: Cid, pub creator: ProfileViewBasic, @@ -614,7 +600,7 @@ impl LexiconSchema for StarterPackViewBasic { pub mod list_item_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -752,7 +738,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ListItemView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ListItemView { ListItemView { subject: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -762,10 +751,10 @@ where } fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.defs"), @@ -773,24 +762,23 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("curatelist"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("listItemView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("subject"), - ]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("subject")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("subject"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileView"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileView", + ), ..Default::default() }), ); @@ -808,21 +796,19 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("listPurpose"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("listView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("creator"), - SmolStr::new_static("name"), - SmolStr::new_static("purpose"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("creator"), SmolStr::new_static("name"), + SmolStr::new_static("purpose"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -843,7 +829,9 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("creator"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileView"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileView", + ), ..Default::default() }), ); @@ -926,12 +914,12 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("listViewBasic"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("name"), - SmolStr::new_static("purpose"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("name"), SmolStr::new_static("purpose") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1033,20 +1021,21 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("modlist"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("notFoundActor"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "indicates that a handle or DID could not be resolved", - )), - required: Some(vec![ - SmolStr::new_static("actor"), - SmolStr::new_static("notFound"), - ]), + description: Some( + CowStr::new_static( + "indicates that a handle or DID could not be resolved", + ), + ), + required: Some( + vec![ + SmolStr::new_static("actor"), SmolStr::new_static("notFound") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1070,9 +1059,7 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("referencelist"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("relationship"), @@ -1173,13 +1160,14 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("starterPackView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("record"), - SmolStr::new_static("creator"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("record"), + SmolStr::new_static("creator"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1193,7 +1181,9 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("creator"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -1201,7 +1191,9 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { SmolStr::new_static("feeds"), LexObjectProperty::Array(LexArray { items: LexArrayItem::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.feed.defs#generatorView"), + r#ref: CowStr::new_static( + "app.bsky.feed.defs#generatorView", + ), ..Default::default() }), max_length: Some(3usize), @@ -1278,13 +1270,14 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("starterPackViewBasic"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("record"), - SmolStr::new_static("creator"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("record"), + SmolStr::new_static("creator"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1298,7 +1291,9 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("creator"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -1366,7 +1361,7 @@ fn lexicon_doc_app_bsky_graph_defs() -> LexiconDoc<'static> { pub mod list_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1516,7 +1511,18 @@ impl ListViewBuilder { ListViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1529,7 +1535,18 @@ impl ListViewBuilder { ListViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1602,7 +1619,10 @@ impl ListViewBuilder { impl ListViewBuilder { /// Set the `descriptionFacets` field (optional) - pub fn description_facets(mut self, value: impl Into>>>) -> Self { + pub fn description_facets( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -1664,7 +1684,10 @@ where St::Name: list_view_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ListViewBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ListViewBuilder, S> { self._fields.8 = Option::Some(value.into()); ListViewBuilder { _state: PhantomData, @@ -1714,7 +1737,10 @@ where impl ListViewBuilder { /// Set the `viewer` field (optional) - pub fn viewer(mut self, value: impl Into>>) -> Self { + pub fn viewer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.11 = value.into(); self } @@ -1775,7 +1801,7 @@ where pub mod list_view_basic_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1848,7 +1874,10 @@ pub mod list_view_basic_state { } /// Builder for constructing an instance of this type. -pub struct ListViewBasicBuilder { +pub struct ListViewBasicBuilder< + St: list_view_basic_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -2030,7 +2059,10 @@ where impl ListViewBasicBuilder { /// Set the `viewer` field (optional) - pub fn viewer(mut self, value: impl Into>>) -> Self { + pub fn viewer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.8 = value.into(); self } @@ -2065,7 +2097,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ListViewBasic { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ListViewBasic { ListViewBasic { avatar: self._fields.0, cid: self._fields.1.unwrap(), @@ -2083,7 +2118,7 @@ where pub mod not_found_actor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2126,7 +2161,10 @@ pub mod not_found_actor_state { } /// Builder for constructing an instance of this type. -pub struct NotFoundActorBuilder { +pub struct NotFoundActorBuilder< + St: not_found_actor_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option), _type: PhantomData S>, @@ -2221,7 +2259,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> NotFoundActor { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> NotFoundActor { NotFoundActor { actor: self._fields.0.unwrap(), not_found: self._fields.1.unwrap(), @@ -2232,7 +2273,7 @@ where pub mod relationship_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2429,7 +2470,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Relationship { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Relationship { Relationship { blocked_by: self._fields.0, blocked_by_list: self._fields.1, @@ -2445,7 +2489,7 @@ where pub mod starter_pack_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2536,7 +2580,10 @@ pub mod starter_pack_view_state { } /// Builder for constructing an instance of this type. -pub struct StarterPackViewBuilder { +pub struct StarterPackViewBuilder< + St: starter_pack_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -2573,9 +2620,7 @@ impl StarterPackViewBuilder { pub fn new() -> Self { StarterPackViewBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -2586,9 +2631,7 @@ impl StarterPackViewBuilder { pub fn builder() -> Self { StarterPackViewBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -2726,7 +2769,10 @@ impl StarterPackViewBuilder>>) -> Self { + pub fn maybe_list_items_sample( + mut self, + value: Option>>, + ) -> Self { self._fields.8 = value; self } @@ -2797,7 +2843,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> StarterPackView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> StarterPackView { StarterPackView { cid: self._fields.0.unwrap(), creator: self._fields.1.unwrap(), @@ -2817,7 +2866,7 @@ where pub mod starter_pack_view_basic_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2929,14 +2978,20 @@ pub struct StarterPackViewBasicBuilder< impl StarterPackViewBasic { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> StarterPackViewBasicBuilder { + pub fn new() -> StarterPackViewBasicBuilder< + starter_pack_view_basic_state::Empty, + DefaultStr, + > { StarterPackViewBasicBuilder::new() } } impl StarterPackViewBasic { /// Create a new builder for this type - pub fn builder() -> StarterPackViewBasicBuilder { + pub fn builder() -> StarterPackViewBasicBuilder< + starter_pack_view_basic_state::Empty, + S, + > { StarterPackViewBasicBuilder::builder() } } @@ -3010,7 +3065,10 @@ where pub fn indexed_at( mut self, value: impl Into, - ) -> StarterPackViewBasicBuilder, S> { + ) -> StarterPackViewBasicBuilder< + starter_pack_view_basic_state::SetIndexedAt, + S, + > { self._fields.2 = Option::Some(value.into()); StarterPackViewBasicBuilder { _state: PhantomData, @@ -3020,7 +3078,10 @@ where } } -impl StarterPackViewBasicBuilder { +impl< + St: starter_pack_view_basic_state::State, + S: BosStr, +> StarterPackViewBasicBuilder { /// Set the `joinedAllTimeCount` field (optional) pub fn joined_all_time_count(mut self, value: impl Into>) -> Self { self._fields.3 = value.into(); @@ -3033,7 +3094,10 @@ impl StarterPackViewBasicBu } } -impl StarterPackViewBasicBuilder { +impl< + St: starter_pack_view_basic_state::State, + S: BosStr, +> StarterPackViewBasicBuilder { /// Set the `joinedWeekCount` field (optional) pub fn joined_week_count(mut self, value: impl Into>) -> Self { self._fields.4 = value.into(); @@ -3046,7 +3110,10 @@ impl StarterPackViewBasicBu } } -impl StarterPackViewBasicBuilder { +impl< + St: starter_pack_view_basic_state::State, + S: BosStr, +> StarterPackViewBasicBuilder { /// Set the `labels` field (optional) pub fn labels(mut self, value: impl Into>>>) -> Self { self._fields.5 = value.into(); @@ -3059,7 +3126,10 @@ impl StarterPackViewBasicBu } } -impl StarterPackViewBasicBuilder { +impl< + St: starter_pack_view_basic_state::State, + S: BosStr, +> StarterPackViewBasicBuilder { /// Set the `listItemCount` field (optional) pub fn list_item_count(mut self, value: impl Into>) -> Self { self._fields.6 = value.into(); @@ -3152,4 +3222,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/block.rs b/crates/jacquard-api/src/app_bsky/graph/block.rs index 8dc8846e4..b0cbc5b97 100644 --- a/crates/jacquard-api/src/app_bsky/graph/block.rs +++ b/crates/jacquard-api/src/app_bsky/graph/block.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Block { pub mod block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -253,10 +253,10 @@ where } fn lexicon_doc_app_bsky_graph_block() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.block"), @@ -309,4 +309,4 @@ fn lexicon_doc_app_bsky_graph_block() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/follow.rs b/crates/jacquard-api/src/app_bsky/graph/follow.rs index 1ab4dbf92..a2256810c 100644 --- a/crates/jacquard-api/src/app_bsky/graph/follow.rs +++ b/crates/jacquard-api/src/app_bsky/graph/follow.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Follow { pub mod follow_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -270,10 +270,10 @@ where } fn lexicon_doc_app_bsky_graph_follow() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.follow"), @@ -330,4 +330,4 @@ fn lexicon_doc_app_bsky_graph_follow() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_actor_starter_packs.rs b/crates/jacquard-api/src/app_bsky/graph/get_actor_starter_packs.rs index 6100f1afc..391923cd6 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_actor_starter_packs.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_actor_starter_packs.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::StarterPackViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::StarterPackViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorStarterPacks { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,11 +30,9 @@ pub struct GetActorStarterPacks { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorStarterPacksOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -80,7 +75,7 @@ fn _default_limit() -> Option { pub mod get_actor_starter_packs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -122,14 +117,20 @@ pub struct GetActorStarterPacksBuilder< impl GetActorStarterPacks { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetActorStarterPacksBuilder { + pub fn new() -> GetActorStarterPacksBuilder< + get_actor_starter_packs_state::Empty, + DefaultStr, + > { GetActorStarterPacksBuilder::new() } } impl GetActorStarterPacks { /// Create a new builder for this type - pub fn builder() -> GetActorStarterPacksBuilder { + pub fn builder() -> GetActorStarterPacksBuilder< + get_actor_starter_packs_state::Empty, + S, + > { GetActorStarterPacksBuilder::builder() } } @@ -175,7 +176,10 @@ where } } -impl GetActorStarterPacksBuilder { +impl< + St: get_actor_starter_packs_state::State, + S: BosStr, +> GetActorStarterPacksBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -188,7 +192,10 @@ impl GetActorStarterPacksBu } } -impl GetActorStarterPacksBuilder { +impl< + St: get_actor_starter_packs_state::State, + S: BosStr, +> GetActorStarterPacksBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -214,4 +221,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_blocks.rs b/crates/jacquard-api/src/app_bsky/graph/get_blocks.rs index 4a510b3f9..1174f056c 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_blocks.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_blocks.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBlocks { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetBlocks { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBlocksOutput { pub blocks: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_blocks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -175,4 +170,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_followers.rs b/crates/jacquard-api/src/app_bsky/graph/get_followers.rs index 7b3aab85c..ffcce00dc 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_followers.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_followers.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollowers { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,11 +30,9 @@ pub struct GetFollowers { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollowersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod get_followers_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,4 +207,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_follows.rs b/crates/jacquard-api/src/app_bsky/graph/get_follows.rs index b7b0f8143..3066c5d94 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_follows.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_follows.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollows { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,11 +30,9 @@ pub struct GetFollows { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollowsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod get_follows_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,4 +207,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_known_followers.rs b/crates/jacquard-api/src/app_bsky/graph/get_known_followers.rs index 1fe240a57..d154558d6 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_known_followers.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_known_followers.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetKnownFollowers { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,11 +30,9 @@ pub struct GetKnownFollowers { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetKnownFollowersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod get_known_followers_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -112,7 +107,10 @@ pub mod get_known_followers_state { } /// Builder for constructing an instance of this type. -pub struct GetKnownFollowersBuilder { +pub struct GetKnownFollowersBuilder< + St: get_known_followers_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -120,7 +118,10 @@ pub struct GetKnownFollowersBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetKnownFollowersBuilder { + pub fn new() -> GetKnownFollowersBuilder< + get_known_followers_state::Empty, + DefaultStr, + > { GetKnownFollowersBuilder::new() } } @@ -212,4 +213,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_list.rs b/crates/jacquard-api/src/app_bsky/graph/get_list.rs index aed85d014..b05fe0d20 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_list.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_list.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::ListItemView; -use crate::app_bsky::graph::ListView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::ListItemView; +use crate::app_bsky::graph::ListView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetList { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -34,11 +31,9 @@ pub struct GetList { pub list: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -82,7 +77,7 @@ fn _default_limit() -> Option { pub mod get_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -213,4 +208,4 @@ where list: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_list_blocks.rs b/crates/jacquard-api/src/app_bsky/graph/get_list_blocks.rs index 453658295..989c8fc4f 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_list_blocks.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_list_blocks.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::ListView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::ListView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListBlocks { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetListBlocks { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListBlocksOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_list_blocks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -96,7 +91,10 @@ pub mod get_list_blocks_state { } /// Builder for constructing an instance of this type. -pub struct GetListBlocksBuilder { +pub struct GetListBlocksBuilder< + St: get_list_blocks_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -175,4 +173,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_list_mutes.rs b/crates/jacquard-api/src/app_bsky/graph/get_list_mutes.rs index c9e766ed1..096590a75 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_list_mutes.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_list_mutes.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::ListView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::ListView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListMutes { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetListMutes { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListMutesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_list_mutes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -175,4 +170,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_lists.rs b/crates/jacquard-api/src/app_bsky/graph/get_lists.rs index 30908c080..dfeb19ff2 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_lists.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_lists.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::ListView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::ListView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLists { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -35,11 +32,9 @@ pub struct GetLists { pub purposes: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -82,7 +77,7 @@ fn _default_limit() -> Option { pub mod get_lists_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -115,12 +110,7 @@ pub mod get_lists_state { /// Builder for constructing an instance of this type. pub struct GetListsBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option>, - ), + _fields: (Option>, Option, Option, Option>), _type: PhantomData S>, } @@ -232,4 +222,4 @@ where purposes: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_lists_with_membership.rs b/crates/jacquard-api/src/app_bsky/graph/get_lists_with_membership.rs index 9352005d3..d3c1a25a4 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_lists_with_membership.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_lists_with_membership.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,19 +21,16 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::graph::ListItemView; use crate::app_bsky::graph::ListView; use crate::app_bsky::graph::get_lists_with_membership; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A list and an optional list item indicating membership of a target user to that list. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListWithMembership { pub list: ListView, #[serde(skip_serializing_if = "Option::is_none")] @@ -42,11 +39,9 @@ pub struct ListWithMembership { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListsWithMembership { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -59,11 +54,9 @@ pub struct GetListsWithMembership { pub purposes: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetListsWithMembershipOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -117,7 +110,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetListsWithMembershipRequest { pub mod list_with_membership_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -148,8 +141,10 @@ pub mod list_with_membership_state { } /// Builder for constructing an instance of this type. -pub struct ListWithMembershipBuilder -{ +pub struct ListWithMembershipBuilder< + St: list_with_membership_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -157,7 +152,10 @@ pub struct ListWithMembershipBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListWithMembershipBuilder { + pub fn new() -> ListWithMembershipBuilder< + list_with_membership_state::Empty, + DefaultStr, + > { ListWithMembershipBuilder::new() } } @@ -237,7 +235,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ListWithMembership { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ListWithMembership { ListWithMembership { list: self._fields.0.unwrap(), list_item: self._fields.1, @@ -247,10 +248,10 @@ where } fn lexicon_doc_app_bsky_graph_getListsWithMembership() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.getListsWithMembership"), @@ -292,46 +293,50 @@ fn lexicon_doc_app_bsky_graph_getListsWithMembership() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("actor")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("actor"), - LexXrpcParametersProperty::String(LexString { - description: Some(CowStr::new_static( - "The account (actor) to check for membership.", - )), - format: Some(LexStringFormat::AtIdentifier), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("purposes"), - LexXrpcParametersProperty::Array(LexPrimitiveArray { - items: LexPrimitiveArrayItem::String(LexString { + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("actor")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("actor"), + LexXrpcParametersProperty::String(LexString { + description: Some( + CowStr::new_static( + "The account (actor) to check for membership.", + ), + ), + format: Some(LexStringFormat::AtIdentifier), ..Default::default() }), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + ); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("purposes"), + LexXrpcParametersProperty::Array(LexPrimitiveArray { + items: LexPrimitiveArrayItem::String(LexString { + ..Default::default() + }), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -347,7 +352,7 @@ fn _default_limit() -> Option { pub mod get_lists_with_membership_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -383,26 +388,26 @@ pub struct GetListsWithMembershipBuilder< S: BosStr = DefaultStr, > { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option>, - ), + _fields: (Option>, Option, Option, Option>), _type: PhantomData S>, } impl GetListsWithMembership { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetListsWithMembershipBuilder - { + pub fn new() -> GetListsWithMembershipBuilder< + get_lists_with_membership_state::Empty, + DefaultStr, + > { GetListsWithMembershipBuilder::new() } } impl GetListsWithMembership { /// Create a new builder for this type - pub fn builder() -> GetListsWithMembershipBuilder { + pub fn builder() -> GetListsWithMembershipBuilder< + get_lists_with_membership_state::Empty, + S, + > { GetListsWithMembershipBuilder::builder() } } @@ -418,7 +423,9 @@ impl GetListsWithMembershipBuilder GetListsWithMembershipBuilder { +impl< + S: BosStr, +> GetListsWithMembershipBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetListsWithMembershipBuilder { @@ -438,7 +445,10 @@ where pub fn actor( mut self, value: impl Into>, - ) -> GetListsWithMembershipBuilder, S> { + ) -> GetListsWithMembershipBuilder< + get_lists_with_membership_state::SetActor, + S, + > { self._fields.0 = Option::Some(value.into()); GetListsWithMembershipBuilder { _state: PhantomData, @@ -448,7 +458,10 @@ where } } -impl GetListsWithMembershipBuilder { +impl< + St: get_lists_with_membership_state::State, + S: BosStr, +> GetListsWithMembershipBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -461,7 +474,10 @@ impl GetListsWithMembersh } } -impl GetListsWithMembershipBuilder { +impl< + St: get_lists_with_membership_state::State, + S: BosStr, +> GetListsWithMembershipBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -474,7 +490,10 @@ impl GetListsWithMembersh } } -impl GetListsWithMembershipBuilder { +impl< + St: get_lists_with_membership_state::State, + S: BosStr, +> GetListsWithMembershipBuilder { /// Set the `purposes` field (optional) pub fn purposes(mut self, value: impl Into>>) -> Self { self._fields.3 = value.into(); @@ -501,4 +520,4 @@ where purposes: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_mutes.rs b/crates/jacquard-api/src/app_bsky/graph/get_mutes.rs index b2fa1f024..464d47cfa 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_mutes.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_mutes.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMutes { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetMutes { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMutesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_mutes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -175,4 +170,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_relationships.rs b/crates/jacquard-api/src/app_bsky/graph/get_relationships.rs index 4d9d1b9b2..a3c909aec 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_relationships.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_relationships.rs @@ -8,34 +8,29 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::NotFoundActor; -use crate::app_bsky::graph::Relationship; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::NotFoundActor; +use crate::app_bsky::graph::Relationship; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRelationships { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] pub others: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRelationshipsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub actor: Option>, @@ -44,6 +39,7 @@ pub struct GetRelationshipsOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -54,9 +50,18 @@ pub enum GetRelationshipsOutputRelationshipsItem { NotFoundActor(Box>), } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRelationshipsError { /// the primary actor at-identifier could not be resolved @@ -64,10 +69,7 @@ pub enum GetRelationshipsError { ActorNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRelationshipsError { @@ -121,7 +123,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRelationshipsRequest { pub mod get_relationships_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -152,7 +154,10 @@ pub mod get_relationships_state { } /// Builder for constructing an instance of this type. -pub struct GetRelationshipsBuilder { +pub struct GetRelationshipsBuilder< + St: get_relationships_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>>), _type: PhantomData S>, @@ -238,4 +243,4 @@ where others: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_starter_pack.rs b/crates/jacquard-api/src/app_bsky/graph/get_starter_pack.rs index 4f9a2f2e5..35c3d2189 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_starter_pack.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_starter_pack.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::StarterPackView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::StarterPackView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStarterPack { pub starter_pack: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStarterPackOutput { pub starter_pack: StarterPackView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStarterPackRequest { pub mod get_starter_pack_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_starter_pack_state { } /// Builder for constructing an instance of this type. -pub struct GetStarterPackBuilder { +pub struct GetStarterPackBuilder< + St: get_starter_pack_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -171,4 +169,4 @@ where starter_pack: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_starter_packs.rs b/crates/jacquard-api/src/app_bsky/graph/get_starter_packs.rs index f796b0782..850af7c91 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_starter_packs.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_starter_packs.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::StarterPackViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::StarterPackViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStarterPacks { pub uris: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStarterPacksOutput { pub starter_packs: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStarterPacksRequest { pub mod get_starter_packs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_starter_packs_state { } /// Builder for constructing an instance of this type. -pub struct GetStarterPacksBuilder { +pub struct GetStarterPacksBuilder< + St: get_starter_packs_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -171,4 +169,4 @@ where uris: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_starter_packs_with_membership.rs b/crates/jacquard-api/src/app_bsky/graph/get_starter_packs_with_membership.rs index a38456837..9363a7eac 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_starter_packs_with_membership.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_starter_packs_with_membership.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,18 +21,15 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::graph::ListItemView; use crate::app_bsky::graph::StarterPackView; use crate::app_bsky::graph::get_starter_packs_with_membership; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStarterPacksWithMembership { pub actor: AtIdentifier, #[serde(skip_serializing_if = "Option::is_none")] @@ -43,16 +40,15 @@ pub struct GetStarterPacksWithMembership { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStarterPacksWithMembershipOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, - pub starter_packs_with_membership: - Vec>, + pub starter_packs_with_membership: Vec< + get_starter_packs_with_membership::StarterPackWithMembership, + >, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } @@ -60,10 +56,7 @@ pub struct GetStarterPacksWithMembershipOutput { /// A starter pack and an optional list item indicating membership of a target user to that starter pack. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StarterPackWithMembership { #[serde(skip_serializing_if = "Option::is_none")] pub list_item: Option>, @@ -121,7 +114,7 @@ fn _default_limit() -> Option { pub mod get_starter_packs_with_membership_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -173,15 +166,18 @@ impl GetStarterPacksWithMembership { impl GetStarterPacksWithMembership { /// Create a new builder for this type - pub fn builder() - -> GetStarterPacksWithMembershipBuilder { + pub fn builder() -> GetStarterPacksWithMembershipBuilder< + get_starter_packs_with_membership_state::Empty, + S, + > { GetStarterPacksWithMembershipBuilder::builder() } } -impl - GetStarterPacksWithMembershipBuilder -{ +impl GetStarterPacksWithMembershipBuilder< + get_starter_packs_with_membership_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetStarterPacksWithMembershipBuilder { @@ -192,9 +188,12 @@ impl } } -impl - GetStarterPacksWithMembershipBuilder -{ +impl< + S: BosStr, +> GetStarterPacksWithMembershipBuilder< + get_starter_packs_with_membership_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetStarterPacksWithMembershipBuilder { @@ -227,9 +226,10 @@ where } } -impl - GetStarterPacksWithMembershipBuilder -{ +impl< + St: get_starter_packs_with_membership_state::State, + S: BosStr, +> GetStarterPacksWithMembershipBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -242,9 +242,10 @@ impl } } -impl - GetStarterPacksWithMembershipBuilder -{ +impl< + St: get_starter_packs_with_membership_state::State, + S: BosStr, +> GetStarterPacksWithMembershipBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -274,7 +275,7 @@ where pub mod starter_pack_with_membership_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -316,21 +317,28 @@ pub struct StarterPackWithMembershipBuilder< impl StarterPackWithMembership { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> StarterPackWithMembershipBuilder { + pub fn new() -> StarterPackWithMembershipBuilder< + starter_pack_with_membership_state::Empty, + DefaultStr, + > { StarterPackWithMembershipBuilder::new() } } impl StarterPackWithMembership { /// Create a new builder for this type - pub fn builder() - -> StarterPackWithMembershipBuilder { + pub fn builder() -> StarterPackWithMembershipBuilder< + starter_pack_with_membership_state::Empty, + S, + > { StarterPackWithMembershipBuilder::builder() } } -impl StarterPackWithMembershipBuilder { +impl StarterPackWithMembershipBuilder< + starter_pack_with_membership_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { StarterPackWithMembershipBuilder { @@ -341,7 +349,9 @@ impl StarterPackWithMembershipBuilder StarterPackWithMembershipBuilder { +impl< + S: BosStr, +> StarterPackWithMembershipBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { StarterPackWithMembershipBuilder { @@ -352,9 +362,10 @@ impl StarterPackWithMembershipBuilder - StarterPackWithMembershipBuilder -{ +impl< + St: starter_pack_with_membership_state::State, + S: BosStr, +> StarterPackWithMembershipBuilder { /// Set the `listItem` field (optional) pub fn list_item(mut self, value: impl Into>>) -> Self { self._fields.0 = value.into(); @@ -376,8 +387,10 @@ where pub fn starter_pack( mut self, value: impl Into>, - ) -> StarterPackWithMembershipBuilder, S> - { + ) -> StarterPackWithMembershipBuilder< + starter_pack_with_membership_state::SetStarterPack, + S, + > { self._fields.1 = Option::Some(value.into()); StarterPackWithMembershipBuilder { _state: PhantomData, @@ -414,10 +427,10 @@ where } fn lexicon_doc_app_bsky_graph_getStarterPacksWithMembership() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.getStarterPacksWithMembership"), @@ -426,37 +439,41 @@ fn lexicon_doc_app_bsky_graph_getStarterPacksWithMembership() -> LexiconDoc<'sta map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("actor")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("actor"), - LexXrpcParametersProperty::String(LexString { - description: Some(CowStr::new_static( - "The account (actor) to check for membership.", - )), - format: Some(LexStringFormat::AtIdentifier), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("actor")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("actor"), + LexXrpcParametersProperty::String(LexString { + description: Some( + CowStr::new_static( + "The account (actor) to check for membership.", + ), + ), + format: Some(LexStringFormat::AtIdentifier), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -499,4 +516,4 @@ fn lexicon_doc_app_bsky_graph_getStarterPacksWithMembership() -> LexiconDoc<'sta }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/get_suggested_follows_by_actor.rs b/crates/jacquard-api/src/app_bsky/graph/get_suggested_follows_by_actor.rs index fd9a79722..2457cdf95 100644 --- a/crates/jacquard-api/src/app_bsky/graph/get_suggested_follows_by_actor.rs +++ b/crates/jacquard-api/src/app_bsky/graph/get_suggested_follows_by_actor.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedFollowsByActor { pub actor: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedFollowsByActorOutput { ///DEPRECATED, unused. Previously: if true, response has fallen-back to generic results, and is not scoped using relativeToDid Defaults to `false`. #[serde(skip_serializing_if = "Option::is_none")] @@ -78,7 +73,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSuggestedFollowsByActorRequest { pub mod get_suggested_follows_by_actor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -120,22 +115,28 @@ pub struct GetSuggestedFollowsByActorBuilder< impl GetSuggestedFollowsByActor { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> GetSuggestedFollowsByActorBuilder - { + pub fn new() -> GetSuggestedFollowsByActorBuilder< + get_suggested_follows_by_actor_state::Empty, + DefaultStr, + > { GetSuggestedFollowsByActorBuilder::new() } } impl GetSuggestedFollowsByActor { /// Create a new builder for this type - pub fn builder() - -> GetSuggestedFollowsByActorBuilder { + pub fn builder() -> GetSuggestedFollowsByActorBuilder< + get_suggested_follows_by_actor_state::Empty, + S, + > { GetSuggestedFollowsByActorBuilder::builder() } } -impl GetSuggestedFollowsByActorBuilder { +impl GetSuggestedFollowsByActorBuilder< + get_suggested_follows_by_actor_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedFollowsByActorBuilder { @@ -146,7 +147,9 @@ impl GetSuggestedFollowsByActorBuilder GetSuggestedFollowsByActorBuilder { +impl< + S: BosStr, +> GetSuggestedFollowsByActorBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedFollowsByActorBuilder { @@ -166,8 +169,10 @@ where pub fn actor( mut self, value: impl Into>, - ) -> GetSuggestedFollowsByActorBuilder, S> - { + ) -> GetSuggestedFollowsByActorBuilder< + get_suggested_follows_by_actor_state::SetActor, + S, + > { self._fields.0 = Option::Some(value.into()); GetSuggestedFollowsByActorBuilder { _state: PhantomData, @@ -192,4 +197,4 @@ where fn _default_get_suggested_follows_by_actor_output_is_fallback() -> Option { Some(false) -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/list.rs b/crates/jacquard-api/src/app_bsky/graph/list.rs index 19ac4fc0c..6dcada391 100644 --- a/crates/jacquard-api/src/app_bsky/graph/list.rs +++ b/crates/jacquard-api/src/app_bsky/graph/list.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,12 +25,12 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::graph::ListPurpose; use crate::app_bsky::richtext::facet::Facet; use crate::com_atproto::label::SelfLabels; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,20 +129,25 @@ impl LexiconSchema for List { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -198,7 +203,7 @@ impl LexiconSchema for List { pub mod list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -352,7 +357,10 @@ impl ListBuilder { impl ListBuilder { /// Set the `descriptionFacets` field (optional) - pub fn description_facets(mut self, value: impl Into>>>) -> Self { + pub fn description_facets( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } @@ -382,7 +390,10 @@ where St::Name: list_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ListBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ListBuilder, S> { self._fields.5 = Option::Some(value.into()); ListBuilder { _state: PhantomData, @@ -447,10 +458,10 @@ where } fn lexicon_doc_app_bsky_graph_list() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.list"), @@ -546,4 +557,4 @@ fn lexicon_doc_app_bsky_graph_list() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/listblock.rs b/crates/jacquard-api/src/app_bsky/graph/listblock.rs index 2b572c5db..1b1bbb000 100644 --- a/crates/jacquard-api/src/app_bsky/graph/listblock.rs +++ b/crates/jacquard-api/src/app_bsky/graph/listblock.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record representing a block relationship against an entire an entire list of accounts (actors). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Listblock { pub mod listblock_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -243,7 +243,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Listblock { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Listblock { Listblock { created_at: self._fields.0.unwrap(), subject: self._fields.1.unwrap(), @@ -253,10 +256,10 @@ where } fn lexicon_doc_app_bsky_graph_listblock() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.listblock"), @@ -311,4 +314,4 @@ fn lexicon_doc_app_bsky_graph_listblock() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/listitem.rs b/crates/jacquard-api/src/app_bsky/graph/listitem.rs index 86b37bb8b..4eae7c024 100644 --- a/crates/jacquard-api/src/app_bsky/graph/listitem.rs +++ b/crates/jacquard-api/src/app_bsky/graph/listitem.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Listitem { pub mod listitem_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -291,10 +291,10 @@ where } fn lexicon_doc_app_bsky_graph_listitem() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.listitem"), @@ -361,4 +361,4 @@ fn lexicon_doc_app_bsky_graph_listitem() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/mute_actor.rs b/crates/jacquard-api/src/app_bsky/graph/mute_actor.rs index a91103180..e47d7830b 100644 --- a/crates/jacquard-api/src/app_bsky/graph/mute_actor.rs +++ b/crates/jacquard-api/src/app_bsky/graph/mute_actor.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MuteActor { pub actor: AtIdentifier, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for MuteActorResponse { impl jacquard_common::xrpc::XrpcRequest for MuteActor { const NSID: &'static str = "app.bsky.graph.muteActor"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = MuteActorResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.graph.muteActor`. The request payload type is `MuteActor = MuteActor; type Response = MuteActorResponse; } pub mod mute_actor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,10 +164,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MuteActor { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MuteActor { MuteActor { actor: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/mute_actor_list.rs b/crates/jacquard-api/src/app_bsky/graph/mute_actor_list.rs index d329be528..1210d6c7a 100644 --- a/crates/jacquard-api/src/app_bsky/graph/mute_actor_list.rs +++ b/crates/jacquard-api/src/app_bsky/graph/mute_actor_list.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MuteActorList { pub list: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for MuteActorListResponse { impl jacquard_common::xrpc::XrpcRequest for MuteActorList { const NSID: &'static str = "app.bsky.graph.muteActorList"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = MuteActorListResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.graph.muteActorList`. The request payload type is `MuteAct pub struct MuteActorListRequest; impl jacquard_common::xrpc::XrpcEndpoint for MuteActorListRequest { const PATH: &'static str = "/xrpc/app.bsky.graph.muteActorList"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = MuteActorList; type Response = MuteActorListResponse; } pub mod mute_actor_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -91,7 +90,10 @@ pub mod mute_actor_list_state { } /// Builder for constructing an instance of this type. -pub struct MuteActorListBuilder { +pub struct MuteActorListBuilder< + St: mute_actor_list_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -165,10 +167,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MuteActorList { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MuteActorList { MuteActorList { list: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/mute_thread.rs b/crates/jacquard-api/src/app_bsky/graph/mute_thread.rs index a8b19e687..a2ea61bdb 100644 --- a/crates/jacquard-api/src/app_bsky/graph/mute_thread.rs +++ b/crates/jacquard-api/src/app_bsky/graph/mute_thread.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MuteThread { pub root: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for MuteThreadResponse { impl jacquard_common::xrpc::XrpcRequest for MuteThread { const NSID: &'static str = "app.bsky.graph.muteThread"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = MuteThreadResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.graph.muteThread`. The request payload type is `MuteThread pub struct MuteThreadRequest; impl jacquard_common::xrpc::XrpcEndpoint for MuteThreadRequest { const PATH: &'static str = "/xrpc/app.bsky.graph.muteThread"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = MuteThread; type Response = MuteThreadResponse; } pub mod mute_thread_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,10 +164,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MuteThread { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MuteThread { MuteThread { root: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/search_starter_packs.rs b/crates/jacquard-api/src/app_bsky/graph/search_starter_packs.rs index 3f51c63d2..dd4efd507 100644 --- a/crates/jacquard-api/src/app_bsky/graph/search_starter_packs.rs +++ b/crates/jacquard-api/src/app_bsky/graph/search_starter_packs.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::StarterPackViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::StarterPackViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchStarterPacks { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -32,11 +29,9 @@ pub struct SearchStarterPacks { pub q: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchStarterPacksOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod search_starter_packs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -110,8 +105,10 @@ pub mod search_starter_packs_state { } /// Builder for constructing an instance of this type. -pub struct SearchStarterPacksBuilder -{ +pub struct SearchStarterPacksBuilder< + St: search_starter_packs_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -119,7 +116,10 @@ pub struct SearchStarterPacksBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SearchStarterPacksBuilder { + pub fn new() -> SearchStarterPacksBuilder< + search_starter_packs_state::Empty, + DefaultStr, + > { SearchStarterPacksBuilder::new() } } @@ -211,4 +211,4 @@ where q: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/starterpack.rs b/crates/jacquard-api/src/app_bsky/graph/starterpack.rs index b103ca4d9..25c150ee4 100644 --- a/crates/jacquard-api/src/app_bsky/graph/starterpack.rs +++ b/crates/jacquard-api/src/app_bsky/graph/starterpack.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::graph::starterpack; -use crate::app_bsky::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::richtext::facet::Facet; +use crate::app_bsky::graph::starterpack; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FeedItem { pub uri: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -209,7 +206,7 @@ impl LexiconSchema for Starterpack { pub mod feed_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -323,10 +320,10 @@ where } fn lexicon_doc_app_bsky_graph_starterpack() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.starterpack"), @@ -354,16 +351,19 @@ fn lexicon_doc_app_bsky_graph_starterpack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record defining a starter pack of actors and feeds for new users.", - )), + description: Some( + CowStr::new_static( + "Record defining a starter pack of actors and feeds for new users.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("list"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("list"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -406,9 +406,9 @@ fn lexicon_doc_app_bsky_graph_starterpack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("list"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Reference (AT-URI) to the list record.", - )), + description: Some( + CowStr::new_static("Reference (AT-URI) to the list record."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -416,9 +416,11 @@ fn lexicon_doc_app_bsky_graph_starterpack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name for starter pack; can not be empty.", - )), + description: Some( + CowStr::new_static( + "Display name for starter pack; can not be empty.", + ), + ), min_length: Some(1usize), max_length: Some(500usize), max_graphemes: Some(50usize), @@ -440,7 +442,7 @@ fn lexicon_doc_app_bsky_graph_starterpack() -> LexiconDoc<'static> { pub mod starterpack_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -580,7 +582,10 @@ impl StarterpackBuilder { impl StarterpackBuilder { /// Set the `descriptionFacets` field (optional) - pub fn description_facets(mut self, value: impl Into>>>) -> Self { + pub fn description_facets( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -593,7 +598,10 @@ impl StarterpackBuilder { impl StarterpackBuilder { /// Set the `feeds` field (optional) - pub fn feeds(mut self, value: impl Into>>>) -> Self { + pub fn feeds( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } @@ -662,7 +670,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Starterpack { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Starterpack { Starterpack { created_at: self._fields.0.unwrap(), description: self._fields.1, @@ -673,4 +684,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/unmute_actor.rs b/crates/jacquard-api/src/app_bsky/graph/unmute_actor.rs index 02163ae61..c1af7bec3 100644 --- a/crates/jacquard-api/src/app_bsky/graph/unmute_actor.rs +++ b/crates/jacquard-api/src/app_bsky/graph/unmute_actor.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnmuteActor { pub actor: AtIdentifier, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for UnmuteActorResponse { impl jacquard_common::xrpc::XrpcRequest for UnmuteActor { const NSID: &'static str = "app.bsky.graph.unmuteActor"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnmuteActorResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.graph.unmuteActor`. The request payload type is `UnmuteAct pub struct UnmuteActorRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnmuteActorRequest { const PATH: &'static str = "/xrpc/app.bsky.graph.unmuteActor"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnmuteActor; type Response = UnmuteActorResponse; } pub mod unmute_actor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,10 +164,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UnmuteActor { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UnmuteActor { UnmuteActor { actor: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/unmute_actor_list.rs b/crates/jacquard-api/src/app_bsky/graph/unmute_actor_list.rs index 24bad825c..b1aa386c4 100644 --- a/crates/jacquard-api/src/app_bsky/graph/unmute_actor_list.rs +++ b/crates/jacquard-api/src/app_bsky/graph/unmute_actor_list.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnmuteActorList { pub list: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for UnmuteActorListResponse { impl jacquard_common::xrpc::XrpcRequest for UnmuteActorList { const NSID: &'static str = "app.bsky.graph.unmuteActorList"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnmuteActorListResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.graph.unmuteActorList`. The request payload type is `Unmut pub struct UnmuteActorListRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnmuteActorListRequest { const PATH: &'static str = "/xrpc/app.bsky.graph.unmuteActorList"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnmuteActorList; type Response = UnmuteActorListResponse; } pub mod unmute_actor_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -91,7 +90,10 @@ pub mod unmute_actor_list_state { } /// Builder for constructing an instance of this type. -pub struct UnmuteActorListBuilder { +pub struct UnmuteActorListBuilder< + St: unmute_actor_list_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -165,10 +167,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UnmuteActorList { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UnmuteActorList { UnmuteActorList { list: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/unmute_thread.rs b/crates/jacquard-api/src/app_bsky/graph/unmute_thread.rs index ec64a6b67..5089e207e 100644 --- a/crates/jacquard-api/src/app_bsky/graph/unmute_thread.rs +++ b/crates/jacquard-api/src/app_bsky/graph/unmute_thread.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnmuteThread { pub root: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for UnmuteThreadResponse { impl jacquard_common::xrpc::XrpcRequest for UnmuteThread { const NSID: &'static str = "app.bsky.graph.unmuteThread"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnmuteThreadResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.graph.unmuteThread`. The request payload type is `UnmuteTh pub struct UnmuteThreadRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnmuteThreadRequest { const PATH: &'static str = "/xrpc/app.bsky.graph.unmuteThread"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnmuteThread; type Response = UnmuteThreadResponse; } pub mod unmute_thread_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,10 +164,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UnmuteThread { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UnmuteThread { UnmuteThread { root: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/graph/verification.rs b/crates/jacquard-api/src/app_bsky/graph/verification.rs index 43da8645d..c77ad4557 100644 --- a/crates/jacquard-api/src/app_bsky/graph/verification.rs +++ b/crates/jacquard-api/src/app_bsky/graph/verification.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, Handle}; +use jacquard_common::types::string::{Did, Handle, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record declaring a verification relationship between two accounts. Verifications are only considered valid by an app if issued by an account the app considers trusted. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -110,7 +110,7 @@ impl LexiconSchema for Verification { pub mod verification_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -185,12 +185,7 @@ pub mod verification_state { /// Builder for constructing an instance of this type. pub struct VerificationBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - ), + _fields: (Option, Option, Option>, Option>), _type: PhantomData S>, } @@ -325,7 +320,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Verification { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Verification { Verification { created_at: self._fields.0.unwrap(), display_name: self._fields.1.unwrap(), @@ -337,10 +335,10 @@ where } fn lexicon_doc_app_bsky_graph_verification() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.graph.verification"), @@ -425,4 +423,4 @@ fn lexicon_doc_app_bsky_graph_verification() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/labeler.rs b/crates/jacquard-api/src/app_bsky/labeler.rs index 20c72ecc1..841c929c0 100644 --- a/crates/jacquard-api/src/app_bsky/labeler.rs +++ b/crates/jacquard-api/src/app_bsky/labeler.rs @@ -9,6 +9,7 @@ pub mod get_services; pub mod service; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -19,28 +20,25 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Nsid}; +use jacquard_common::types::string::{AtUri, Nsid, Cid, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileView; -use crate::app_bsky::labeler; use crate::com_atproto::label::Label; use crate::com_atproto::label::LabelValue; use crate::com_atproto::label::LabelValueDefinition; use crate::com_atproto::moderation::ReasonType; use crate::com_atproto::moderation::SubjectType; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::labeler; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelerPolicies { ///Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler. #[serde(skip_serializing_if = "Option::is_none")] @@ -51,11 +49,9 @@ pub struct LabelerPolicies { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelerView { pub cid: Cid, pub creator: ProfileView, @@ -71,11 +67,9 @@ pub struct LabelerView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelerViewDetailed { pub cid: Cid, pub creator: ProfileView, @@ -101,11 +95,9 @@ pub struct LabelerViewDetailed { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelerViewerState { #[serde(skip_serializing_if = "Option::is_none")] pub like: Option>, @@ -193,7 +185,7 @@ impl LexiconSchema for LabelerViewerState { pub mod labeler_policies_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -224,12 +216,12 @@ pub mod labeler_policies_state { } /// Builder for constructing an instance of this type. -pub struct LabelerPoliciesBuilder { +pub struct LabelerPoliciesBuilder< + St: labeler_policies_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>>, - Option>>, - ), + _fields: (Option>>, Option>>), _type: PhantomData S>, } @@ -321,7 +313,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LabelerPolicies { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LabelerPolicies { LabelerPolicies { label_value_definitions: self._fields.0, label_values: self._fields.1.unwrap(), @@ -331,10 +326,10 @@ where } fn lexicon_doc_app_bsky_labeler_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.labeler.defs"), @@ -389,12 +384,13 @@ fn lexicon_doc_app_bsky_labeler_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("labelerView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("creator"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("creator"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -408,7 +404,9 @@ fn lexicon_doc_app_bsky_labeler_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("creator"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileView"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileView", + ), ..Default::default() }), ); @@ -612,7 +610,7 @@ fn lexicon_doc_app_bsky_labeler_defs() -> LexiconDoc<'static> { pub mod labeler_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -839,12 +837,18 @@ where impl LabelerViewBuilder { /// Set the `viewer` field (optional) - pub fn viewer(mut self, value: impl Into>>) -> Self { + pub fn viewer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `viewer` field to an Option value (optional) - pub fn maybe_viewer(mut self, value: Option>) -> Self { + pub fn maybe_viewer( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -872,7 +876,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LabelerView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LabelerView { LabelerView { cid: self._fields.0.unwrap(), creator: self._fields.1.unwrap(), @@ -888,7 +895,7 @@ where pub mod labeler_view_detailed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1002,14 +1009,20 @@ pub struct LabelerViewDetailedBuilder< impl LabelerViewDetailed { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LabelerViewDetailedBuilder { + pub fn new() -> LabelerViewDetailedBuilder< + labeler_view_detailed_state::Empty, + DefaultStr, + > { LabelerViewDetailedBuilder::new() } } impl LabelerViewDetailed { /// Create a new builder for this type - pub fn builder() -> LabelerViewDetailedBuilder { + pub fn builder() -> LabelerViewDetailedBuilder< + labeler_view_detailed_state::Empty, + S, + > { LabelerViewDetailedBuilder::builder() } } @@ -1019,9 +1032,7 @@ impl LabelerViewDetailedBuilder pub fn new() -> Self { LabelerViewDetailedBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -1032,9 +1043,7 @@ impl LabelerViewDetailedBuilder Self { LabelerViewDetailedBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -1097,7 +1106,10 @@ where } } -impl LabelerViewDetailedBuilder { +impl< + St: labeler_view_detailed_state::State, + S: BosStr, +> LabelerViewDetailedBuilder { /// Set the `labels` field (optional) pub fn labels(mut self, value: impl Into>>>) -> Self { self._fields.3 = value.into(); @@ -1110,7 +1122,10 @@ impl LabelerViewDetailedBuild } } -impl LabelerViewDetailedBuilder { +impl< + St: labeler_view_detailed_state::State, + S: BosStr, +> LabelerViewDetailedBuilder { /// Set the `likeCount` field (optional) pub fn like_count(mut self, value: impl Into>) -> Self { self._fields.4 = value.into(); @@ -1142,7 +1157,10 @@ where } } -impl LabelerViewDetailedBuilder { +impl< + St: labeler_view_detailed_state::State, + S: BosStr, +> LabelerViewDetailedBuilder { /// Set the `reasonTypes` field (optional) pub fn reason_types(mut self, value: impl Into>>>) -> Self { self._fields.6 = value.into(); @@ -1155,9 +1173,15 @@ impl LabelerViewDetailedBuild } } -impl LabelerViewDetailedBuilder { +impl< + St: labeler_view_detailed_state::State, + S: BosStr, +> LabelerViewDetailedBuilder { /// Set the `subjectCollections` field (optional) - pub fn subject_collections(mut self, value: impl Into>>>) -> Self { + pub fn subject_collections( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.7 = value.into(); self } @@ -1168,9 +1192,15 @@ impl LabelerViewDetailedBuild } } -impl LabelerViewDetailedBuilder { +impl< + St: labeler_view_detailed_state::State, + S: BosStr, +> LabelerViewDetailedBuilder { /// Set the `subjectTypes` field (optional) - pub fn subject_types(mut self, value: impl Into>>>) -> Self { + pub fn subject_types( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.8 = value.into(); self } @@ -1200,14 +1230,23 @@ where } } -impl LabelerViewDetailedBuilder { +impl< + St: labeler_view_detailed_state::State, + S: BosStr, +> LabelerViewDetailedBuilder { /// Set the `viewer` field (optional) - pub fn viewer(mut self, value: impl Into>>) -> Self { + pub fn viewer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.10 = value.into(); self } /// Set the `viewer` field to an Option value (optional) - pub fn maybe_viewer(mut self, value: Option>) -> Self { + pub fn maybe_viewer( + mut self, + value: Option>, + ) -> Self { self._fields.10 = value; self } @@ -1240,7 +1279,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LabelerViewDetailed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LabelerViewDetailed { LabelerViewDetailed { cid: self._fields.0.unwrap(), creator: self._fields.1.unwrap(), @@ -1256,4 +1298,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/labeler/get_services.rs b/crates/jacquard-api/src/app_bsky/labeler/get_services.rs index feeb0a0f6..660b3ae42 100644 --- a/crates/jacquard-api/src/app_bsky/labeler/get_services.rs +++ b/crates/jacquard-api/src/app_bsky/labeler/get_services.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::labeler::LabelerView; -use crate::app_bsky::labeler::LabelerViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::labeler::LabelerView; +use crate::app_bsky::labeler::LabelerViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetServices { /// Defaults to `false`. #[serde(default = "_default_detailed")] @@ -32,17 +29,16 @@ pub struct GetServices { pub dids: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetServicesOutput { pub views: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -87,7 +83,7 @@ fn _default_detailed() -> Option { pub mod get_services_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -204,4 +200,4 @@ where dids: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/labeler/service.rs b/crates/jacquard-api/src/app_bsky/labeler/service.rs index e6c5db2d5..c97335f4b 100644 --- a/crates/jacquard-api/src/app_bsky/labeler/service.rs +++ b/crates/jacquard-api/src/app_bsky/labeler/service.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Nsid}; +use jacquard_common::types::string::{AtUri, Nsid, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,13 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::labeler::LabelerPolicies; use crate::com_atproto::label::SelfLabels; use crate::com_atproto::moderation::ReasonType; use crate::com_atproto::moderation::SubjectType; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A declaration of the existence of labeler service. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -119,7 +119,7 @@ impl LexiconSchema for Service { pub mod service_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -277,7 +277,10 @@ impl ServiceBuilder { impl ServiceBuilder { /// Set the `subjectCollections` field (optional) - pub fn subject_collections(mut self, value: impl Into>>>) -> Self { + pub fn subject_collections( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -290,7 +293,10 @@ impl ServiceBuilder { impl ServiceBuilder { /// Set the `subjectTypes` field (optional) - pub fn subject_types(mut self, value: impl Into>>>) -> Self { + pub fn subject_types( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.5 = value.into(); self } @@ -334,10 +340,10 @@ where } fn lexicon_doc_app_bsky_labeler_service() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.labeler.service"), @@ -447,4 +453,4 @@ fn lexicon_doc_app_bsky_labeler_service() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification.rs b/crates/jacquard-api/src/app_bsky/notification.rs index e31495e3b..9d2a6ca7e 100644 --- a/crates/jacquard-api/src/app_bsky/notification.rs +++ b/crates/jacquard-api/src/app_bsky/notification.rs @@ -18,12 +18,13 @@ pub mod register_push; pub mod unregister_push; pub mod update_seen; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -34,16 +35,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::notification; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::notification; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ActivitySubscription { pub post: bool, pub reply: bool, @@ -51,11 +49,9 @@ pub struct ActivitySubscription { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ChatPreference { pub include: ChatPreferenceInclude, pub push: bool, @@ -63,6 +59,7 @@ pub struct ChatPreference { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ChatPreferenceInclude { All, @@ -135,16 +132,16 @@ where match self { ChatPreferenceInclude::All => ChatPreferenceInclude::All, ChatPreferenceInclude::Accepted => ChatPreferenceInclude::Accepted, - ChatPreferenceInclude::Other(v) => ChatPreferenceInclude::Other(v.into_static()), + ChatPreferenceInclude::Other(v) => { + ChatPreferenceInclude::Other(v.into_static()) + } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FilterablePreference { pub include: FilterablePreferenceInclude, pub list: bool, @@ -153,6 +150,7 @@ pub struct FilterablePreference { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum FilterablePreferenceInclude { All, @@ -199,7 +197,8 @@ impl Serialize for FilterablePreferenceInclude { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for FilterablePreferenceInclude { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for FilterablePreferenceInclude { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -232,11 +231,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Preference { pub list: bool, pub push: bool, @@ -244,11 +241,9 @@ pub struct Preference { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Preferences { pub chat: notification::ChatPreference, pub follow: notification::FilterablePreference, @@ -267,11 +262,9 @@ pub struct Preferences { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordDeleted { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -280,10 +273,7 @@ pub struct RecordDeleted { /// Object used to store activity subscription data in stash. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubjectActivitySubscription { pub activity_subscription: notification::ActivitySubscription, pub subject: Did, @@ -398,7 +388,7 @@ impl LexiconSchema for SubjectActivitySubscription { pub mod activity_subscription_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -452,14 +442,20 @@ pub struct ActivitySubscriptionBuilder< impl ActivitySubscription { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ActivitySubscriptionBuilder { + pub fn new() -> ActivitySubscriptionBuilder< + activity_subscription_state::Empty, + DefaultStr, + > { ActivitySubscriptionBuilder::new() } } impl ActivitySubscription { /// Create a new builder for this type - pub fn builder() -> ActivitySubscriptionBuilder { + pub fn builder() -> ActivitySubscriptionBuilder< + activity_subscription_state::Empty, + S, + > { ActivitySubscriptionBuilder::builder() } } @@ -552,10 +548,10 @@ where } fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.notification.defs"), @@ -564,10 +560,9 @@ fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("activitySubscription"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("post"), - SmolStr::new_static("reply"), - ]), + required: Some( + vec![SmolStr::new_static("post"), SmolStr::new_static("reply")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -591,18 +586,15 @@ fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("chatPreference"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("include"), - SmolStr::new_static("push"), - ]), + required: Some( + vec![SmolStr::new_static("include"), SmolStr::new_static("push")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("include"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("push"), @@ -618,19 +610,18 @@ fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("filterablePreference"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("include"), - SmolStr::new_static("list"), - SmolStr::new_static("push"), - ]), + required: Some( + vec![ + SmolStr::new_static("include"), SmolStr::new_static("list"), + SmolStr::new_static("push") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("include"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("list"), @@ -652,10 +643,9 @@ fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("preference"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("list"), - SmolStr::new_static("push"), - ]), + required: Some( + vec![SmolStr::new_static("list"), SmolStr::new_static("push")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -679,21 +669,20 @@ fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("preferences"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("chat"), - SmolStr::new_static("follow"), - SmolStr::new_static("like"), - SmolStr::new_static("likeViaRepost"), - SmolStr::new_static("mention"), - SmolStr::new_static("quote"), - SmolStr::new_static("reply"), - SmolStr::new_static("repost"), - SmolStr::new_static("repostViaRepost"), - SmolStr::new_static("starterpackJoined"), - SmolStr::new_static("subscribedPost"), - SmolStr::new_static("unverified"), - SmolStr::new_static("verified"), - ]), + required: Some( + vec![ + SmolStr::new_static("chat"), SmolStr::new_static("follow"), + SmolStr::new_static("like"), + SmolStr::new_static("likeViaRepost"), + SmolStr::new_static("mention"), SmolStr::new_static("quote"), + SmolStr::new_static("reply"), SmolStr::new_static("repost"), + SmolStr::new_static("repostViaRepost"), + SmolStr::new_static("starterpackJoined"), + SmolStr::new_static("subscribedPost"), + SmolStr::new_static("unverified"), + SmolStr::new_static("verified") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -807,13 +796,17 @@ fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subjectActivitySubscription"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Object used to store activity subscription data in stash.", - )), - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("activitySubscription"), - ]), + description: Some( + CowStr::new_static( + "Object used to store activity subscription data in stash.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("activitySubscription") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -844,7 +837,7 @@ fn lexicon_doc_app_bsky_notification_defs() -> LexiconDoc<'static> { pub mod chat_preference_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -887,7 +880,10 @@ pub mod chat_preference_state { } /// Builder for constructing an instance of this type. -pub struct ChatPreferenceBuilder { +pub struct ChatPreferenceBuilder< + St: chat_preference_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option), _type: PhantomData S>, @@ -982,7 +978,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ChatPreference { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ChatPreference { ChatPreference { include: self._fields.0.unwrap(), push: self._fields.1.unwrap(), @@ -993,7 +992,7 @@ where pub mod filterable_preference_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1055,24 +1054,26 @@ pub struct FilterablePreferenceBuilder< S: BosStr = DefaultStr, > { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - ), + _fields: (Option>, Option, Option), _type: PhantomData S>, } impl FilterablePreference { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> FilterablePreferenceBuilder { + pub fn new() -> FilterablePreferenceBuilder< + filterable_preference_state::Empty, + DefaultStr, + > { FilterablePreferenceBuilder::new() } } impl FilterablePreference { /// Create a new builder for this type - pub fn builder() -> FilterablePreferenceBuilder { + pub fn builder() -> FilterablePreferenceBuilder< + filterable_preference_state::Empty, + S, + > { FilterablePreferenceBuilder::builder() } } @@ -1188,7 +1189,7 @@ where pub mod preference_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1326,7 +1327,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Preference { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Preference { Preference { list: self._fields.0.unwrap(), push: self._fields.1.unwrap(), @@ -1337,7 +1341,7 @@ where pub mod preferences_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1684,7 +1688,19 @@ impl PreferencesBuilder { PreferencesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1697,7 +1713,19 @@ impl PreferencesBuilder { PreferencesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1988,7 +2016,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Preferences { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Preferences { Preferences { chat: self._fields.0.unwrap(), follow: self._fields.1.unwrap(), @@ -2010,7 +2041,7 @@ where pub mod subject_activity_subscription_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2058,31 +2089,34 @@ pub struct SubjectActivitySubscriptionBuilder< S: BosStr = DefaultStr, > { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - ), + _fields: (Option>, Option>), _type: PhantomData S>, } impl SubjectActivitySubscription { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> SubjectActivitySubscriptionBuilder - { + pub fn new() -> SubjectActivitySubscriptionBuilder< + subject_activity_subscription_state::Empty, + DefaultStr, + > { SubjectActivitySubscriptionBuilder::new() } } impl SubjectActivitySubscription { /// Create a new builder for this type - pub fn builder() - -> SubjectActivitySubscriptionBuilder { + pub fn builder() -> SubjectActivitySubscriptionBuilder< + subject_activity_subscription_state::Empty, + S, + > { SubjectActivitySubscriptionBuilder::builder() } } -impl SubjectActivitySubscriptionBuilder { +impl SubjectActivitySubscriptionBuilder< + subject_activity_subscription_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SubjectActivitySubscriptionBuilder { @@ -2093,7 +2127,9 @@ impl SubjectActivitySubscriptionBuilder SubjectActivitySubscriptionBuilder { +impl< + S: BosStr, +> SubjectActivitySubscriptionBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SubjectActivitySubscriptionBuilder { @@ -2135,8 +2171,10 @@ where pub fn subject( mut self, value: impl Into>, - ) -> SubjectActivitySubscriptionBuilder, S> - { + ) -> SubjectActivitySubscriptionBuilder< + subject_activity_subscription_state::SetSubject, + S, + > { self._fields.1 = Option::Some(value.into()); SubjectActivitySubscriptionBuilder { _state: PhantomData, @@ -2171,4 +2209,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/declaration.rs b/crates/jacquard-api/src/app_bsky/notification/declaration.rs index c3d06b82a..ad6fcce1a 100644 --- a/crates/jacquard-api/src/app_bsky/notification/declaration.rs +++ b/crates/jacquard-api/src/app_bsky/notification/declaration.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of the user's choices related to notifications that can be produced by them. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -94,7 +94,8 @@ impl Serialize for DeclarationAllowSubscriptions { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for DeclarationAllowSubscriptions { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for DeclarationAllowSubscriptions { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -118,8 +119,12 @@ where type Output = DeclarationAllowSubscriptions; fn into_static(self) -> Self::Output { match self { - DeclarationAllowSubscriptions::Followers => DeclarationAllowSubscriptions::Followers, - DeclarationAllowSubscriptions::Mutuals => DeclarationAllowSubscriptions::Mutuals, + DeclarationAllowSubscriptions::Followers => { + DeclarationAllowSubscriptions::Followers + } + DeclarationAllowSubscriptions::Mutuals => { + DeclarationAllowSubscriptions::Mutuals + } DeclarationAllowSubscriptions::None => DeclarationAllowSubscriptions::None, DeclarationAllowSubscriptions::Other(v) => { DeclarationAllowSubscriptions::Other(v.into_static()) @@ -189,7 +194,7 @@ impl LexiconSchema for Declaration { pub mod declaration_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -294,7 +299,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Declaration { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Declaration { Declaration { allow_subscriptions: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -303,10 +311,10 @@ where } fn lexicon_doc_app_bsky_notification_declaration() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.notification.declaration"), @@ -348,4 +356,4 @@ fn lexicon_doc_app_bsky_notification_declaration() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/get_preferences.rs b/crates/jacquard-api/src/app_bsky/notification/get_preferences.rs index bcb6529f5..85b6ea938 100644 --- a/crates/jacquard-api/src/app_bsky/notification/get_preferences.rs +++ b/crates/jacquard-api/src/app_bsky/notification/get_preferences.rs @@ -8,24 +8,21 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::notification::Preferences; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::notification::Preferences; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetPreferences; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPreferencesOutput { pub preferences: Preferences, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -58,4 +55,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPreferencesRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetPreferences; type Response = GetPreferencesResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/get_unread_count.rs b/crates/jacquard-api/src/app_bsky/notification/get_unread_count.rs index 39c00a81c..25328d23e 100644 --- a/crates/jacquard-api/src/app_bsky/notification/get_unread_count.rs +++ b/crates/jacquard-api/src/app_bsky/notification/get_unread_count.rs @@ -10,12 +10,12 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Datetime; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -26,11 +26,9 @@ pub struct GetUnreadCount { pub seen_at: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetUnreadCountOutput { pub count: i64, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -67,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetUnreadCountRequest { pub mod get_unread_count_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -154,4 +152,4 @@ where seen_at: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/list_activity_subscriptions.rs b/crates/jacquard-api/src/app_bsky/notification/list_activity_subscriptions.rs index 77f5dcf81..acfc1104a 100644 --- a/crates/jacquard-api/src/app_bsky/notification/list_activity_subscriptions.rs +++ b/crates/jacquard-api/src/app_bsky/notification/list_activity_subscriptions.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListActivitySubscriptions { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct ListActivitySubscriptions { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListActivitySubscriptionsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod list_activity_subscriptions_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -107,21 +102,28 @@ pub struct ListActivitySubscriptionsBuilder< impl ListActivitySubscriptions { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> ListActivitySubscriptionsBuilder { + pub fn new() -> ListActivitySubscriptionsBuilder< + list_activity_subscriptions_state::Empty, + DefaultStr, + > { ListActivitySubscriptionsBuilder::new() } } impl ListActivitySubscriptions { /// Create a new builder for this type - pub fn builder() -> ListActivitySubscriptionsBuilder - { + pub fn builder() -> ListActivitySubscriptionsBuilder< + list_activity_subscriptions_state::Empty, + S, + > { ListActivitySubscriptionsBuilder::builder() } } -impl ListActivitySubscriptionsBuilder { +impl ListActivitySubscriptionsBuilder< + list_activity_subscriptions_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { ListActivitySubscriptionsBuilder { @@ -132,7 +134,9 @@ impl ListActivitySubscriptionsBuilder ListActivitySubscriptionsBuilder { +impl< + S: BosStr, +> ListActivitySubscriptionsBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { ListActivitySubscriptionsBuilder { @@ -143,9 +147,10 @@ impl ListActivitySubscriptionsBuilder - ListActivitySubscriptionsBuilder -{ +impl< + St: list_activity_subscriptions_state::State, + S: BosStr, +> ListActivitySubscriptionsBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -158,9 +163,10 @@ impl } } -impl - ListActivitySubscriptionsBuilder -{ +impl< + St: list_activity_subscriptions_state::State, + S: BosStr, +> ListActivitySubscriptionsBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -184,4 +190,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/list_notifications.rs b/crates/jacquard-api/src/app_bsky/notification/list_notifications.rs index ba707a3c9..107f2d264 100644 --- a/crates/jacquard-api/src/app_bsky/notification/list_notifications.rs +++ b/crates/jacquard-api/src/app_bsky/notification/list_notifications.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,18 +21,15 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::actor::ProfileView; -use crate::app_bsky::notification::list_notifications; -use crate::com_atproto::label::Label; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; +use crate::com_atproto::label::Label; +use crate::app_bsky::notification::list_notifications; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListNotifications { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -48,11 +45,9 @@ pub struct ListNotifications { pub seen_at: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListNotificationsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -65,11 +60,9 @@ pub struct ListNotificationsOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Notification { pub author: ProfileView, pub cid: Cid, @@ -198,7 +191,9 @@ where NotificationReason::Mention => NotificationReason::Mention, NotificationReason::Reply => NotificationReason::Reply, NotificationReason::Quote => NotificationReason::Quote, - NotificationReason::StarterpackJoined => NotificationReason::StarterpackJoined, + NotificationReason::StarterpackJoined => { + NotificationReason::StarterpackJoined + } NotificationReason::Verified => NotificationReason::Verified, NotificationReason::Unverified => NotificationReason::Unverified, NotificationReason::LikeViaRepost => NotificationReason::LikeViaRepost, @@ -259,7 +254,7 @@ fn _default_limit() -> Option { pub mod list_notifications_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -277,21 +272,21 @@ pub mod list_notifications_state { } /// Builder for constructing an instance of this type. -pub struct ListNotificationsBuilder { +pub struct ListNotificationsBuilder< + St: list_notifications_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option>, - Option, - ), + _fields: (Option, Option, Option, Option>, Option), _type: PhantomData S>, } impl ListNotifications { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListNotificationsBuilder { + pub fn new() -> ListNotificationsBuilder< + list_notifications_state::Empty, + DefaultStr, + > { ListNotificationsBuilder::new() } } @@ -408,7 +403,7 @@ where pub mod notification_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -779,7 +774,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Notification { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Notification { Notification { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -796,10 +794,10 @@ where } fn lexicon_doc_app_bsky_notification_listNotifications() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.notification.listNotifications"), @@ -953,4 +951,4 @@ fn lexicon_doc_app_bsky_notification_listNotifications() -> LexiconDoc<'static> }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/put_activity_subscription.rs b/crates/jacquard-api/src/app_bsky/notification/put_activity_subscription.rs index 834872441..e20235e9d 100644 --- a/crates/jacquard-api/src/app_bsky/notification/put_activity_subscription.rs +++ b/crates/jacquard-api/src/app_bsky/notification/put_activity_subscription.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::notification::ActivitySubscription; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::notification::ActivitySubscription; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutActivitySubscription { pub activity_subscription: ActivitySubscription, pub subject: Did, @@ -30,11 +27,9 @@ pub struct PutActivitySubscription { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutActivitySubscriptionOutput { #[serde(skip_serializing_if = "Option::is_none")] pub activity_subscription: Option>, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for PutActivitySubscriptionResponse { impl jacquard_common::xrpc::XrpcRequest for PutActivitySubscription { const NSID: &'static str = "app.bsky.notification.putActivitySubscription"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutActivitySubscriptionResponse; } @@ -67,15 +63,16 @@ Path: `/xrpc/app.bsky.notification.putActivitySubscription`. The request payload pub struct PutActivitySubscriptionRequest; impl jacquard_common::xrpc::XrpcEndpoint for PutActivitySubscriptionRequest { const PATH: &'static str = "/xrpc/app.bsky.notification.putActivitySubscription"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutActivitySubscription; type Response = PutActivitySubscriptionResponse; } pub mod put_activity_subscription_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -129,15 +126,20 @@ pub struct PutActivitySubscriptionBuilder< impl PutActivitySubscription { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> PutActivitySubscriptionBuilder { + pub fn new() -> PutActivitySubscriptionBuilder< + put_activity_subscription_state::Empty, + DefaultStr, + > { PutActivitySubscriptionBuilder::new() } } impl PutActivitySubscription { /// Create a new builder for this type - pub fn builder() -> PutActivitySubscriptionBuilder { + pub fn builder() -> PutActivitySubscriptionBuilder< + put_activity_subscription_state::Empty, + S, + > { PutActivitySubscriptionBuilder::builder() } } @@ -153,7 +155,9 @@ impl PutActivitySubscriptionBuilder PutActivitySubscriptionBuilder { +impl< + S: BosStr, +> PutActivitySubscriptionBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { PutActivitySubscriptionBuilder { @@ -195,7 +199,10 @@ where pub fn subject( mut self, value: impl Into>, - ) -> PutActivitySubscriptionBuilder, S> { + ) -> PutActivitySubscriptionBuilder< + put_activity_subscription_state::SetSubject, + S, + > { self._fields.1 = Option::Some(value.into()); PutActivitySubscriptionBuilder { _state: PhantomData, @@ -230,4 +237,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/put_preferences.rs b/crates/jacquard-api/src/app_bsky/notification/put_preferences.rs index b64880cf1..0ac90b3db 100644 --- a/crates/jacquard-api/src/app_bsky/notification/put_preferences.rs +++ b/crates/jacquard-api/src/app_bsky/notification/put_preferences.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutPreferences { pub priority: bool, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -40,8 +37,9 @@ impl jacquard_common::xrpc::XrpcResp for PutPreferencesResponse { impl jacquard_common::xrpc::XrpcRequest for PutPreferences { const NSID: &'static str = "app.bsky.notification.putPreferences"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutPreferencesResponse; } @@ -51,15 +49,16 @@ Path: `/xrpc/app.bsky.notification.putPreferences`. The request payload type is pub struct PutPreferencesRequest; impl jacquard_common::xrpc::XrpcEndpoint for PutPreferencesRequest { const PATH: &'static str = "/xrpc/app.bsky.notification.putPreferences"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutPreferences; type Response = PutPreferencesResponse; } pub mod put_preferences_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -90,7 +89,10 @@ pub mod put_preferences_state { } /// Builder for constructing an instance of this type. -pub struct PutPreferencesBuilder { +pub struct PutPreferencesBuilder< + St: put_preferences_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -164,10 +166,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PutPreferences { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PutPreferences { PutPreferences { priority: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/put_preferences_v2.rs b/crates/jacquard-api/src/app_bsky/notification/put_preferences_v2.rs index 0ce5ae395..e10ea5402 100644 --- a/crates/jacquard-api/src/app_bsky/notification/put_preferences_v2.rs +++ b/crates/jacquard-api/src/app_bsky/notification/put_preferences_v2.rs @@ -8,23 +8,20 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::notification::ChatPreference; -use crate::app_bsky::notification::FilterablePreference; -use crate::app_bsky::notification::Preference; -use crate::app_bsky::notification::Preferences; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::notification::ChatPreference; +use crate::app_bsky::notification::FilterablePreference; +use crate::app_bsky::notification::Preference; +use crate::app_bsky::notification::Preferences; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutPreferencesV2 { #[serde(skip_serializing_if = "Option::is_none")] pub chat: Option>, @@ -56,11 +53,9 @@ pub struct PutPreferencesV2 { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutPreferencesV2Output { pub preferences: Preferences, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -80,8 +75,9 @@ impl jacquard_common::xrpc::XrpcResp for PutPreferencesV2Response { impl jacquard_common::xrpc::XrpcRequest for PutPreferencesV2 { const NSID: &'static str = "app.bsky.notification.putPreferencesV2"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutPreferencesV2Response; } @@ -91,8 +87,9 @@ Path: `/xrpc/app.bsky.notification.putPreferencesV2`. The request payload type i pub struct PutPreferencesV2Request; impl jacquard_common::xrpc::XrpcEndpoint for PutPreferencesV2Request { const PATH: &'static str = "/xrpc/app.bsky.notification.putPreferencesV2"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutPreferencesV2; type Response = PutPreferencesV2Response; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/register_push.rs b/crates/jacquard-api/src/app_bsky/notification/register_push.rs index eeb985936..bb33f91c5 100644 --- a/crates/jacquard-api/src/app_bsky/notification/register_push.rs +++ b/crates/jacquard-api/src/app_bsky/notification/register_push.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RegisterPush { ///Set to true when the actor is age restricted #[serde(skip_serializing_if = "Option::is_none")] @@ -34,6 +31,7 @@ pub struct RegisterPush { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum RegisterPushPlatform { Ios, @@ -110,7 +108,9 @@ where RegisterPushPlatform::Ios => RegisterPushPlatform::Ios, RegisterPushPlatform::Android => RegisterPushPlatform::Android, RegisterPushPlatform::Web => RegisterPushPlatform::Web, - RegisterPushPlatform::Other(v) => RegisterPushPlatform::Other(v.into_static()), + RegisterPushPlatform::Other(v) => { + RegisterPushPlatform::Other(v.into_static()) + } } } } @@ -128,8 +128,9 @@ impl jacquard_common::xrpc::XrpcResp for RegisterPushResponse { impl jacquard_common::xrpc::XrpcRequest for RegisterPush { const NSID: &'static str = "app.bsky.notification.registerPush"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RegisterPushResponse; } @@ -139,15 +140,16 @@ Path: `/xrpc/app.bsky.notification.registerPush`. The request payload type is `R pub struct RegisterPushRequest; impl jacquard_common::xrpc::XrpcEndpoint for RegisterPushRequest { const PATH: &'static str = "/xrpc/app.bsky.notification.registerPush"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RegisterPush; type Response = RegisterPushResponse; } pub mod register_push_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -377,7 +379,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RegisterPush { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RegisterPush { RegisterPush { age_restricted: self._fields.0, app_id: self._fields.1.unwrap(), @@ -387,4 +392,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/unregister_push.rs b/crates/jacquard-api/src/app_bsky/notification/unregister_push.rs index 444e721cd..5f7a02c74 100644 --- a/crates/jacquard-api/src/app_bsky/notification/unregister_push.rs +++ b/crates/jacquard-api/src/app_bsky/notification/unregister_push.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnregisterPush { pub app_id: S, pub platform: UnregisterPushPlatform, @@ -31,6 +28,7 @@ pub struct UnregisterPush { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UnregisterPushPlatform { Ios, @@ -107,7 +105,9 @@ where UnregisterPushPlatform::Ios => UnregisterPushPlatform::Ios, UnregisterPushPlatform::Android => UnregisterPushPlatform::Android, UnregisterPushPlatform::Web => UnregisterPushPlatform::Web, - UnregisterPushPlatform::Other(v) => UnregisterPushPlatform::Other(v.into_static()), + UnregisterPushPlatform::Other(v) => { + UnregisterPushPlatform::Other(v.into_static()) + } } } } @@ -125,8 +125,9 @@ impl jacquard_common::xrpc::XrpcResp for UnregisterPushResponse { impl jacquard_common::xrpc::XrpcRequest for UnregisterPush { const NSID: &'static str = "app.bsky.notification.unregisterPush"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnregisterPushResponse; } @@ -136,15 +137,16 @@ Path: `/xrpc/app.bsky.notification.unregisterPush`. The request payload type is pub struct UnregisterPushRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnregisterPushRequest { const PATH: &'static str = "/xrpc/app.bsky.notification.unregisterPush"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnregisterPush; type Response = UnregisterPushResponse; } pub mod unregister_push_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -217,14 +219,12 @@ pub mod unregister_push_state { } /// Builder for constructing an instance of this type. -pub struct UnregisterPushBuilder { +pub struct UnregisterPushBuilder< + St: unregister_push_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -359,7 +359,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UnregisterPush { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UnregisterPush { UnregisterPush { app_id: self._fields.0.unwrap(), platform: self._fields.1.unwrap(), @@ -368,4 +371,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/notification/update_seen.rs b/crates/jacquard-api/src/app_bsky/notification/update_seen.rs index 45a821d33..9179e8b5d 100644 --- a/crates/jacquard-api/src/app_bsky/notification/update_seen.rs +++ b/crates/jacquard-api/src/app_bsky/notification/update_seen.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Datetime; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateSeen { pub seen_at: Datetime, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateSeenResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateSeen { const NSID: &'static str = "app.bsky.notification.updateSeen"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateSeenResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/app.bsky.notification.updateSeen`. The request payload type is `Upd pub struct UpdateSeenRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateSeenRequest { const PATH: &'static str = "/xrpc/app.bsky.notification.updateSeen"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateSeen; type Response = UpdateSeenResponse; } pub mod update_seen_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,10 +164,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateSeen { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateSeen { UpdateSeen { seen_at: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/richtext.rs b/crates/jacquard-api/src/app_bsky/richtext.rs index e3dbeacf1..db2c0b672 100644 --- a/crates/jacquard-api/src/app_bsky/richtext.rs +++ b/crates/jacquard-api/src/app_bsky/richtext.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.bsky.richtext` Lexicon namespace/module. -pub mod facet; +pub mod facet; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/richtext/facet.rs b/crates/jacquard-api/src/app_bsky/richtext/facet.rs index e6acc25cf..71d05aa49 100644 --- a/crates/jacquard-api/src/app_bsky/richtext/facet.rs +++ b/crates/jacquard-api/src/app_bsky/richtext/facet.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::richtext::facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::richtext::facet; /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ByteSlice { pub byte_end: i64, pub byte_start: i64, @@ -42,10 +39,7 @@ pub struct ByteSlice { /// Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Link { pub uri: UriValue, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -55,10 +49,7 @@ pub struct Link { /// Annotation of a sub-string within rich text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Facet { pub features: Vec>, pub index: facet::ByteSlice, @@ -66,6 +57,7 @@ pub struct Facet { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -81,10 +73,7 @@ pub enum FacetFeaturesItem { /// Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Mention { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -94,10 +83,7 @@ pub struct Mention { /// Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags'). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Tag { pub tag: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -225,7 +211,7 @@ impl LexiconSchema for Tag { pub mod byte_slice_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -363,7 +349,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ByteSlice { ByteSlice { byte_end: self._fields.0.unwrap(), byte_start: self._fields.1.unwrap(), @@ -373,10 +362,10 @@ where } fn lexicon_doc_app_bsky_richtext_facet() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.richtext.facet"), @@ -445,13 +434,16 @@ fn lexicon_doc_app_bsky_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Annotation of a sub-string within rich text.", - )), - required: Some(vec![ - SmolStr::new_static("index"), - SmolStr::new_static("features"), - ]), + description: Some( + CowStr::new_static( + "Annotation of a sub-string within rich text.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("index"), SmolStr::new_static("features") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -460,9 +452,8 @@ fn lexicon_doc_app_bsky_richtext_facet() -> LexiconDoc<'static> { LexObjectProperty::Array(LexArray { items: LexArrayItem::Union(LexRefUnion { refs: vec![ - CowStr::new_static("#mention"), - CowStr::new_static("#link"), - CowStr::new_static("#tag"), + CowStr::new_static("#mention"), CowStr::new_static("#link"), + CowStr::new_static("#tag") ], ..Default::default() }), @@ -538,7 +529,7 @@ fn lexicon_doc_app_bsky_richtext_facet() -> LexiconDoc<'static> { pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -617,7 +608,10 @@ where St::Uri: link_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> LinkBuilder, S> { self._fields.0 = Option::Some(value.into()); LinkBuilder { _state: PhantomData, @@ -650,7 +644,7 @@ where pub mod facet_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -695,10 +689,7 @@ pub mod facet_state { /// Builder for constructing an instance of this type. pub struct FacetBuilder { _state: PhantomData St>, - _fields: ( - Option>>, - Option>, - ), + _fields: (Option>>, Option>), _type: PhantomData S>, } @@ -802,7 +793,7 @@ where pub mod mention_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -881,7 +872,10 @@ where St::Did: mention_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> MentionBuilder, S> { self._fields.0 = Option::Some(value.into()); MentionBuilder { _state: PhantomData, @@ -910,4 +904,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced.rs b/crates/jacquard-api/src/app_bsky/unspecced.rs index ca1e0ee4c..d6e8e4745 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced.rs @@ -37,35 +37,33 @@ pub mod search_actors_skeleton; pub mod search_posts_skeleton; pub mod search_starter_packs_skeleton; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileViewBasic; use crate::app_bsky::feed::BlockedAuthor; use crate::app_bsky::feed::PostView; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Object used to store age assurance data in stash. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AgeAssuranceEvent { ///The unique identifier for this instance of the age assurance flow, in UUID format. pub attempt_id: S, @@ -170,7 +168,9 @@ where AgeAssuranceEventStatus::Unknown => AgeAssuranceEventStatus::Unknown, AgeAssuranceEventStatus::Pending => AgeAssuranceEventStatus::Pending, AgeAssuranceEventStatus::Assured => AgeAssuranceEventStatus::Assured, - AgeAssuranceEventStatus::Other(v) => AgeAssuranceEventStatus::Other(v.into_static()), + AgeAssuranceEventStatus::Other(v) => { + AgeAssuranceEventStatus::Other(v.into_static()) + } } } } @@ -178,10 +178,7 @@ where /// The computed state of the age assurance process, returned to the user in question on certain authenticated requests. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AgeAssuranceState { ///The timestamp when this state was last updated. #[serde(skip_serializing_if = "Option::is_none")] @@ -274,49 +271,43 @@ where AgeAssuranceStateStatus::Pending => AgeAssuranceStateStatus::Pending, AgeAssuranceStateStatus::Assured => AgeAssuranceStateStatus::Assured, AgeAssuranceStateStatus::Blocked => AgeAssuranceStateStatus::Blocked, - AgeAssuranceStateStatus::Other(v) => AgeAssuranceStateStatus::Other(v.into_static()), + AgeAssuranceStateStatus::Other(v) => { + AgeAssuranceStateStatus::Other(v.into_static()) + } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SkeletonSearchActor { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SkeletonSearchPost { pub uri: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SkeletonSearchStarterPack { pub uri: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SkeletonTrend { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -332,6 +323,7 @@ pub struct SkeletonTrend { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum SkeletonTrendStatus { Hot, @@ -405,42 +397,34 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadItemBlocked { pub author: BlockedAuthor, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadItemNoUnauthenticated { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadItemNotFound { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadItemPost { ///The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread. pub hidden_by_threadgate: bool, @@ -457,11 +441,9 @@ pub struct ThreadItemPost { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TrendView { pub actors: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -477,6 +459,7 @@ pub struct TrendView { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TrendViewStatus { Hot, @@ -550,11 +533,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TrendingTopic { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -748,7 +729,7 @@ impl LexiconSchema for TrendingTopic { pub mod age_assurance_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -805,7 +786,10 @@ pub mod age_assurance_event_state { } /// Builder for constructing an instance of this type. -pub struct AgeAssuranceEventBuilder { +pub struct AgeAssuranceEventBuilder< + St: age_assurance_event_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -822,7 +806,10 @@ pub struct AgeAssuranceEventBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> AgeAssuranceEventBuilder { + pub fn new() -> AgeAssuranceEventBuilder< + age_assurance_event_state::Empty, + DefaultStr, + > { AgeAssuranceEventBuilder::new() } } @@ -1000,7 +987,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AgeAssuranceEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AgeAssuranceEvent { AgeAssuranceEvent { attempt_id: self._fields.0.unwrap(), complete_ip: self._fields.1, @@ -1016,10 +1006,10 @@ where } fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.unspecced.defs"), @@ -1235,22 +1225,21 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("skeletonTrend"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("topic"), - SmolStr::new_static("displayName"), - SmolStr::new_static("link"), - SmolStr::new_static("startedAt"), - SmolStr::new_static("postCount"), - SmolStr::new_static("dids"), - ]), + required: Some( + vec![ + SmolStr::new_static("topic"), + SmolStr::new_static("displayName"), + SmolStr::new_static("link"), + SmolStr::new_static("startedAt"), + SmolStr::new_static("postCount"), SmolStr::new_static("dids") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("category"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("dids"), @@ -1264,15 +1253,11 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("displayName"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("link"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("postCount"), @@ -1289,15 +1274,11 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("status"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("topic"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1314,7 +1295,9 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.feed.defs#blockedAuthor"), + r#ref: CowStr::new_static( + "app.bsky.feed.defs#blockedAuthor", + ), ..Default::default() }), ); @@ -1348,14 +1331,16 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("threadItemPost"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("post"), - SmolStr::new_static("moreParents"), - SmolStr::new_static("moreReplies"), - SmolStr::new_static("opThread"), - SmolStr::new_static("hiddenByThreadgate"), - SmolStr::new_static("mutedByViewer"), - ]), + required: Some( + vec![ + SmolStr::new_static("post"), + SmolStr::new_static("moreParents"), + SmolStr::new_static("moreReplies"), + SmolStr::new_static("opThread"), + SmolStr::new_static("hiddenByThreadgate"), + SmolStr::new_static("mutedByViewer") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1404,14 +1389,16 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("trendView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("topic"), - SmolStr::new_static("displayName"), - SmolStr::new_static("link"), - SmolStr::new_static("startedAt"), - SmolStr::new_static("postCount"), - SmolStr::new_static("actors"), - ]), + required: Some( + vec![ + SmolStr::new_static("topic"), + SmolStr::new_static("displayName"), + SmolStr::new_static("link"), + SmolStr::new_static("startedAt"), + SmolStr::new_static("postCount"), + SmolStr::new_static("actors") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1429,21 +1416,15 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("category"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("displayName"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("link"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("postCount"), @@ -1460,15 +1441,11 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("status"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("topic"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1478,36 +1455,27 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("trendingTopic"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("topic"), - SmolStr::new_static("link"), - ]), + required: Some( + vec![SmolStr::new_static("topic"), SmolStr::new_static("link")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("displayName"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("link"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("topic"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1522,7 +1490,7 @@ fn lexicon_doc_app_bsky_unspecced_defs() -> LexiconDoc<'static> { pub mod skeleton_search_actor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1564,14 +1532,20 @@ pub struct SkeletonSearchActorBuilder< impl SkeletonSearchActor { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SkeletonSearchActorBuilder { + pub fn new() -> SkeletonSearchActorBuilder< + skeleton_search_actor_state::Empty, + DefaultStr, + > { SkeletonSearchActorBuilder::new() } } impl SkeletonSearchActor { /// Create a new builder for this type - pub fn builder() -> SkeletonSearchActorBuilder { + pub fn builder() -> SkeletonSearchActorBuilder< + skeleton_search_actor_state::Empty, + S, + > { SkeletonSearchActorBuilder::builder() } } @@ -1630,7 +1604,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SkeletonSearchActor { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SkeletonSearchActor { SkeletonSearchActor { did: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1640,7 +1617,7 @@ where pub mod skeleton_search_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1671,8 +1648,10 @@ pub mod skeleton_search_post_state { } /// Builder for constructing an instance of this type. -pub struct SkeletonSearchPostBuilder -{ +pub struct SkeletonSearchPostBuilder< + St: skeleton_search_post_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -1680,7 +1659,10 @@ pub struct SkeletonSearchPostBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SkeletonSearchPostBuilder { + pub fn new() -> SkeletonSearchPostBuilder< + skeleton_search_post_state::Empty, + DefaultStr, + > { SkeletonSearchPostBuilder::new() } } @@ -1746,7 +1728,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SkeletonSearchPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SkeletonSearchPost { SkeletonSearchPost { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1756,7 +1741,7 @@ where pub mod skeleton_search_starter_pack_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1798,21 +1783,28 @@ pub struct SkeletonSearchStarterPackBuilder< impl SkeletonSearchStarterPack { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> SkeletonSearchStarterPackBuilder { + pub fn new() -> SkeletonSearchStarterPackBuilder< + skeleton_search_starter_pack_state::Empty, + DefaultStr, + > { SkeletonSearchStarterPackBuilder::new() } } impl SkeletonSearchStarterPack { /// Create a new builder for this type - pub fn builder() - -> SkeletonSearchStarterPackBuilder { + pub fn builder() -> SkeletonSearchStarterPackBuilder< + skeleton_search_starter_pack_state::Empty, + S, + > { SkeletonSearchStarterPackBuilder::builder() } } -impl SkeletonSearchStarterPackBuilder { +impl SkeletonSearchStarterPackBuilder< + skeleton_search_starter_pack_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SkeletonSearchStarterPackBuilder { @@ -1823,7 +1815,9 @@ impl SkeletonSearchStarterPackBuilder SkeletonSearchStarterPackBuilder { +impl< + S: BosStr, +> SkeletonSearchStarterPackBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SkeletonSearchStarterPackBuilder { @@ -1843,7 +1837,10 @@ where pub fn uri( mut self, value: impl Into>, - ) -> SkeletonSearchStarterPackBuilder, S> { + ) -> SkeletonSearchStarterPackBuilder< + skeleton_search_starter_pack_state::SetUri, + S, + > { self._fields.0 = Option::Some(value.into()); SkeletonSearchStarterPackBuilder { _state: PhantomData, @@ -1879,7 +1876,7 @@ where pub mod skeleton_trend_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1990,7 +1987,10 @@ pub mod skeleton_trend_state { } /// Builder for constructing an instance of this type. -pub struct SkeletonTrendBuilder { +pub struct SkeletonTrendBuilder< + St: skeleton_trend_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -2206,7 +2206,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SkeletonTrend { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SkeletonTrend { SkeletonTrend { category: self._fields.0, dids: self._fields.1.unwrap(), @@ -2223,7 +2226,7 @@ where pub mod thread_item_blocked_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2254,7 +2257,10 @@ pub mod thread_item_blocked_state { } /// Builder for constructing an instance of this type. -pub struct ThreadItemBlockedBuilder { +pub struct ThreadItemBlockedBuilder< + St: thread_item_blocked_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -2262,7 +2268,10 @@ pub struct ThreadItemBlockedBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ThreadItemBlockedBuilder { + pub fn new() -> ThreadItemBlockedBuilder< + thread_item_blocked_state::Empty, + DefaultStr, + > { ThreadItemBlockedBuilder::new() } } @@ -2328,7 +2337,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ThreadItemBlocked { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ThreadItemBlocked { ThreadItemBlocked { author: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -2338,7 +2350,7 @@ where pub mod thread_item_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2449,7 +2461,10 @@ pub mod thread_item_post_state { } /// Builder for constructing an instance of this type. -pub struct ThreadItemPostBuilder { +pub struct ThreadItemPostBuilder< + St: thread_item_post_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -2635,7 +2650,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ThreadItemPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ThreadItemPost { ThreadItemPost { hidden_by_threadgate: self._fields.0.unwrap(), more_parents: self._fields.1.unwrap(), @@ -2650,7 +2668,7 @@ where pub mod trend_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2977,7 +2995,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TrendView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TrendView { TrendView { actors: self._fields.0.unwrap(), category: self._fields.1, @@ -2990,4 +3011,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_age_assurance_state.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_age_assurance_state.rs index 3e5fbd852..4d88c95df 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_age_assurance_state.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_age_assurance_state.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::AgeAssuranceState; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::AgeAssuranceState; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAgeAssuranceStateOutput { #[serde(flatten)] pub value: AgeAssuranceState, @@ -61,4 +58,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAgeAssuranceStateRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetAgeAssuranceState; type Response = GetAgeAssuranceStateResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_config.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_config.rs index d3ca618c7..6b2535b4f 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_config.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_config.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::unspecced::get_config; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::get_config; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LiveNowConfig { pub did: Did, pub domains: Vec, @@ -38,11 +35,9 @@ pub struct LiveNowConfig { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConfigOutput { #[serde(skip_serializing_if = "Option::is_none")] pub check_email_confirmed: Option, @@ -103,7 +98,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConfigRequest { pub mod live_now_config_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -146,7 +141,10 @@ pub mod live_now_config_state { } /// Builder for constructing an instance of this type. -pub struct LiveNowConfigBuilder { +pub struct LiveNowConfigBuilder< + St: live_now_config_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -241,7 +239,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LiveNowConfig { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LiveNowConfig { LiveNowConfig { did: self._fields.0.unwrap(), domains: self._fields.1.unwrap(), @@ -251,10 +252,10 @@ where } fn lexicon_doc_app_bsky_unspecced_getConfig() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.unspecced.getConfig"), @@ -263,10 +264,9 @@ fn lexicon_doc_app_bsky_unspecced_getConfig() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("liveNowConfig"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("domains"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("domains")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -302,4 +302,4 @@ fn lexicon_doc_app_bsky_unspecced_getConfig() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs.rs index 923c2f321..2f97dc503 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::StarterPackView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::StarterPackView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -26,11 +26,9 @@ pub struct GetOnboardingSuggestedStarterPacks { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetOnboardingSuggestedStarterPacksOutput { pub starter_packs: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -71,7 +69,7 @@ fn _default_limit() -> Option { pub mod get_onboarding_suggested_starter_packs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,9 +103,9 @@ impl GetOnboardingSuggestedStarterPacks { } } -impl - GetOnboardingSuggestedStarterPacksBuilder -{ +impl GetOnboardingSuggestedStarterPacksBuilder< + get_onboarding_suggested_starter_packs_state::Empty, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetOnboardingSuggestedStarterPacksBuilder { @@ -117,9 +115,9 @@ impl } } -impl - GetOnboardingSuggestedStarterPacksBuilder -{ +impl GetOnboardingSuggestedStarterPacksBuilder< + get_onboarding_suggested_starter_packs_state::Empty, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetOnboardingSuggestedStarterPacksBuilder { @@ -129,9 +127,9 @@ impl } } -impl - GetOnboardingSuggestedStarterPacksBuilder -{ +impl< + St: get_onboarding_suggested_starter_packs_state::State, +> GetOnboardingSuggestedStarterPacksBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -154,4 +152,4 @@ where limit: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs_skeleton.rs index a27ab7023..7663e1786 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Did}; +use jacquard_common::types::string::{Did, AtUri}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetOnboardingSuggestedStarterPacksSkeleton { /// Defaults to `10`. Min: 1. Max: 25. #[serde(default = "_default_limit")] @@ -31,11 +28,9 @@ pub struct GetOnboardingSuggestedStarterPacksSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetOnboardingSuggestedStarterPacksSkeletonOutput { pub starter_packs: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -46,7 +41,8 @@ pub struct GetOnboardingSuggestedStarterPacksSkeletonOutput`, which is `GetOnboardingSuggestedStarterPacksSkeletonOutput` for this endpoint.*/ pub struct GetOnboardingSuggestedStarterPacksSkeletonResponse; -impl jacquard_common::xrpc::XrpcResp for GetOnboardingSuggestedStarterPacksSkeletonResponse { +impl jacquard_common::xrpc::XrpcResp +for GetOnboardingSuggestedStarterPacksSkeletonResponse { const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton"; const ENCODING: &'static str = "application/json"; type Output = GetOnboardingSuggestedStarterPacksSkeletonOutput; @@ -54,8 +50,7 @@ impl jacquard_common::xrpc::XrpcResp for GetOnboardingSuggestedStarterPacksSkele } impl jacquard_common::xrpc::XrpcRequest - for GetOnboardingSuggestedStarterPacksSkeleton -{ +for GetOnboardingSuggestedStarterPacksSkeleton { const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Response = GetOnboardingSuggestedStarterPacksSkeletonResponse; @@ -65,9 +60,9 @@ impl jacquard_common::xrpc::XrpcRequest Path: `/xrpc/app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton`. The request payload type is `GetOnboardingSuggestedStarterPacksSkeleton`; send that request with `jacquard::Client` or use this marker through lower-level `XrpcEndpoint` APIs.*/ pub struct GetOnboardingSuggestedStarterPacksSkeletonRequest; -impl jacquard_common::xrpc::XrpcEndpoint for GetOnboardingSuggestedStarterPacksSkeletonRequest { - const PATH: &'static str = - "/xrpc/app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton"; +impl jacquard_common::xrpc::XrpcEndpoint +for GetOnboardingSuggestedStarterPacksSkeletonRequest { + const PATH: &'static str = "/xrpc/app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetOnboardingSuggestedStarterPacksSkeleton; type Response = GetOnboardingSuggestedStarterPacksSkeletonResponse; @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod get_onboarding_suggested_starter_packs_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -126,12 +121,10 @@ impl GetOnboardingSuggestedStarterPacksSkeleton { } } -impl - GetOnboardingSuggestedStarterPacksSkeletonBuilder< - get_onboarding_suggested_starter_packs_skeleton_state::Empty, - DefaultStr, - > -{ +impl GetOnboardingSuggestedStarterPacksSkeletonBuilder< + get_onboarding_suggested_starter_packs_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetOnboardingSuggestedStarterPacksSkeletonBuilder { @@ -142,12 +135,12 @@ impl } } -impl - GetOnboardingSuggestedStarterPacksSkeletonBuilder< - get_onboarding_suggested_starter_packs_skeleton_state::Empty, - S, - > -{ +impl< + S: BosStr, +> GetOnboardingSuggestedStarterPacksSkeletonBuilder< + get_onboarding_suggested_starter_packs_skeleton_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetOnboardingSuggestedStarterPacksSkeletonBuilder { @@ -158,9 +151,10 @@ impl } } -impl - GetOnboardingSuggestedStarterPacksSkeletonBuilder -{ +impl< + St: get_onboarding_suggested_starter_packs_skeleton_state::State, + S: BosStr, +> GetOnboardingSuggestedStarterPacksSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -173,9 +167,10 @@ impl - GetOnboardingSuggestedStarterPacksSkeletonBuilder -{ +impl< + St: get_onboarding_suggested_starter_packs_skeleton_state::State, + S: BosStr, +> GetOnboardingSuggestedStarterPacksSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.1 = value.into(); @@ -199,4 +194,4 @@ where viewer: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_users_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_users_skeleton.rs index ef32c9701..9a7df4a94 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_users_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_users_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetOnboardingSuggestedUsersSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -33,11 +30,9 @@ pub struct GetOnboardingSuggestedUsersSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetOnboardingSuggestedUsersSkeletonOutput { pub dids: Vec>, ///DEPRECATED: use recIdStr instead. @@ -61,7 +56,8 @@ impl jacquard_common::xrpc::XrpcResp for GetOnboardingSuggestedUsersSkeletonResp type Err = jacquard_common::xrpc::GenericError; } -impl jacquard_common::xrpc::XrpcRequest for GetOnboardingSuggestedUsersSkeleton { +impl jacquard_common::xrpc::XrpcRequest +for GetOnboardingSuggestedUsersSkeleton { const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedUsersSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Response = GetOnboardingSuggestedUsersSkeletonResponse; @@ -84,7 +80,7 @@ fn _default_limit() -> Option { pub mod get_onboarding_suggested_users_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -131,12 +127,10 @@ impl GetOnboardingSuggestedUsersSkeleton { } } -impl - GetOnboardingSuggestedUsersSkeletonBuilder< - get_onboarding_suggested_users_skeleton_state::Empty, - DefaultStr, - > -{ +impl GetOnboardingSuggestedUsersSkeletonBuilder< + get_onboarding_suggested_users_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetOnboardingSuggestedUsersSkeletonBuilder { @@ -147,12 +141,12 @@ impl } } -impl - GetOnboardingSuggestedUsersSkeletonBuilder< - get_onboarding_suggested_users_skeleton_state::Empty, - S, - > -{ +impl< + S: BosStr, +> GetOnboardingSuggestedUsersSkeletonBuilder< + get_onboarding_suggested_users_skeleton_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetOnboardingSuggestedUsersSkeletonBuilder { @@ -163,9 +157,10 @@ impl } } -impl - GetOnboardingSuggestedUsersSkeletonBuilder -{ +impl< + St: get_onboarding_suggested_users_skeleton_state::State, + S: BosStr, +> GetOnboardingSuggestedUsersSkeletonBuilder { /// Set the `category` field (optional) pub fn category(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -178,9 +173,10 @@ impl } } -impl - GetOnboardingSuggestedUsersSkeletonBuilder -{ +impl< + St: get_onboarding_suggested_users_skeleton_state::State, + S: BosStr, +> GetOnboardingSuggestedUsersSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -193,9 +189,10 @@ impl } } -impl - GetOnboardingSuggestedUsersSkeletonBuilder -{ +impl< + St: get_onboarding_suggested_users_skeleton_state::State, + S: BosStr, +> GetOnboardingSuggestedUsersSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.2 = value.into(); @@ -220,4 +217,4 @@ where viewer: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_popular_feed_generators.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_popular_feed_generators.rs index 05fc9de60..c1db5ec7b 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_popular_feed_generators.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_popular_feed_generators.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::GeneratorView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::GeneratorView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPopularFeedGenerators { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -33,11 +30,9 @@ pub struct GetPopularFeedGenerators { pub query: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPopularFeedGeneratorsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -80,7 +75,7 @@ fn _default_limit() -> Option { pub mod get_popular_feed_generators_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -109,21 +104,28 @@ pub struct GetPopularFeedGeneratorsBuilder< impl GetPopularFeedGenerators { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> GetPopularFeedGeneratorsBuilder { + pub fn new() -> GetPopularFeedGeneratorsBuilder< + get_popular_feed_generators_state::Empty, + DefaultStr, + > { GetPopularFeedGeneratorsBuilder::new() } } impl GetPopularFeedGenerators { /// Create a new builder for this type - pub fn builder() -> GetPopularFeedGeneratorsBuilder - { + pub fn builder() -> GetPopularFeedGeneratorsBuilder< + get_popular_feed_generators_state::Empty, + S, + > { GetPopularFeedGeneratorsBuilder::builder() } } -impl GetPopularFeedGeneratorsBuilder { +impl GetPopularFeedGeneratorsBuilder< + get_popular_feed_generators_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetPopularFeedGeneratorsBuilder { @@ -134,7 +136,9 @@ impl GetPopularFeedGeneratorsBuilder GetPopularFeedGeneratorsBuilder { +impl< + S: BosStr, +> GetPopularFeedGeneratorsBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetPopularFeedGeneratorsBuilder { @@ -145,9 +149,10 @@ impl GetPopularFeedGeneratorsBuilder - GetPopularFeedGeneratorsBuilder -{ +impl< + St: get_popular_feed_generators_state::State, + S: BosStr, +> GetPopularFeedGeneratorsBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -160,9 +165,10 @@ impl } } -impl - GetPopularFeedGeneratorsBuilder -{ +impl< + St: get_popular_feed_generators_state::State, + S: BosStr, +> GetPopularFeedGeneratorsBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -175,9 +181,10 @@ impl } } -impl - GetPopularFeedGeneratorsBuilder -{ +impl< + St: get_popular_feed_generators_state::State, + S: BosStr, +> GetPopularFeedGeneratorsBuilder { /// Set the `query` field (optional) pub fn query(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -202,4 +209,4 @@ where query: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_other_v2.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_other_v2.rs index a17937a31..f78c10cd5 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_other_v2.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_other_v2.rs @@ -21,26 +21,21 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::unspecced::ThreadItemPost; -use crate::app_bsky::unspecced::get_post_thread_other_v2; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::ThreadItemPost; +use crate::app_bsky::unspecced::get_post_thread_other_v2; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostThreadOtherV2 { pub anchor: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostThreadOtherV2Output { ///A flat list of other thread items. The depth of each item is indicated by the depth property inside the item. pub thread: Vec>, @@ -48,11 +43,9 @@ pub struct GetPostThreadOtherV2Output { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadItem { ///The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths. pub depth: i64, @@ -107,7 +100,7 @@ impl LexiconSchema for ThreadItem { pub mod get_post_thread_other_v2_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -149,14 +142,20 @@ pub struct GetPostThreadOtherV2Builder< impl GetPostThreadOtherV2 { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetPostThreadOtherV2Builder { + pub fn new() -> GetPostThreadOtherV2Builder< + get_post_thread_other_v2_state::Empty, + DefaultStr, + > { GetPostThreadOtherV2Builder::new() } } impl GetPostThreadOtherV2 { /// Create a new builder for this type - pub fn builder() -> GetPostThreadOtherV2Builder { + pub fn builder() -> GetPostThreadOtherV2Builder< + get_post_thread_other_v2_state::Empty, + S, + > { GetPostThreadOtherV2Builder::builder() } } @@ -217,7 +216,7 @@ where pub mod thread_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -390,7 +389,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ThreadItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ThreadItem { ThreadItem { depth: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -401,10 +403,10 @@ where } fn lexicon_doc_app_bsky_unspecced_getPostThreadOtherV2() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.unspecced.getPostThreadOtherV2"), @@ -442,11 +444,12 @@ fn lexicon_doc_app_bsky_unspecced_getPostThreadOtherV2() -> LexiconDoc<'static> map.insert( SmolStr::new_static("threadItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("depth"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("depth"), + SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -466,9 +469,9 @@ fn lexicon_doc_app_bsky_unspecced_getPostThreadOtherV2() -> LexiconDoc<'static> map.insert( SmolStr::new_static("value"), LexObjectProperty::Union(LexRefUnion { - refs: vec![CowStr::new_static( - "app.bsky.unspecced.defs#threadItemPost", - )], + refs: vec![ + CowStr::new_static("app.bsky.unspecced.defs#threadItemPost") + ], ..Default::default() }), ); @@ -481,4 +484,4 @@ fn lexicon_doc_app_bsky_unspecced_getPostThreadOtherV2() -> LexiconDoc<'static> }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_v2.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_v2.rs index e1d28c02f..b09829e08 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_v2.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_v2.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,21 +21,18 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::feed::ThreadgateView; use crate::app_bsky::unspecced::ThreadItemBlocked; use crate::app_bsky::unspecced::ThreadItemNoUnauthenticated; use crate::app_bsky::unspecced::ThreadItemNotFound; use crate::app_bsky::unspecced::ThreadItemPost; use crate::app_bsky::unspecced::get_post_thread_v2; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostThreadV2 { /// Defaults to `true`. #[serde(default = "_default_above")] @@ -56,11 +53,9 @@ pub struct GetPostThreadV2 { pub sort: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostThreadV2Output { ///Whether this thread has additional replies. If true, a call can be made to the `getPostThreadOtherV2` endpoint to retrieve them. pub has_other_replies: bool, @@ -72,11 +67,9 @@ pub struct GetPostThreadV2Output { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadItem { ///The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths. pub depth: i64, @@ -86,6 +79,7 @@ pub struct ThreadItem { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -161,7 +155,7 @@ fn _default_sort() -> Option { pub mod get_post_thread_v2_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -192,15 +186,12 @@ pub mod get_post_thread_v2_state { } /// Builder for constructing an instance of this type. -pub struct GetPostThreadV2Builder { +pub struct GetPostThreadV2Builder< + St: get_post_thread_v2_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option, - Option, - ), + _fields: (Option, Option>, Option, Option, Option), _type: PhantomData S>, } @@ -330,7 +321,7 @@ where pub mod thread_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -503,7 +494,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ThreadItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ThreadItem { ThreadItem { depth: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -514,10 +508,10 @@ where } fn lexicon_doc_app_bsky_unspecced_getPostThreadV2() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.unspecced.getPostThreadV2"), @@ -582,11 +576,12 @@ fn lexicon_doc_app_bsky_unspecced_getPostThreadV2() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("threadItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("depth"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("depth"), + SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -608,13 +603,9 @@ fn lexicon_doc_app_bsky_unspecced_getPostThreadV2() -> LexiconDoc<'static> { LexObjectProperty::Union(LexRefUnion { refs: vec![ CowStr::new_static("app.bsky.unspecced.defs#threadItemPost"), - CowStr::new_static( - "app.bsky.unspecced.defs#threadItemNoUnauthenticated", - ), - CowStr::new_static( - "app.bsky.unspecced.defs#threadItemNotFound", - ), - CowStr::new_static("app.bsky.unspecced.defs#threadItemBlocked"), + CowStr::new_static("app.bsky.unspecced.defs#threadItemNoUnauthenticated"), + CowStr::new_static("app.bsky.unspecced.defs#threadItemNotFound"), + CowStr::new_static("app.bsky.unspecced.defs#threadItemBlocked") ], ..Default::default() }), @@ -628,4 +619,4 @@ fn lexicon_doc_app_bsky_unspecced_getPostThreadV2() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds.rs index c7c2e499f..47ddbbf02 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::feed::GeneratorView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::feed::GeneratorView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -26,11 +26,9 @@ pub struct GetSuggestedFeeds { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedFeedsOutput { pub feeds: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -71,7 +69,7 @@ fn _default_limit() -> Option { pub mod get_suggested_feeds_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -144,4 +142,4 @@ where limit: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds_skeleton.rs index 5de5395bc..846f81de4 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Did}; +use jacquard_common::types::string::{Did, AtUri}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedFeedsSkeleton { /// Defaults to `10`. Min: 1. Max: 25. #[serde(default = "_default_limit")] @@ -31,11 +28,9 @@ pub struct GetSuggestedFeedsSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedFeedsSkeletonOutput { pub feeds: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -76,7 +71,7 @@ fn _default_limit() -> Option { pub mod get_suggested_feeds_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,21 +100,28 @@ pub struct GetSuggestedFeedsSkeletonBuilder< impl GetSuggestedFeedsSkeleton { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> GetSuggestedFeedsSkeletonBuilder { + pub fn new() -> GetSuggestedFeedsSkeletonBuilder< + get_suggested_feeds_skeleton_state::Empty, + DefaultStr, + > { GetSuggestedFeedsSkeletonBuilder::new() } } impl GetSuggestedFeedsSkeleton { /// Create a new builder for this type - pub fn builder() - -> GetSuggestedFeedsSkeletonBuilder { + pub fn builder() -> GetSuggestedFeedsSkeletonBuilder< + get_suggested_feeds_skeleton_state::Empty, + S, + > { GetSuggestedFeedsSkeletonBuilder::builder() } } -impl GetSuggestedFeedsSkeletonBuilder { +impl GetSuggestedFeedsSkeletonBuilder< + get_suggested_feeds_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedFeedsSkeletonBuilder { @@ -130,7 +132,9 @@ impl GetSuggestedFeedsSkeletonBuilder GetSuggestedFeedsSkeletonBuilder { +impl< + S: BosStr, +> GetSuggestedFeedsSkeletonBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedFeedsSkeletonBuilder { @@ -141,9 +145,10 @@ impl GetSuggestedFeedsSkeletonBuilder - GetSuggestedFeedsSkeletonBuilder -{ +impl< + St: get_suggested_feeds_skeleton_state::State, + S: BosStr, +> GetSuggestedFeedsSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -156,9 +161,10 @@ impl } } -impl - GetSuggestedFeedsSkeletonBuilder -{ +impl< + St: get_suggested_feeds_skeleton_state::State, + S: BosStr, +> GetSuggestedFeedsSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.1 = value.into(); @@ -182,4 +188,4 @@ where viewer: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_onboarding_users.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_onboarding_users.rs index ee45179ce..72c09b029 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_onboarding_users.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_onboarding_users.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedOnboardingUsers { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -31,11 +28,9 @@ pub struct GetSuggestedOnboardingUsers { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedOnboardingUsersOutput { pub actors: Vec>, ///DEPRECATED: use recIdStr instead. @@ -82,7 +77,7 @@ fn _default_limit() -> Option { pub mod get_suggested_onboarding_users_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -111,22 +106,28 @@ pub struct GetSuggestedOnboardingUsersBuilder< impl GetSuggestedOnboardingUsers { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> GetSuggestedOnboardingUsersBuilder - { + pub fn new() -> GetSuggestedOnboardingUsersBuilder< + get_suggested_onboarding_users_state::Empty, + DefaultStr, + > { GetSuggestedOnboardingUsersBuilder::new() } } impl GetSuggestedOnboardingUsers { /// Create a new builder for this type - pub fn builder() - -> GetSuggestedOnboardingUsersBuilder { + pub fn builder() -> GetSuggestedOnboardingUsersBuilder< + get_suggested_onboarding_users_state::Empty, + S, + > { GetSuggestedOnboardingUsersBuilder::builder() } } -impl GetSuggestedOnboardingUsersBuilder { +impl GetSuggestedOnboardingUsersBuilder< + get_suggested_onboarding_users_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedOnboardingUsersBuilder { @@ -137,7 +138,9 @@ impl GetSuggestedOnboardingUsersBuilder GetSuggestedOnboardingUsersBuilder { +impl< + S: BosStr, +> GetSuggestedOnboardingUsersBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedOnboardingUsersBuilder { @@ -148,9 +151,10 @@ impl GetSuggestedOnboardingUsersBuilder - GetSuggestedOnboardingUsersBuilder -{ +impl< + St: get_suggested_onboarding_users_state::State, + S: BosStr, +> GetSuggestedOnboardingUsersBuilder { /// Set the `category` field (optional) pub fn category(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -163,9 +167,10 @@ impl } } -impl - GetSuggestedOnboardingUsersBuilder -{ +impl< + St: get_suggested_onboarding_users_state::State, + S: BosStr, +> GetSuggestedOnboardingUsersBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -189,4 +194,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs.rs index 9b2f70c83..037caa3a8 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::graph::StarterPackView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::graph::StarterPackView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -26,11 +26,9 @@ pub struct GetSuggestedStarterPacks { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedStarterPacksOutput { pub starter_packs: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -71,7 +69,7 @@ fn _default_limit() -> Option { pub mod get_suggested_starter_packs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -89,14 +87,18 @@ pub mod get_suggested_starter_packs_state { } /// Builder for constructing an instance of this type. -pub struct GetSuggestedStarterPacksBuilder { +pub struct GetSuggestedStarterPacksBuilder< + St: get_suggested_starter_packs_state::State, +> { _state: PhantomData St>, _fields: (Option,), } impl GetSuggestedStarterPacks { /// Create a new builder for this type. - pub fn new() -> GetSuggestedStarterPacksBuilder { + pub fn new() -> GetSuggestedStarterPacksBuilder< + get_suggested_starter_packs_state::Empty, + > { GetSuggestedStarterPacksBuilder::new() } } @@ -144,4 +146,4 @@ where limit: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs_skeleton.rs index 92fa0498f..dbe484aca 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Did}; +use jacquard_common::types::string::{Did, AtUri}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedStarterPacksSkeleton { /// Defaults to `10`. Min: 1. Max: 25. #[serde(default = "_default_limit")] @@ -31,11 +28,9 @@ pub struct GetSuggestedStarterPacksSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedStarterPacksSkeletonOutput { pub starter_packs: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -53,7 +48,8 @@ impl jacquard_common::xrpc::XrpcResp for GetSuggestedStarterPacksSkeletonRespons type Err = jacquard_common::xrpc::GenericError; } -impl jacquard_common::xrpc::XrpcRequest for GetSuggestedStarterPacksSkeleton { +impl jacquard_common::xrpc::XrpcRequest +for GetSuggestedStarterPacksSkeleton { const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacksSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Response = GetSuggestedStarterPacksSkeletonResponse; @@ -76,7 +72,7 @@ fn _default_limit() -> Option { pub mod get_suggested_starter_packs_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -115,19 +111,18 @@ impl GetSuggestedStarterPacksSkeleton { impl GetSuggestedStarterPacksSkeleton { /// Create a new builder for this type - pub fn builder() - -> GetSuggestedStarterPacksSkeletonBuilder - { + pub fn builder() -> GetSuggestedStarterPacksSkeletonBuilder< + get_suggested_starter_packs_skeleton_state::Empty, + S, + > { GetSuggestedStarterPacksSkeletonBuilder::builder() } } -impl - GetSuggestedStarterPacksSkeletonBuilder< - get_suggested_starter_packs_skeleton_state::Empty, - DefaultStr, - > -{ +impl GetSuggestedStarterPacksSkeletonBuilder< + get_suggested_starter_packs_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedStarterPacksSkeletonBuilder { @@ -138,9 +133,12 @@ impl } } -impl - GetSuggestedStarterPacksSkeletonBuilder -{ +impl< + S: BosStr, +> GetSuggestedStarterPacksSkeletonBuilder< + get_suggested_starter_packs_skeleton_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedStarterPacksSkeletonBuilder { @@ -151,9 +149,10 @@ impl } } -impl - GetSuggestedStarterPacksSkeletonBuilder -{ +impl< + St: get_suggested_starter_packs_skeleton_state::State, + S: BosStr, +> GetSuggestedStarterPacksSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -166,9 +165,10 @@ impl } } -impl - GetSuggestedStarterPacksSkeletonBuilder -{ +impl< + St: get_suggested_starter_packs_skeleton_state::State, + S: BosStr, +> GetSuggestedStarterPacksSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.1 = value.into(); @@ -192,4 +192,4 @@ where viewer: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users.rs index b718b61e5..0a69c8fcf 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsers { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -31,11 +28,9 @@ pub struct GetSuggestedUsers { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersOutput { pub actors: Vec>, ///DEPRECATED: use recIdStr instead. @@ -82,7 +77,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -100,7 +95,10 @@ pub mod get_suggested_users_state { } /// Builder for constructing an instance of this type. -pub struct GetSuggestedUsersBuilder { +pub struct GetSuggestedUsersBuilder< + St: get_suggested_users_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -108,7 +106,10 @@ pub struct GetSuggestedUsersBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetSuggestedUsersBuilder { + pub fn new() -> GetSuggestedUsersBuilder< + get_suggested_users_state::Empty, + DefaultStr, + > { GetSuggestedUsersBuilder::new() } } @@ -179,4 +180,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover.rs index 27fc09d23..392b00c5b 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -26,11 +26,9 @@ pub struct GetSuggestedUsersForDiscover { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForDiscoverOutput { pub actors: Vec>, ///Snowflake for this recommendation, use when submitting recommendation events. @@ -74,7 +72,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_for_discover_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -92,15 +90,18 @@ pub mod get_suggested_users_for_discover_state { } /// Builder for constructing an instance of this type. -pub struct GetSuggestedUsersForDiscoverBuilder { +pub struct GetSuggestedUsersForDiscoverBuilder< + St: get_suggested_users_for_discover_state::State, +> { _state: PhantomData St>, _fields: (Option,), } impl GetSuggestedUsersForDiscover { /// Create a new builder for this type. - pub fn new() - -> GetSuggestedUsersForDiscoverBuilder { + pub fn new() -> GetSuggestedUsersForDiscoverBuilder< + get_suggested_users_for_discover_state::Empty, + > { GetSuggestedUsersForDiscoverBuilder::new() } } @@ -125,7 +126,9 @@ impl GetSuggestedUsersForDiscoverBuilder GetSuggestedUsersForDiscoverBuilder { +impl< + St: get_suggested_users_for_discover_state::State, +> GetSuggestedUsersForDiscoverBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -148,4 +151,4 @@ where limit: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover_skeleton.rs index 209a4c829..8543b2819 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_discover_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForDiscoverSkeleton { /// Defaults to `25`. Min: 1. Max: 50. #[serde(default = "_default_limit")] @@ -31,11 +28,9 @@ pub struct GetSuggestedUsersForDiscoverSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForDiscoverSkeletonOutput { pub dids: Vec>, ///Snowflake for this recommendation, use when submitting recommendation events. @@ -56,7 +51,8 @@ impl jacquard_common::xrpc::XrpcResp for GetSuggestedUsersForDiscoverSkeletonRes type Err = jacquard_common::xrpc::GenericError; } -impl jacquard_common::xrpc::XrpcRequest for GetSuggestedUsersForDiscoverSkeleton { +impl jacquard_common::xrpc::XrpcRequest +for GetSuggestedUsersForDiscoverSkeleton { const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsersForDiscoverSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Response = GetSuggestedUsersForDiscoverSkeletonResponse; @@ -66,7 +62,8 @@ impl jacquard_common::xrpc::XrpcRequest for GetSuggestedUsersForDisco Path: `/xrpc/app.bsky.unspecced.getSuggestedUsersForDiscoverSkeleton`. The request payload type is `GetSuggestedUsersForDiscoverSkeleton`; send that request with `jacquard::Client` or use this marker through lower-level `XrpcEndpoint` APIs.*/ pub struct GetSuggestedUsersForDiscoverSkeletonRequest; -impl jacquard_common::xrpc::XrpcEndpoint for GetSuggestedUsersForDiscoverSkeletonRequest { +impl jacquard_common::xrpc::XrpcEndpoint +for GetSuggestedUsersForDiscoverSkeletonRequest { const PATH: &'static str = "/xrpc/app.bsky.unspecced.getSuggestedUsersForDiscoverSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetSuggestedUsersForDiscoverSkeleton; @@ -79,7 +76,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_for_discover_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -126,12 +123,10 @@ impl GetSuggestedUsersForDiscoverSkeleton { } } -impl - GetSuggestedUsersForDiscoverSkeletonBuilder< - get_suggested_users_for_discover_skeleton_state::Empty, - DefaultStr, - > -{ +impl GetSuggestedUsersForDiscoverSkeletonBuilder< + get_suggested_users_for_discover_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedUsersForDiscoverSkeletonBuilder { @@ -142,12 +137,12 @@ impl } } -impl - GetSuggestedUsersForDiscoverSkeletonBuilder< - get_suggested_users_for_discover_skeleton_state::Empty, - S, - > -{ +impl< + S: BosStr, +> GetSuggestedUsersForDiscoverSkeletonBuilder< + get_suggested_users_for_discover_skeleton_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedUsersForDiscoverSkeletonBuilder { @@ -158,9 +153,10 @@ impl } } -impl - GetSuggestedUsersForDiscoverSkeletonBuilder -{ +impl< + St: get_suggested_users_for_discover_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForDiscoverSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -173,9 +169,10 @@ impl } } -impl - GetSuggestedUsersForDiscoverSkeletonBuilder -{ +impl< + St: get_suggested_users_for_discover_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForDiscoverSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.1 = value.into(); @@ -199,4 +196,4 @@ where viewer: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore.rs index 23ae52ef2..c5db54b7d 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForExplore { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -31,11 +28,9 @@ pub struct GetSuggestedUsersForExplore { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForExploreOutput { pub actors: Vec>, ///Snowflake for this recommendation, use when submitting recommendation events. @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_for_explore_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -108,22 +103,28 @@ pub struct GetSuggestedUsersForExploreBuilder< impl GetSuggestedUsersForExplore { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> GetSuggestedUsersForExploreBuilder - { + pub fn new() -> GetSuggestedUsersForExploreBuilder< + get_suggested_users_for_explore_state::Empty, + DefaultStr, + > { GetSuggestedUsersForExploreBuilder::new() } } impl GetSuggestedUsersForExplore { /// Create a new builder for this type - pub fn builder() - -> GetSuggestedUsersForExploreBuilder { + pub fn builder() -> GetSuggestedUsersForExploreBuilder< + get_suggested_users_for_explore_state::Empty, + S, + > { GetSuggestedUsersForExploreBuilder::builder() } } -impl GetSuggestedUsersForExploreBuilder { +impl GetSuggestedUsersForExploreBuilder< + get_suggested_users_for_explore_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedUsersForExploreBuilder { @@ -134,9 +135,9 @@ impl GetSuggestedUsersForExploreBuilder - GetSuggestedUsersForExploreBuilder -{ +impl< + S: BosStr, +> GetSuggestedUsersForExploreBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedUsersForExploreBuilder { @@ -147,9 +148,10 @@ impl } } -impl - GetSuggestedUsersForExploreBuilder -{ +impl< + St: get_suggested_users_for_explore_state::State, + S: BosStr, +> GetSuggestedUsersForExploreBuilder { /// Set the `category` field (optional) pub fn category(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -162,9 +164,10 @@ impl } } -impl - GetSuggestedUsersForExploreBuilder -{ +impl< + St: get_suggested_users_for_explore_state::State, + S: BosStr, +> GetSuggestedUsersForExploreBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -188,4 +191,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore_skeleton.rs index f2376bd31..e50784f36 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_explore_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForExploreSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -33,11 +30,9 @@ pub struct GetSuggestedUsersForExploreSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForExploreSkeletonOutput { pub dids: Vec>, ///Snowflake for this recommendation, use when submitting recommendation events. @@ -58,7 +53,8 @@ impl jacquard_common::xrpc::XrpcResp for GetSuggestedUsersForExploreSkeletonResp type Err = jacquard_common::xrpc::GenericError; } -impl jacquard_common::xrpc::XrpcRequest for GetSuggestedUsersForExploreSkeleton { +impl jacquard_common::xrpc::XrpcRequest +for GetSuggestedUsersForExploreSkeleton { const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsersForExploreSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Response = GetSuggestedUsersForExploreSkeletonResponse; @@ -81,7 +77,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_for_explore_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -128,12 +124,10 @@ impl GetSuggestedUsersForExploreSkeleton { } } -impl - GetSuggestedUsersForExploreSkeletonBuilder< - get_suggested_users_for_explore_skeleton_state::Empty, - DefaultStr, - > -{ +impl GetSuggestedUsersForExploreSkeletonBuilder< + get_suggested_users_for_explore_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedUsersForExploreSkeletonBuilder { @@ -144,12 +138,12 @@ impl } } -impl - GetSuggestedUsersForExploreSkeletonBuilder< - get_suggested_users_for_explore_skeleton_state::Empty, - S, - > -{ +impl< + S: BosStr, +> GetSuggestedUsersForExploreSkeletonBuilder< + get_suggested_users_for_explore_skeleton_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedUsersForExploreSkeletonBuilder { @@ -160,9 +154,10 @@ impl } } -impl - GetSuggestedUsersForExploreSkeletonBuilder -{ +impl< + St: get_suggested_users_for_explore_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForExploreSkeletonBuilder { /// Set the `category` field (optional) pub fn category(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -175,9 +170,10 @@ impl } } -impl - GetSuggestedUsersForExploreSkeletonBuilder -{ +impl< + St: get_suggested_users_for_explore_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForExploreSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -190,9 +186,10 @@ impl } } -impl - GetSuggestedUsersForExploreSkeletonBuilder -{ +impl< + St: get_suggested_users_for_explore_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForExploreSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.2 = value.into(); @@ -217,4 +214,4 @@ where viewer: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more.rs index 651adbc03..f199e86cb 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::actor::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForSeeMore { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -31,11 +28,9 @@ pub struct GetSuggestedUsersForSeeMore { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForSeeMoreOutput { pub actors: Vec>, ///Snowflake for this recommendation, use when submitting recommendation events. @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_for_see_more_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -108,22 +103,28 @@ pub struct GetSuggestedUsersForSeeMoreBuilder< impl GetSuggestedUsersForSeeMore { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> GetSuggestedUsersForSeeMoreBuilder - { + pub fn new() -> GetSuggestedUsersForSeeMoreBuilder< + get_suggested_users_for_see_more_state::Empty, + DefaultStr, + > { GetSuggestedUsersForSeeMoreBuilder::new() } } impl GetSuggestedUsersForSeeMore { /// Create a new builder for this type - pub fn builder() - -> GetSuggestedUsersForSeeMoreBuilder { + pub fn builder() -> GetSuggestedUsersForSeeMoreBuilder< + get_suggested_users_for_see_more_state::Empty, + S, + > { GetSuggestedUsersForSeeMoreBuilder::builder() } } -impl GetSuggestedUsersForSeeMoreBuilder { +impl GetSuggestedUsersForSeeMoreBuilder< + get_suggested_users_for_see_more_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedUsersForSeeMoreBuilder { @@ -134,9 +135,9 @@ impl GetSuggestedUsersForSeeMoreBuilder - GetSuggestedUsersForSeeMoreBuilder -{ +impl< + S: BosStr, +> GetSuggestedUsersForSeeMoreBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedUsersForSeeMoreBuilder { @@ -147,9 +148,10 @@ impl } } -impl - GetSuggestedUsersForSeeMoreBuilder -{ +impl< + St: get_suggested_users_for_see_more_state::State, + S: BosStr, +> GetSuggestedUsersForSeeMoreBuilder { /// Set the `category` field (optional) pub fn category(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -162,9 +164,10 @@ impl } } -impl - GetSuggestedUsersForSeeMoreBuilder -{ +impl< + St: get_suggested_users_for_see_more_state::State, + S: BosStr, +> GetSuggestedUsersForSeeMoreBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -188,4 +191,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more_skeleton.rs index e8c37b5e9..584909234 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_for_see_more_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForSeeMoreSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -33,11 +30,9 @@ pub struct GetSuggestedUsersForSeeMoreSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersForSeeMoreSkeletonOutput { pub dids: Vec>, ///Snowflake for this recommendation, use when submitting recommendation events. @@ -58,7 +53,8 @@ impl jacquard_common::xrpc::XrpcResp for GetSuggestedUsersForSeeMoreSkeletonResp type Err = jacquard_common::xrpc::GenericError; } -impl jacquard_common::xrpc::XrpcRequest for GetSuggestedUsersForSeeMoreSkeleton { +impl jacquard_common::xrpc::XrpcRequest +for GetSuggestedUsersForSeeMoreSkeleton { const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsersForSeeMoreSkeleton"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Response = GetSuggestedUsersForSeeMoreSkeletonResponse; @@ -81,7 +77,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_for_see_more_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -128,12 +124,10 @@ impl GetSuggestedUsersForSeeMoreSkeleton { } } -impl - GetSuggestedUsersForSeeMoreSkeletonBuilder< - get_suggested_users_for_see_more_skeleton_state::Empty, - DefaultStr, - > -{ +impl GetSuggestedUsersForSeeMoreSkeletonBuilder< + get_suggested_users_for_see_more_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedUsersForSeeMoreSkeletonBuilder { @@ -144,12 +138,12 @@ impl } } -impl - GetSuggestedUsersForSeeMoreSkeletonBuilder< - get_suggested_users_for_see_more_skeleton_state::Empty, - S, - > -{ +impl< + S: BosStr, +> GetSuggestedUsersForSeeMoreSkeletonBuilder< + get_suggested_users_for_see_more_skeleton_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedUsersForSeeMoreSkeletonBuilder { @@ -160,9 +154,10 @@ impl } } -impl - GetSuggestedUsersForSeeMoreSkeletonBuilder -{ +impl< + St: get_suggested_users_for_see_more_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForSeeMoreSkeletonBuilder { /// Set the `category` field (optional) pub fn category(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -175,9 +170,10 @@ impl } } -impl - GetSuggestedUsersForSeeMoreSkeletonBuilder -{ +impl< + St: get_suggested_users_for_see_more_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForSeeMoreSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -190,9 +186,10 @@ impl } } -impl - GetSuggestedUsersForSeeMoreSkeletonBuilder -{ +impl< + St: get_suggested_users_for_see_more_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersForSeeMoreSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.2 = value.into(); @@ -217,4 +214,4 @@ where viewer: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_skeleton.rs index 54c437999..0d9fb65c0 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_skeleton.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -33,11 +30,9 @@ pub struct GetSuggestedUsersSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestedUsersSkeletonOutput { pub dids: Vec>, ///DEPRECATED: use recIdStr instead. @@ -84,7 +79,7 @@ fn _default_limit() -> Option { pub mod get_suggested_users_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -113,21 +108,28 @@ pub struct GetSuggestedUsersSkeletonBuilder< impl GetSuggestedUsersSkeleton { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> GetSuggestedUsersSkeletonBuilder { + pub fn new() -> GetSuggestedUsersSkeletonBuilder< + get_suggested_users_skeleton_state::Empty, + DefaultStr, + > { GetSuggestedUsersSkeletonBuilder::new() } } impl GetSuggestedUsersSkeleton { /// Create a new builder for this type - pub fn builder() - -> GetSuggestedUsersSkeletonBuilder { + pub fn builder() -> GetSuggestedUsersSkeletonBuilder< + get_suggested_users_skeleton_state::Empty, + S, + > { GetSuggestedUsersSkeletonBuilder::builder() } } -impl GetSuggestedUsersSkeletonBuilder { +impl GetSuggestedUsersSkeletonBuilder< + get_suggested_users_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { GetSuggestedUsersSkeletonBuilder { @@ -138,7 +140,9 @@ impl GetSuggestedUsersSkeletonBuilder GetSuggestedUsersSkeletonBuilder { +impl< + S: BosStr, +> GetSuggestedUsersSkeletonBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { GetSuggestedUsersSkeletonBuilder { @@ -149,9 +153,10 @@ impl GetSuggestedUsersSkeletonBuilder - GetSuggestedUsersSkeletonBuilder -{ +impl< + St: get_suggested_users_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersSkeletonBuilder { /// Set the `category` field (optional) pub fn category(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -164,9 +169,10 @@ impl } } -impl - GetSuggestedUsersSkeletonBuilder -{ +impl< + St: get_suggested_users_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -179,9 +185,10 @@ impl } } -impl - GetSuggestedUsersSkeletonBuilder -{ +impl< + St: get_suggested_users_skeleton_state::State, + S: BosStr, +> GetSuggestedUsersSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.2 = value.into(); @@ -206,4 +213,4 @@ where viewer: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_suggestions_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_suggestions_skeleton.rs index b7d86d605..930a7aa4c 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_suggestions_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_suggestions_skeleton.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::SkeletonSearchActor; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::SkeletonSearchActor; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestionsSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -36,11 +33,9 @@ pub struct GetSuggestionsSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSuggestionsSkeletonOutput { pub actors: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -92,7 +87,7 @@ fn _default_limit() -> Option { pub mod get_suggestions_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -121,15 +116,20 @@ pub struct GetSuggestionsSkeletonBuilder< impl GetSuggestionsSkeleton { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetSuggestionsSkeletonBuilder - { + pub fn new() -> GetSuggestionsSkeletonBuilder< + get_suggestions_skeleton_state::Empty, + DefaultStr, + > { GetSuggestionsSkeletonBuilder::new() } } impl GetSuggestionsSkeleton { /// Create a new builder for this type - pub fn builder() -> GetSuggestionsSkeletonBuilder { + pub fn builder() -> GetSuggestionsSkeletonBuilder< + get_suggestions_skeleton_state::Empty, + S, + > { GetSuggestionsSkeletonBuilder::builder() } } @@ -156,7 +156,10 @@ impl GetSuggestionsSkeletonBuilder GetSuggestionsSkeletonBuilder { +impl< + St: get_suggestions_skeleton_state::State, + S: BosStr, +> GetSuggestionsSkeletonBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -169,7 +172,10 @@ impl GetSuggestionsSkeleto } } -impl GetSuggestionsSkeletonBuilder { +impl< + St: get_suggestions_skeleton_state::State, + S: BosStr, +> GetSuggestionsSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -182,7 +188,10 @@ impl GetSuggestionsSkeleto } } -impl GetSuggestionsSkeletonBuilder { +impl< + St: get_suggestions_skeleton_state::State, + S: BosStr, +> GetSuggestionsSkeletonBuilder { /// Set the `relativeToDid` field (optional) pub fn relative_to_did(mut self, value: impl Into>>) -> Self { self._fields.2 = value.into(); @@ -195,7 +204,10 @@ impl GetSuggestionsSkeleto } } -impl GetSuggestionsSkeletonBuilder { +impl< + St: get_suggestions_skeleton_state::State, + S: BosStr, +> GetSuggestionsSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.3 = value.into(); @@ -221,4 +233,4 @@ where viewer: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_tagged_suggestions.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_tagged_suggestions.rs index 235c9dda5..fa069581b 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_tagged_suggestions.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_tagged_suggestions.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,31 +21,26 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::unspecced::get_tagged_suggestions; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::get_tagged_suggestions; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetTaggedSuggestions; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTaggedSuggestionsOutput { pub suggestions: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Suggestion { pub subject: UriValue, pub subject_type: SuggestionSubjectType, @@ -54,6 +49,7 @@ pub struct Suggestion { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum SuggestionSubjectType { Actor, @@ -126,7 +122,9 @@ where match self { SuggestionSubjectType::Actor => SuggestionSubjectType::Actor, SuggestionSubjectType::Feed => SuggestionSubjectType::Feed, - SuggestionSubjectType::Other(v) => SuggestionSubjectType::Other(v.into_static()), + SuggestionSubjectType::Other(v) => { + SuggestionSubjectType::Other(v.into_static()) + } } } } @@ -176,7 +174,7 @@ impl LexiconSchema for Suggestion { pub mod suggestion_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -235,11 +233,7 @@ pub mod suggestion_state { /// Builder for constructing an instance of this type. pub struct SuggestionBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - Option, - ), + _fields: (Option>, Option>, Option), _type: PhantomData S>, } @@ -353,7 +347,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Suggestion { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Suggestion { Suggestion { subject: self._fields.0.unwrap(), subject_type: self._fields.1.unwrap(), @@ -364,10 +361,10 @@ where } fn lexicon_doc_app_bsky_unspecced_getTaggedSuggestions() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.unspecced.getTaggedSuggestions"), @@ -376,25 +373,29 @@ fn lexicon_doc_app_bsky_unspecced_getTaggedSuggestions() -> LexiconDoc<'static> map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("suggestion"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("tag"), - SmolStr::new_static("subjectType"), - SmolStr::new_static("subject"), - ]), + required: Some( + vec![ + SmolStr::new_static("tag"), + SmolStr::new_static("subjectType"), + SmolStr::new_static("subject") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -407,15 +408,11 @@ fn lexicon_doc_app_bsky_unspecced_getTaggedSuggestions() -> LexiconDoc<'static> ); map.insert( SmolStr::new_static("subjectType"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("tag"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -426,4 +423,4 @@ fn lexicon_doc_app_bsky_unspecced_getTaggedSuggestions() -> LexiconDoc<'static> }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_trending_topics.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_trending_topics.rs index f083f1aa0..e1b25b093 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_trending_topics.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_trending_topics.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::TrendingTopic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::TrendingTopic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTrendingTopics { /// Defaults to `10`. Min: 1. Max: 25. #[serde(default = "_default_limit")] @@ -32,11 +29,9 @@ pub struct GetTrendingTopics { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTrendingTopicsOutput { pub suggested: Vec>, pub topics: Vec>, @@ -78,7 +73,7 @@ fn _default_limit() -> Option { pub mod get_trending_topics_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -96,7 +91,10 @@ pub mod get_trending_topics_state { } /// Builder for constructing an instance of this type. -pub struct GetTrendingTopicsBuilder { +pub struct GetTrendingTopicsBuilder< + St: get_trending_topics_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -104,7 +102,10 @@ pub struct GetTrendingTopicsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetTrendingTopicsBuilder { + pub fn new() -> GetTrendingTopicsBuilder< + get_trending_topics_state::Empty, + DefaultStr, + > { GetTrendingTopicsBuilder::new() } } @@ -175,4 +176,4 @@ where viewer: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_trends.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_trends.rs index 4ee760cca..fb842d262 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_trends.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_trends.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::TrendView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::TrendView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -26,11 +26,9 @@ pub struct GetTrends { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTrendsOutput { pub trends: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -71,7 +69,7 @@ fn _default_limit() -> Option { pub mod get_trends_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -140,8 +138,6 @@ where { /// Build the final struct. pub fn build(self) -> GetTrends { - GetTrends { - limit: self._fields.0, - } + GetTrends { limit: self._fields.0 } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/get_trends_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/get_trends_skeleton.rs index d01da3f3d..e5d3b1385 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/get_trends_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/get_trends_skeleton.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::SkeletonTrend; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::SkeletonTrend; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTrendsSkeleton { /// Defaults to `10`. Min: 1. Max: 25. #[serde(default = "_default_limit")] @@ -32,11 +29,9 @@ pub struct GetTrendsSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTrendsSkeletonOutput { pub trends: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -77,7 +72,7 @@ fn _default_limit() -> Option { pub mod get_trends_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -95,7 +90,10 @@ pub mod get_trends_skeleton_state { } /// Builder for constructing an instance of this type. -pub struct GetTrendsSkeletonBuilder { +pub struct GetTrendsSkeletonBuilder< + St: get_trends_skeleton_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -103,7 +101,10 @@ pub struct GetTrendsSkeletonBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetTrendsSkeletonBuilder { + pub fn new() -> GetTrendsSkeletonBuilder< + get_trends_skeleton_state::Empty, + DefaultStr, + > { GetTrendsSkeletonBuilder::new() } } @@ -174,4 +175,4 @@ where viewer: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/init_age_assurance.rs b/crates/jacquard-api/src/app_bsky/unspecced/init_age_assurance.rs index 35d470a67..91c0f8db3 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/init_age_assurance.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/init_age_assurance.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::AgeAssuranceState; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::AgeAssuranceState; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct InitAgeAssurance { ///An ISO 3166-1 alpha-2 code of the user's location. pub country_code: S, @@ -33,11 +30,9 @@ pub struct InitAgeAssurance { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct InitAgeAssuranceOutput { #[serde(flatten)] pub value: AgeAssuranceState, @@ -45,9 +40,18 @@ pub struct InitAgeAssuranceOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum InitAgeAssuranceError { #[serde(rename = "InvalidEmail")] @@ -58,10 +62,7 @@ pub enum InitAgeAssuranceError { InvalidInitiation(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for InitAgeAssuranceError { @@ -112,8 +113,9 @@ impl jacquard_common::xrpc::XrpcResp for InitAgeAssuranceResponse { impl jacquard_common::xrpc::XrpcRequest for InitAgeAssurance { const NSID: &'static str = "app.bsky.unspecced.initAgeAssurance"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = InitAgeAssuranceResponse; } @@ -123,8 +125,9 @@ Path: `/xrpc/app.bsky.unspecced.initAgeAssurance`. The request payload type is ` pub struct InitAgeAssuranceRequest; impl jacquard_common::xrpc::XrpcEndpoint for InitAgeAssuranceRequest { const PATH: &'static str = "/xrpc/app.bsky.unspecced.initAgeAssurance"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = InitAgeAssurance; type Response = InitAgeAssuranceResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/search_actors_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/search_actors_skeleton.rs index e80f5e4cf..88edb2cbb 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/search_actors_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/search_actors_skeleton.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::SkeletonSearchActor; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::SkeletonSearchActor; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchActorsSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -37,11 +34,9 @@ pub struct SearchActorsSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchActorsSkeletonOutput { pub actors: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -53,19 +48,25 @@ pub struct SearchActorsSkeletonOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SearchActorsSkeletonError { #[serde(rename = "BadQueryString")] BadQueryString(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SearchActorsSkeletonError { @@ -123,7 +124,7 @@ fn _default_limit() -> Option { pub mod search_actors_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -159,26 +160,26 @@ pub struct SearchActorsSkeletonBuilder< S: BosStr = DefaultStr, > { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option>, - ), + _fields: (Option, Option, Option, Option, Option>), _type: PhantomData S>, } impl SearchActorsSkeleton { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SearchActorsSkeletonBuilder { + pub fn new() -> SearchActorsSkeletonBuilder< + search_actors_skeleton_state::Empty, + DefaultStr, + > { SearchActorsSkeletonBuilder::new() } } impl SearchActorsSkeleton { /// Create a new builder for this type - pub fn builder() -> SearchActorsSkeletonBuilder { + pub fn builder() -> SearchActorsSkeletonBuilder< + search_actors_skeleton_state::Empty, + S, + > { SearchActorsSkeletonBuilder::builder() } } @@ -205,7 +206,10 @@ impl SearchActorsSkeletonBuilder SearchActorsSkeletonBuilder { +impl< + St: search_actors_skeleton_state::State, + S: BosStr, +> SearchActorsSkeletonBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -218,7 +222,10 @@ impl SearchActorsSkeletonBui } } -impl SearchActorsSkeletonBuilder { +impl< + St: search_actors_skeleton_state::State, + S: BosStr, +> SearchActorsSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -250,7 +257,10 @@ where } } -impl SearchActorsSkeletonBuilder { +impl< + St: search_actors_skeleton_state::State, + S: BosStr, +> SearchActorsSkeletonBuilder { /// Set the `typeahead` field (optional) pub fn typeahead(mut self, value: impl Into>) -> Self { self._fields.3 = value.into(); @@ -263,7 +273,10 @@ impl SearchActorsSkeletonBui } } -impl SearchActorsSkeletonBuilder { +impl< + St: search_actors_skeleton_state::State, + S: BosStr, +> SearchActorsSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.4 = value.into(); @@ -291,4 +304,4 @@ where viewer: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/search_posts_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/search_posts_skeleton.rs index d19e471cd..894c39d7f 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/search_posts_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/search_posts_skeleton.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::SkeletonSearchPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::string::{Did, Language, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::SkeletonSearchPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchPostsSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub author: Option>, @@ -56,11 +53,9 @@ pub struct SearchPostsSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchPostsSkeletonOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -72,19 +67,25 @@ pub struct SearchPostsSkeletonOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SearchPostsSkeletonError { #[serde(rename = "BadQueryString")] BadQueryString(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SearchPostsSkeletonError { @@ -146,7 +147,7 @@ fn _default_sort() -> Option { pub mod search_posts_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -202,14 +203,20 @@ pub struct SearchPostsSkeletonBuilder< impl SearchPostsSkeleton { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SearchPostsSkeletonBuilder { + pub fn new() -> SearchPostsSkeletonBuilder< + search_posts_skeleton_state::Empty, + DefaultStr, + > { SearchPostsSkeletonBuilder::new() } } impl SearchPostsSkeleton { /// Create a new builder for this type - pub fn builder() -> SearchPostsSkeletonBuilder { + pub fn builder() -> SearchPostsSkeletonBuilder< + search_posts_skeleton_state::Empty, + S, + > { SearchPostsSkeletonBuilder::builder() } } @@ -220,7 +227,19 @@ impl SearchPostsSkeletonBuilder SearchPostsSkeletonBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -233,14 +252,29 @@ impl SearchPostsSkeletonBuilder SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `author` field (optional) pub fn author(mut self, value: impl Into>>) -> Self { self._fields.0 = value.into(); @@ -253,7 +287,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -266,7 +303,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `domain` field (optional) pub fn domain(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -279,7 +319,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `lang` field (optional) pub fn lang(mut self, value: impl Into>) -> Self { self._fields.3 = value.into(); @@ -292,7 +335,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.4 = value.into(); @@ -305,7 +351,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `mentions` field (optional) pub fn mentions(mut self, value: impl Into>>) -> Self { self._fields.5 = value.into(); @@ -337,7 +386,10 @@ where } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `since` field (optional) pub fn since(mut self, value: impl Into>) -> Self { self._fields.7 = value.into(); @@ -350,7 +402,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `sort` field (optional) pub fn sort(mut self, value: impl Into>) -> Self { self._fields.8 = value.into(); @@ -363,7 +418,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `tag` field (optional) pub fn tag(mut self, value: impl Into>>) -> Self { self._fields.9 = value.into(); @@ -376,7 +434,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `until` field (optional) pub fn until(mut self, value: impl Into>) -> Self { self._fields.10 = value.into(); @@ -389,7 +450,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `url` field (optional) pub fn url(mut self, value: impl Into>>) -> Self { self._fields.11 = value.into(); @@ -402,7 +466,10 @@ impl SearchPostsSkeletonBuild } } -impl SearchPostsSkeletonBuilder { +impl< + St: search_posts_skeleton_state::State, + S: BosStr, +> SearchPostsSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.12 = value.into(); @@ -438,4 +505,4 @@ where viewer: self._fields.12, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/unspecced/search_starter_packs_skeleton.rs b/crates/jacquard-api/src/app_bsky/unspecced/search_starter_packs_skeleton.rs index a8ff0fee6..fbf2cf47f 100644 --- a/crates/jacquard-api/src/app_bsky/unspecced/search_starter_packs_skeleton.rs +++ b/crates/jacquard-api/src/app_bsky/unspecced/search_starter_packs_skeleton.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::unspecced::SkeletonSearchStarterPack; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::unspecced::SkeletonSearchStarterPack; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchStarterPacksSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -35,11 +32,9 @@ pub struct SearchStarterPacksSkeleton { pub viewer: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchStarterPacksSkeletonOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -51,19 +46,25 @@ pub struct SearchStarterPacksSkeletonOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SearchStarterPacksSkeletonError { #[serde(rename = "BadQueryString")] BadQueryString(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SearchStarterPacksSkeletonError { @@ -121,7 +122,7 @@ fn _default_limit() -> Option { pub mod search_starter_packs_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -163,22 +164,28 @@ pub struct SearchStarterPacksSkeletonBuilder< impl SearchStarterPacksSkeleton { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> SearchStarterPacksSkeletonBuilder - { + pub fn new() -> SearchStarterPacksSkeletonBuilder< + search_starter_packs_skeleton_state::Empty, + DefaultStr, + > { SearchStarterPacksSkeletonBuilder::new() } } impl SearchStarterPacksSkeleton { /// Create a new builder for this type - pub fn builder() - -> SearchStarterPacksSkeletonBuilder { + pub fn builder() -> SearchStarterPacksSkeletonBuilder< + search_starter_packs_skeleton_state::Empty, + S, + > { SearchStarterPacksSkeletonBuilder::builder() } } -impl SearchStarterPacksSkeletonBuilder { +impl SearchStarterPacksSkeletonBuilder< + search_starter_packs_skeleton_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SearchStarterPacksSkeletonBuilder { @@ -189,7 +196,9 @@ impl SearchStarterPacksSkeletonBuilder SearchStarterPacksSkeletonBuilder { +impl< + S: BosStr, +> SearchStarterPacksSkeletonBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SearchStarterPacksSkeletonBuilder { @@ -200,9 +209,10 @@ impl SearchStarterPacksSkeletonBuilder - SearchStarterPacksSkeletonBuilder -{ +impl< + St: search_starter_packs_skeleton_state::State, + S: BosStr, +> SearchStarterPacksSkeletonBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -215,9 +225,10 @@ impl } } -impl - SearchStarterPacksSkeletonBuilder -{ +impl< + St: search_starter_packs_skeleton_state::State, + S: BosStr, +> SearchStarterPacksSkeletonBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -239,7 +250,10 @@ where pub fn q( mut self, value: impl Into, - ) -> SearchStarterPacksSkeletonBuilder, S> { + ) -> SearchStarterPacksSkeletonBuilder< + search_starter_packs_skeleton_state::SetQ, + S, + > { self._fields.2 = Option::Some(value.into()); SearchStarterPacksSkeletonBuilder { _state: PhantomData, @@ -249,9 +263,10 @@ where } } -impl - SearchStarterPacksSkeletonBuilder -{ +impl< + St: search_starter_packs_skeleton_state::State, + S: BosStr, +> SearchStarterPacksSkeletonBuilder { /// Set the `viewer` field (optional) pub fn viewer(mut self, value: impl Into>>) -> Self { self._fields.3 = value.into(); @@ -278,4 +293,4 @@ where viewer: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/video.rs b/crates/jacquard-api/src/app_bsky/video.rs index 432b7e5cb..063b34e53 100644 --- a/crates/jacquard-api/src/app_bsky/video.rs +++ b/crates/jacquard-api/src/app_bsky/video.rs @@ -10,12 +10,13 @@ pub mod get_job_status; pub mod get_upload_limits; pub mod upload_video; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -29,13 +30,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct JobStatus { #[serde(skip_serializing_if = "Option::is_none")] pub blob: Option>, @@ -168,7 +166,7 @@ impl LexiconSchema for JobStatus { pub mod job_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -405,7 +403,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> JobStatus { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> JobStatus { JobStatus { blob: self._fields.0, did: self._fields.1.unwrap(), @@ -420,10 +421,10 @@ where } fn lexicon_doc_app_bsky_video_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.bsky.video.defs"), @@ -492,4 +493,4 @@ fn lexicon_doc_app_bsky_video_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/video/get_job_status.rs b/crates/jacquard-api/src/app_bsky/video/get_job_status.rs index f44d07ab3..a2bca21ed 100644 --- a/crates/jacquard-api/src/app_bsky/video/get_job_status.rs +++ b/crates/jacquard-api/src/app_bsky/video/get_job_status.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::video::JobStatus; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::video::JobStatus; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetJobStatus { pub job_id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetJobStatusOutput { pub job_status: JobStatus, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetJobStatusRequest { pub mod get_job_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -170,4 +165,4 @@ where job_id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/video/get_upload_limits.rs b/crates/jacquard-api/src/app_bsky/video/get_upload_limits.rs index dbb29c928..01957919c 100644 --- a/crates/jacquard-api/src/app_bsky/video/get_upload_limits.rs +++ b/crates/jacquard-api/src/app_bsky/video/get_upload_limits.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetUploadLimitsOutput { pub can_upload: bool, #[serde(skip_serializing_if = "Option::is_none")] @@ -67,4 +64,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetUploadLimitsRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetUploadLimits; type Response = GetUploadLimitsResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_bsky/video/upload_video.rs b/crates/jacquard-api/src/app_bsky/video/upload_video.rs index 2c35f8c51..ea11b1497 100644 --- a/crates/jacquard-api/src/app_bsky/video/upload_video.rs +++ b/crates/jacquard-api/src/app_bsky/video/upload_video.rs @@ -8,15 +8,15 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_bsky::video::JobStatus; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::video::JobStatus; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -24,11 +24,9 @@ pub struct UploadVideo { pub body: Bytes, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UploadVideoOutput { pub job_status: JobStatus, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -48,16 +46,22 @@ impl jacquard_common::xrpc::XrpcResp for UploadVideoResponse { impl jacquard_common::xrpc::XrpcRequest for UploadVideo { const NSID: &'static str = "app.bsky.video.uploadVideo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("video/mp4"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "video/mp4", + ); type Response = UploadVideoResponse; - fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError> + fn encode_body( + &self, + buffer: &mut Vec, + ) -> Result<(), jacquard_common::xrpc::EncodeError> where Self: Serialize, { Ok(buffer.copy_from_slice(self.body.as_ref())) } - fn decode_body<'de>(body: &'de [u8]) -> Result + fn decode_body<'de>( + body: &'de [u8], + ) -> Result where Self: Deserialize<'de>, { @@ -73,8 +77,9 @@ Path: `/xrpc/app.bsky.video.uploadVideo`. The request payload type is `UploadVid pub struct UploadVideoRequest; impl jacquard_common::xrpc::XrpcEndpoint for UploadVideoRequest { const PATH: &'static str = "/xrpc/app.bsky.video.uploadVideo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("video/mp4"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "video/mp4", + ); type Request = UploadVideo; type Response = UploadVideoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified.rs b/crates/jacquard-api/src/app_certified.rs index 20840960f..cde9f3303 100644 --- a/crates/jacquard-api/src/app_certified.rs +++ b/crates/jacquard-api/src/app_certified.rs @@ -10,6 +10,7 @@ pub mod actor; pub mod badge; pub mod location; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -27,14 +28,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A Decentralized Identifier (DID) string. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Did { ///The DID string value. pub did: jacquard_common::types::string::Did, @@ -70,7 +68,7 @@ impl LexiconSchema for Did { pub mod did_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -184,10 +182,10 @@ where } fn lexicon_doc_app_certified_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.certified.defs"), @@ -196,9 +194,9 @@ fn lexicon_doc_app_certified_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A Decentralized Identifier (DID) string.", - )), + description: Some( + CowStr::new_static("A Decentralized Identifier (DID) string."), + ), required: Some(vec![SmolStr::new_static("did")]), properties: { #[allow(unused_mut)] @@ -206,7 +204,9 @@ fn lexicon_doc_app_certified_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The DID string value.")), + description: Some( + CowStr::new_static("The DID string value."), + ), format: Some(LexStringFormat::Did), max_length: Some(256usize), ..Default::default() @@ -221,4 +221,4 @@ fn lexicon_doc_app_certified_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/actor.rs b/crates/jacquard-api/src/app_certified/actor.rs index 3288c97ae..f397be78e 100644 --- a/crates/jacquard-api/src/app_certified/actor.rs +++ b/crates/jacquard-api/src/app_certified/actor.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `app.certified.actor` Lexicon namespace/module. pub mod organization; -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/actor/organization.rs b/crates/jacquard-api/src/app_certified/actor/organization.rs index f8e3f9a0e..6e24c709d 100644 --- a/crates/jacquard-api/src/app_certified/actor/organization.rs +++ b/crates/jacquard-api/src/app_certified/actor/organization.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_certified::actor::organization; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::app_certified::actor::organization; /// Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -71,10 +71,7 @@ pub struct OrganizationGetRecordOutput { /// A labeled URL reference. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UrlItem { ///Optional human-readable label for this URL (e.g. 'Support page', 'Donation page'). #[serde(skip_serializing_if = "Option::is_none")] @@ -206,7 +203,7 @@ impl LexiconSchema for UrlItem { pub mod organization_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -345,7 +342,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `urls` field (optional) - pub fn urls(mut self, value: impl Into>>>) -> Self { + pub fn urls( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -373,7 +373,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Organization { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Organization { Organization { created_at: self._fields.0.unwrap(), founded_date: self._fields.1, @@ -386,10 +389,10 @@ where } fn lexicon_doc_app_certified_actor_organization() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.certified.actor.organization"), @@ -523,7 +526,7 @@ fn lexicon_doc_app_certified_actor_organization() -> LexiconDoc<'static> { pub mod url_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -649,4 +652,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/actor/profile.rs b/crates/jacquard-api/src/app_certified/actor/profile.rs index cc5198f1e..bebb5f9ad 100644 --- a/crates/jacquard-api/src/app_certified/actor/profile.rs +++ b/crates/jacquard-api/src/app_certified/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::org_hypercerts::LargeImage; use crate::org_hypercerts::SmallImage; use crate::org_hypercerts::Uri; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A declaration of a Certified account profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -64,6 +64,7 @@ pub struct Profile { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -74,6 +75,7 @@ pub enum ProfileAvatar { SmallImage(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -211,7 +213,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -423,10 +425,10 @@ where } fn lexicon_doc_app_certified_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.certified.actor.profile"), @@ -542,4 +544,4 @@ fn lexicon_doc_app_certified_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/badge.rs b/crates/jacquard-api/src/app_certified/badge.rs index 14f3a49cd..bc5938ebe 100644 --- a/crates/jacquard-api/src/app_certified/badge.rs +++ b/crates/jacquard-api/src/app_certified/badge.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.certified.badge` Lexicon namespace/module. pub mod award; pub mod definition; -pub mod response; +pub mod response; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/badge/award.rs b/crates/jacquard-api/src/app_certified/badge/award.rs index 9047fefd5..faa07a09d 100644 --- a/crates/jacquard-api/src/app_certified/badge/award.rs +++ b/crates/jacquard-api/src/app_certified/badge/award.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_certified::Did; use crate::app_certified::badge::definition::Definition; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Records a badge award to a user, project, or activity claim. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -56,6 +56,7 @@ pub struct Award { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -147,7 +148,7 @@ impl LexiconSchema for Award { pub mod award_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -367,10 +368,10 @@ where } fn lexicon_doc_app_certified_badge_award() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.certified.badge.award"), @@ -464,4 +465,4 @@ fn lexicon_doc_app_certified_badge_award() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/badge/definition.rs b/crates/jacquard-api/src/app_certified/badge/definition.rs index 154e2bc06..16c2f68e2 100644 --- a/crates/jacquard-api/src/app_certified/badge/definition.rs +++ b/crates/jacquard-api/src/app_certified/badge/definition.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_certified::Did; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_certified::Did; /// Defines a badge that can be awarded via badge award records to users, projects, or activity claims. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -172,25 +172,31 @@ impl LexiconSchema for Definition { let value = &self.icon; { let mime = value.blob().mime_type.as_str(); - let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp", "image/svg+xml"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let accepted: &[&str] = &[ + "image/png", + "image/jpeg", + "image/webp", + "image/svg+xml", + ]; + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("icon"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), - "image/svg+xml".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string(), "image/svg+xml".to_string() ], actual: mime.to_string(), }); @@ -214,7 +220,7 @@ impl LexiconSchema for Definition { pub mod definition_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -459,7 +465,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Definition { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Definition { Definition { allowed_issuers: self._fields.0, badge_type: self._fields.1.unwrap(), @@ -473,10 +482,10 @@ where } fn lexicon_doc_app_certified_badge_definition() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.certified.badge.definition"), @@ -581,4 +590,4 @@ fn lexicon_doc_app_certified_badge_definition() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/badge/response.rs b/crates/jacquard-api/src/app_certified/badge/response.rs index 0f222503d..302b4ec90 100644 --- a/crates/jacquard-api/src/app_certified/badge/response.rs +++ b/crates/jacquard-api/src/app_certified/badge/response.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_certified::badge::award::Award; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_certified::badge::award::Award; /// Recipient response to a badge award. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -201,7 +201,7 @@ impl LexiconSchema for Response { pub mod response_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -405,10 +405,10 @@ where } fn lexicon_doc_app_certified_badge_response() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.certified.badge.response"), @@ -485,4 +485,4 @@ fn lexicon_doc_app_certified_badge_response() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_certified/location.rs b/crates/jacquard-api/src/app_certified/location.rs index 4522b2fc2..bc71f905b 100644 --- a/crates/jacquard-api/src/app_certified/location.rs +++ b/crates/jacquard-api/src/app_certified/location.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_certified::location; -use crate::org_hypercerts::SmallBlob; -use crate::org_hypercerts::Uri; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::org_hypercerts::SmallBlob; +use crate::org_hypercerts::Uri; +use crate::app_certified::location; /// A location reference #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -60,6 +60,7 @@ pub struct Location { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -162,15 +163,21 @@ where type Output = LocationLocationType; fn into_static(self) -> Self::Output { match self { - LocationLocationType::CoordinateDecimal => LocationLocationType::CoordinateDecimal, + LocationLocationType::CoordinateDecimal => { + LocationLocationType::CoordinateDecimal + } LocationLocationType::GeojsonPoint => LocationLocationType::GeojsonPoint, LocationLocationType::Geojson => LocationLocationType::Geojson, LocationLocationType::H3 => LocationLocationType::H3, LocationLocationType::Geohash => LocationLocationType::Geohash, LocationLocationType::Wkt => LocationLocationType::Wkt, LocationLocationType::Address => LocationLocationType::Address, - LocationLocationType::ScaledCoordinates => LocationLocationType::ScaledCoordinates, - LocationLocationType::Other(v) => LocationLocationType::Other(v.into_static()), + LocationLocationType::ScaledCoordinates => { + LocationLocationType::ScaledCoordinates + } + LocationLocationType::Other(v) => { + LocationLocationType::Other(v.into_static()) + } } } } @@ -189,10 +196,7 @@ pub struct LocationGetRecordOutput { /// A location represented as a string, e.g. coordinates or a small GeoJSON string. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LocationString { ///The location string value pub string: S, @@ -366,7 +370,7 @@ impl LexiconSchema for LocationString { pub mod location_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -666,10 +670,10 @@ where } fn lexicon_doc_app_certified_location() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.certified.location"), @@ -821,4 +825,4 @@ fn lexicon_doc_app_certified_location() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar.rs b/crates/jacquard-api/src/app_chavatar.rs index 72d5cd7a6..a5e5f2717 100644 --- a/crates/jacquard-api/src/app_chavatar.rs +++ b/crates/jacquard-api/src/app_chavatar.rs @@ -10,4 +10,4 @@ pub mod auth_view_avatar; pub mod avatar; pub mod schedules; pub mod settings; -pub mod state; +pub mod state; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/auth_execute_rotation.rs b/crates/jacquard-api/src/app_chavatar/auth_execute_rotation.rs index c75e6558e..4cd531b0d 100644 --- a/crates/jacquard-api/src/app_chavatar/auth_execute_rotation.rs +++ b/crates/jacquard-api/src/app_chavatar/auth_execute_rotation.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/auth_manage_avatar.rs b/crates/jacquard-api/src/app_chavatar/auth_manage_avatar.rs index 9efd92268..57f02af11 100644 --- a/crates/jacquard-api/src/app_chavatar/auth_manage_avatar.rs +++ b/crates/jacquard-api/src/app_chavatar/auth_manage_avatar.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/auth_view_avatar.rs b/crates/jacquard-api/src/app_chavatar/auth_view_avatar.rs index a5c71e89d..3370c0f15 100644 --- a/crates/jacquard-api/src/app_chavatar/auth_view_avatar.rs +++ b/crates/jacquard-api/src/app_chavatar/auth_view_avatar.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/avatar.rs b/crates/jacquard-api/src/app_chavatar/avatar.rs index 88ef5b17a..a5b54eb93 100644 --- a/crates/jacquard-api/src/app_chavatar/avatar.rs +++ b/crates/jacquard-api/src/app_chavatar/avatar.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// An individual avatar image record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -119,23 +119,25 @@ impl LexiconSchema for Avatar { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -148,7 +150,7 @@ impl LexiconSchema for Avatar { pub mod avatar_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -296,10 +298,10 @@ where } fn lexicon_doc_app_chavatar_avatar() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chavatar.avatar"), @@ -308,28 +310,32 @@ fn lexicon_doc_app_chavatar_avatar() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("An individual avatar image record.")), + description: Some( + CowStr::new_static("An individual avatar image record."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("avatar"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("avatar"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The timestamp when the avatar was created.", - )), + description: Some( + CowStr::new_static( + "The timestamp when the avatar was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -345,4 +351,4 @@ fn lexicon_doc_app_chavatar_avatar() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/schedules.rs b/crates/jacquard-api/src/app_chavatar/schedules.rs index b6df79280..bd4b787f1 100644 --- a/crates/jacquard-api/src/app_chavatar/schedules.rs +++ b/crates/jacquard-api/src/app_chavatar/schedules.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The collection of rotation schedules defined by a user. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Schedules { pub mod schedules_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -244,7 +244,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Schedules { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Schedules { Schedules { schedules: self._fields.0.unwrap(), updated_at: self._fields.1.unwrap(), @@ -254,10 +257,10 @@ where } fn lexicon_doc_app_chavatar_schedules() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chavatar.schedules"), @@ -322,4 +325,4 @@ fn lexicon_doc_app_chavatar_schedules() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/settings.rs b/crates/jacquard-api/src/app_chavatar/settings.rs index 06d0fc1a2..bc0e70911 100644 --- a/crates/jacquard-api/src/app_chavatar/settings.rs +++ b/crates/jacquard-api/src/app_chavatar/settings.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `app.chavatar.settings` Lexicon namespace/module. pub mod executor; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,17 +28,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_chavatar::settings; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::app_chavatar::settings; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AvatarItem { pub id: S, pub image: StrongRef, @@ -354,7 +352,7 @@ impl LexiconSchema for Settings { pub mod avatar_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -445,7 +443,10 @@ where St::Id: avatar_item_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> AvatarItemBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> AvatarItemBuilder, S> { self._fields.0 = Option::Some(value.into()); AvatarItemBuilder { _state: PhantomData, @@ -489,7 +490,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AvatarItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AvatarItem { AvatarItem { id: self._fields.0.unwrap(), image: self._fields.1.unwrap(), @@ -499,10 +503,10 @@ where } fn lexicon_doc_app_chavatar_settings() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chavatar.settings"), @@ -511,10 +515,9 @@ fn lexicon_doc_app_chavatar_settings() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("avatarItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("image"), - ]), + required: Some( + vec![SmolStr::new_static("id"), SmolStr::new_static("image")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -540,24 +543,29 @@ fn lexicon_doc_app_chavatar_settings() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("Rotation configuration for a user.")), + description: Some( + CowStr::new_static("Rotation configuration for a user."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("enabled"), - SmolStr::new_static("interval"), - SmolStr::new_static("mode"), - SmolStr::new_static("avatars"), - ]), + required: Some( + vec![ + SmolStr::new_static("enabled"), + SmolStr::new_static("interval"), + SmolStr::new_static("mode"), SmolStr::new_static("avatars") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatars"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "List of avatar items to rotate through.", - )), + description: Some( + CowStr::new_static( + "List of avatar items to rotate through.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#avatarItem"), ..Default::default() @@ -574,9 +582,11 @@ fn lexicon_doc_app_chavatar_settings() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("interval"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The interval at which avatar rotation should occur.", - )), + description: Some( + CowStr::new_static( + "The interval at which avatar rotation should occur.", + ), + ), max_length: Some(6usize), ..Default::default() }), @@ -584,9 +594,11 @@ fn lexicon_doc_app_chavatar_settings() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("mode"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The rotation mode to use for avatar selection.", - )), + description: Some( + CowStr::new_static( + "The rotation mode to use for avatar selection.", + ), + ), max_length: Some(20usize), ..Default::default() }), @@ -606,7 +618,7 @@ fn lexicon_doc_app_chavatar_settings() -> LexiconDoc<'static> { pub mod settings_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -830,4 +842,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/settings/executor.rs b/crates/jacquard-api/src/app_chavatar/settings/executor.rs index f75032947..648974136 100644 --- a/crates/jacquard-api/src/app_chavatar/settings/executor.rs +++ b/crates/jacquard-api/src/app_chavatar/settings/executor.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The provider authorized to execute avatar rotation on behalf of the user. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -115,7 +115,7 @@ impl LexiconSchema for Executor { pub mod executor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -229,10 +229,10 @@ where } fn lexicon_doc_app_chavatar_settings_executor() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chavatar.settings.executor"), @@ -276,4 +276,4 @@ fn lexicon_doc_app_chavatar_settings_executor() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chavatar/state.rs b/crates/jacquard-api/src/app_chavatar/state.rs index 826971978..3b51d880c 100644 --- a/crates/jacquard-api/src/app_chavatar/state.rs +++ b/crates/jacquard-api/src/app_chavatar/state.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Current execution state of rotation. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -117,7 +117,7 @@ impl LexiconSchema for State { pub mod state_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -208,7 +208,10 @@ where St::Cursor: state_state::IsUnset, { /// Set the `cursor` field (required) - pub fn cursor(mut self, value: impl Into) -> StateBuilder, S> { + pub fn cursor( + mut self, + value: impl Into, + ) -> StateBuilder, S> { self._fields.0 = Option::Some(value.into()); StateBuilder { _state: PhantomData, @@ -262,10 +265,10 @@ where } fn lexicon_doc_app_chavatar_state() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chavatar.state"), @@ -321,4 +324,4 @@ fn lexicon_doc_app_chavatar_state() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky.rs b/crates/jacquard-api/src/app_chronosky.rs index f2ef685dc..074f0806c 100644 --- a/crates/jacquard-api/src/app_chronosky.rs +++ b/crates/jacquard-api/src/app_chronosky.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.chronosky` Lexicon namespace/module. pub mod media; pub mod plan; -pub mod schedule; +pub mod schedule; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/media.rs b/crates/jacquard-api/src/app_chronosky/media.rs index 1ef50c47d..779790b9a 100644 --- a/crates/jacquard-api/src/app_chronosky/media.rs +++ b/crates/jacquard-api/src/app_chronosky/media.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `app.chronosky.media` Lexicon namespace/module. pub mod get_blob; -pub mod upload_blob; +pub mod upload_blob; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/media/get_blob.rs b/crates/jacquard-api/src/app_chronosky/media/get_blob.rs index a9192d280..1b09a8821 100644 --- a/crates/jacquard-api/src/app_chronosky/media/get_blob.rs +++ b/crates/jacquard-api/src/app_chronosky/media/get_blob.rs @@ -10,31 +10,38 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBlob { pub cid: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetBlobOutput { pub body: Bytes, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetBlobError { /// The requested blob was not found. @@ -45,10 +52,7 @@ pub enum GetBlobError { InvalidRequest(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetBlobError { @@ -128,7 +132,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBlobRequest { pub mod get_blob_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -207,7 +211,10 @@ where St::Cid: get_blob_state::IsUnset, { /// Set the `cid` field (required) - pub fn cid(mut self, value: impl Into) -> GetBlobBuilder, S> { + pub fn cid( + mut self, + value: impl Into, + ) -> GetBlobBuilder, S> { self._fields.0 = Option::Some(value.into()); GetBlobBuilder { _state: PhantomData, @@ -228,4 +235,4 @@ where cid: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/media/upload_blob.rs b/crates/jacquard-api/src/app_chronosky/media/upload_blob.rs index 71c512c5e..1c569c13c 100644 --- a/crates/jacquard-api/src/app_chronosky/media/upload_blob.rs +++ b/crates/jacquard-api/src/app_chronosky/media/upload_blob.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Binary image data. Supported formats: JPEG, PNG, WebP, GIF. Maximum size: 1MB (1,000,000 bytes). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -25,11 +25,9 @@ pub struct UploadBlob { pub body: Bytes, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UploadBlobOutput { ///Blob reference object that can be used in post embeds (app.bsky.embed.images). pub blob: BlobRef, @@ -37,9 +35,18 @@ pub struct UploadBlobOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UploadBlobError { #[serde(rename = "InvalidContentType")] @@ -52,10 +59,7 @@ pub enum UploadBlobError { NoActiveSession(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UploadBlobError { @@ -113,16 +117,22 @@ impl jacquard_common::xrpc::XrpcResp for UploadBlobResponse { impl jacquard_common::xrpc::XrpcRequest for UploadBlob { const NSID: &'static str = "app.chronosky.media.uploadBlob"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("image/jpeg,image/png,image/webp,image/gif"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "image/jpeg,image/png,image/webp,image/gif", + ); type Response = UploadBlobResponse; - fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError> + fn encode_body( + &self, + buffer: &mut Vec, + ) -> Result<(), jacquard_common::xrpc::EncodeError> where Self: Serialize, { Ok(buffer.copy_from_slice(self.body.as_ref())) } - fn decode_body<'de>(body: &'de [u8]) -> Result + fn decode_body<'de>( + body: &'de [u8], + ) -> Result where Self: Deserialize<'de>, { @@ -138,8 +148,9 @@ Path: `/xrpc/app.chronosky.media.uploadBlob`. The request payload type is `Uploa pub struct UploadBlobRequest; impl jacquard_common::xrpc::XrpcEndpoint for UploadBlobRequest { const PATH: &'static str = "/xrpc/app.chronosky.media.uploadBlob"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("image/jpeg,image/png,image/webp,image/gif"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "image/jpeg,image/png,image/webp,image/gif", + ); type Request = UploadBlob; type Response = UploadBlobResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/plan.rs b/crates/jacquard-api/src/app_chronosky/plan.rs index 405723400..bc5e9e980 100644 --- a/crates/jacquard-api/src/app_chronosky/plan.rs +++ b/crates/jacquard-api/src/app_chronosky/plan.rs @@ -7,4 +7,4 @@ pub mod get_assignment; pub mod get_usage; pub mod list_assignments; -pub mod redeem_ticket; +pub mod redeem_ticket; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/plan/get_assignment.rs b/crates/jacquard-api/src/app_chronosky/plan/get_assignment.rs index 9f20abd92..f9f37f835 100644 --- a/crates/jacquard-api/src/app_chronosky/plan/get_assignment.rs +++ b/crates/jacquard-api/src/app_chronosky/plan/get_assignment.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_chronosky::plan::get_assignment; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_chronosky::plan::get_assignment; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAssignmentOutput { ///Active plan assignment (null if no active plan) #[serde(skip_serializing_if = "Option::is_none")] @@ -45,10 +42,7 @@ pub struct GetAssignmentOutput { /// Plan assignment details. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PlanAssignment { ///Plan activation timestamp pub activated_at: Datetime, @@ -71,10 +65,7 @@ pub struct PlanAssignment { /// Plan information. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PlanInfo { ///Plan description #[serde(skip_serializing_if = "Option::is_none")] @@ -108,10 +99,7 @@ pub struct PlanInfo { /// Ticket information. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TicketInfo { ///Ticket code pub code: S, @@ -289,7 +277,7 @@ impl LexiconSchema for TicketInfo { pub mod plan_assignment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -400,7 +388,10 @@ pub mod plan_assignment_state { } /// Builder for constructing an instance of this type. -pub struct PlanAssignmentBuilder { +pub struct PlanAssignmentBuilder< + St: plan_assignment_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -566,7 +557,10 @@ where impl PlanAssignmentBuilder { /// Set the `ticket` field (optional) - pub fn ticket(mut self, value: impl Into>>) -> Self { + pub fn ticket( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } @@ -601,7 +595,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PlanAssignment { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PlanAssignment { PlanAssignment { activated_at: self._fields.0.unwrap(), expires_at: self._fields.1.unwrap(), @@ -616,10 +613,10 @@ where } fn lexicon_doc_app_chronosky_plan_getAssignment() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chronosky.plan.getAssignment"), @@ -636,21 +633,24 @@ fn lexicon_doc_app_chronosky_plan_getAssignment() -> LexiconDoc<'static> { SmolStr::new_static("planAssignment"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Plan assignment details.")), - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("planId"), - SmolStr::new_static("plan"), - SmolStr::new_static("activatedAt"), - SmolStr::new_static("expiresAt"), - SmolStr::new_static("status"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("planId"), + SmolStr::new_static("plan"), + SmolStr::new_static("activatedAt"), + SmolStr::new_static("expiresAt"), + SmolStr::new_static("status") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("activatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Plan activation timestamp")), + description: Some( + CowStr::new_static("Plan activation timestamp"), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -659,7 +659,9 @@ fn lexicon_doc_app_chronosky_plan_getAssignment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("expiresAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Plan expiration timestamp")), + description: Some( + CowStr::new_static("Plan expiration timestamp"), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -691,7 +693,9 @@ fn lexicon_doc_app_chronosky_plan_getAssignment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("status"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Plan assignment status")), + description: Some( + CowStr::new_static("Plan assignment status"), + ), max_length: Some(20usize), ..Default::default() }), @@ -712,7 +716,9 @@ fn lexicon_doc_app_chronosky_plan_getAssignment() -> LexiconDoc<'static> { SmolStr::new_static("planInfo"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Plan information.")), - required: Some(vec![SmolStr::new_static("id"), SmolStr::new_static("name")]), + required: Some( + vec![SmolStr::new_static("id"), SmolStr::new_static("name")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -785,7 +791,9 @@ fn lexicon_doc_app_chronosky_plan_getAssignment() -> LexiconDoc<'static> { SmolStr::new_static("ticketInfo"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Ticket information.")), - required: Some(vec![SmolStr::new_static("id"), SmolStr::new_static("code")]), + required: Some( + vec![SmolStr::new_static("id"), SmolStr::new_static("code")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -814,4 +822,4 @@ fn lexicon_doc_app_chronosky_plan_getAssignment() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/plan/get_usage.rs b/crates/jacquard-api/src/app_chronosky/plan/get_usage.rs index ebe198574..d1f82e712 100644 --- a/crates/jacquard-api/src/app_chronosky/plan/get_usage.rs +++ b/crates/jacquard-api/src/app_chronosky/plan/get_usage.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_chronosky::plan::get_usage; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_chronosky::plan::get_usage; /// Current plan information. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CurrentPlan { ///Localized plan display names pub display_name: Data, @@ -50,11 +47,9 @@ pub struct CurrentPlan { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetUsageOutput { pub current_plan: get_usage::CurrentPlan, pub limits: get_usage::PlanLimits, @@ -66,10 +61,7 @@ pub struct GetUsageOutput { /// Plan limits. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PlanLimits { ///Whether markdown formatting is supported #[serde(skip_serializing_if = "Option::is_none")] @@ -108,10 +100,7 @@ pub struct PlanLimits { /// Usage statistics. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UsageStats { ///API requests in current hour #[serde(skip_serializing_if = "Option::is_none")] @@ -247,7 +236,7 @@ impl LexiconSchema for UsageStats { pub mod current_plan_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -517,7 +506,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CurrentPlan { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CurrentPlan { CurrentPlan { display_name: self._fields.0.unwrap(), id: self._fields.1.unwrap(), @@ -531,10 +523,10 @@ where } fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chronosky.plan.getUsage"), @@ -544,13 +536,14 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { SmolStr::new_static("currentPlan"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Current plan information.")), - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("tier"), - SmolStr::new_static("name"), - SmolStr::new_static("displayName"), - SmolStr::new_static("isActive"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("tier"), + SmolStr::new_static("name"), + SmolStr::new_static("displayName"), + SmolStr::new_static("isActive") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -585,9 +578,11 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tier"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Plan tier (FREE, BASIC, STANDARD, PREMIUM)", - )), + description: Some( + CowStr::new_static( + "Plan tier (FREE, BASIC, STANDARD, PREMIUM)", + ), + ), max_length: Some(50usize), ..Default::default() }), @@ -595,9 +590,9 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("validUntil"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Plan expiration date (ISO 8601)", - )), + description: Some( + CowStr::new_static("Plan expiration date (ISO 8601)"), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -619,14 +614,16 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { SmolStr::new_static("planLimits"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Plan limits.")), - required: Some(vec![ - SmolStr::new_static("monthlyPostsLimit"), - SmolStr::new_static("pendingPostsLimit"), - SmolStr::new_static("maxScheduleDays"), - SmolStr::new_static("scheduleIntervalMinutes"), - SmolStr::new_static("maxImagesPerPost"), - SmolStr::new_static("threadPostsLimit"), - ]), + required: Some( + vec![ + SmolStr::new_static("monthlyPostsLimit"), + SmolStr::new_static("pendingPostsLimit"), + SmolStr::new_static("maxScheduleDays"), + SmolStr::new_static("scheduleIntervalMinutes"), + SmolStr::new_static("maxImagesPerPost"), + SmolStr::new_static("threadPostsLimit") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -711,13 +708,15 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { SmolStr::new_static("usageStats"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Usage statistics.")), - required: Some(vec![ - SmolStr::new_static("pendingPostsCount"), - SmolStr::new_static("monthlyPostsCount"), - SmolStr::new_static("monthlyPeriodStart"), - SmolStr::new_static("monthlyPeriodEnd"), - SmolStr::new_static("lastUpdated"), - ]), + required: Some( + vec![ + SmolStr::new_static("pendingPostsCount"), + SmolStr::new_static("monthlyPostsCount"), + SmolStr::new_static("monthlyPeriodStart"), + SmolStr::new_static("monthlyPeriodEnd"), + SmolStr::new_static("lastUpdated") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -730,9 +729,9 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("lastUpdated"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Last time usage was updated (ISO 8601)", - )), + description: Some( + CowStr::new_static("Last time usage was updated (ISO 8601)"), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -741,9 +740,11 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("monthlyPeriodEnd"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "End of current monthly period (ISO 8601)", - )), + description: Some( + CowStr::new_static( + "End of current monthly period (ISO 8601)", + ), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -752,9 +753,11 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("monthlyPeriodStart"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Start of current monthly period (ISO 8601)", - )), + description: Some( + CowStr::new_static( + "Start of current monthly period (ISO 8601)", + ), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -791,7 +794,7 @@ fn lexicon_doc_app_chronosky_plan_getUsage() -> LexiconDoc<'static> { pub mod plan_limits_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -941,7 +944,18 @@ impl PlanLimitsBuilder { PlanLimitsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -954,7 +968,18 @@ impl PlanLimitsBuilder { PlanLimitsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1129,7 +1154,10 @@ where impl PlanLimitsBuilder { /// Set the `videoProcessingMinutesMonthly` field (optional) - pub fn video_processing_minutes_monthly(mut self, value: impl Into>) -> Self { + pub fn video_processing_minutes_monthly( + mut self, + value: impl Into>, + ) -> Self { self._fields.10 = value.into(); self } @@ -1182,7 +1210,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PlanLimits { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PlanLimits { PlanLimits { markdown_support: self._fields.0, max_image_size_mb: self._fields.1, @@ -1203,7 +1234,7 @@ where pub mod usage_stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1488,7 +1519,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UsageStats { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UsageStats { UsageStats { api_requests_this_hour: self._fields.0, last_updated: self._fields.1.unwrap(), @@ -1500,4 +1534,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/plan/list_assignments.rs b/crates/jacquard-api/src/app_chronosky/plan/list_assignments.rs index 940a158ee..455a0290e 100644 --- a/crates/jacquard-api/src/app_chronosky/plan/list_assignments.rs +++ b/crates/jacquard-api/src/app_chronosky/plan/list_assignments.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_chronosky::plan::get_assignment::PlanAssignment; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_chronosky::plan::get_assignment::PlanAssignment; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListAssignmentsOutput { ///List of plan assignments pub assignments: Vec>, @@ -61,4 +58,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListAssignmentsRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = ListAssignments; type Response = ListAssignmentsResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/plan/redeem_ticket.rs b/crates/jacquard-api/src/app_chronosky/plan/redeem_ticket.rs index 27636267d..b69765f3e 100644 --- a/crates/jacquard-api/src/app_chronosky/plan/redeem_ticket.rs +++ b/crates/jacquard-api/src/app_chronosky/plan/redeem_ticket.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_chronosky::plan::redeem_ticket; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_chronosky::plan::redeem_ticket; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RedeemTicket { ///Ticket redemption code pub code: S, @@ -38,11 +35,9 @@ pub struct RedeemTicket { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RedeemTicketOutput { pub assignment: redeem_ticket::RedeemedAssignment, ///Success message @@ -51,9 +46,18 @@ pub struct RedeemTicketOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RedeemTicketError { /// Ticket code not found @@ -67,10 +71,7 @@ pub enum RedeemTicketError { TicketExpired(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RedeemTicketError { @@ -111,10 +112,7 @@ impl core::fmt::Display for RedeemTicketError { /// Redeemed plan assignment. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RedeemedAssignment { ///Plan activation timestamp pub activated_at: Datetime, @@ -143,8 +141,9 @@ impl jacquard_common::xrpc::XrpcResp for RedeemTicketResponse { impl jacquard_common::xrpc::XrpcRequest for RedeemTicket { const NSID: &'static str = "app.chronosky.plan.redeemTicket"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RedeemTicketResponse; } @@ -154,8 +153,9 @@ Path: `/xrpc/app.chronosky.plan.redeemTicket`. The request payload type is `Rede pub struct RedeemTicketRequest; impl jacquard_common::xrpc::XrpcEndpoint for RedeemTicketRequest { const PATH: &'static str = "/xrpc/app.chronosky.plan.redeemTicket"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RedeemTicket; type Response = RedeemTicketResponse; } @@ -210,7 +210,7 @@ impl LexiconSchema for RedeemedAssignment { pub mod redeemed_assignment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -301,21 +301,21 @@ pub mod redeemed_assignment_state { } /// Builder for constructing an instance of this type. -pub struct RedeemedAssignmentBuilder { +pub struct RedeemedAssignmentBuilder< + St: redeemed_assignment_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option, - ), + _fields: (Option, Option, Option, Option, Option), _type: PhantomData S>, } impl RedeemedAssignment { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RedeemedAssignmentBuilder { + pub fn new() -> RedeemedAssignmentBuilder< + redeemed_assignment_state::Empty, + DefaultStr, + > { RedeemedAssignmentBuilder::new() } } @@ -465,7 +465,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RedeemedAssignment { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RedeemedAssignment { RedeemedAssignment { activated_at: self._fields.0.unwrap(), expires_at: self._fields.1.unwrap(), @@ -478,10 +481,10 @@ where } fn lexicon_doc_app_chronosky_plan_redeemTicket() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chronosky.plan.redeemTicket"), @@ -492,26 +495,28 @@ fn lexicon_doc_app_chronosky_plan_redeemTicket() -> LexiconDoc<'static> { LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![SmolStr::new_static("code")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("code"), - LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Ticket redemption code", - )), - min_length: Some(1usize), - max_length: Some(100usize), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some(vec![SmolStr::new_static("code")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("code"), + LexObjectProperty::String(LexString { + description: Some( + CowStr::new_static("Ticket redemption code"), + ), + min_length: Some(1usize), + max_length: Some(100usize), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -521,20 +526,23 @@ fn lexicon_doc_app_chronosky_plan_redeemTicket() -> LexiconDoc<'static> { SmolStr::new_static("redeemedAssignment"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Redeemed plan assignment.")), - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("planId"), - SmolStr::new_static("activatedAt"), - SmolStr::new_static("expiresAt"), - SmolStr::new_static("status"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("planId"), + SmolStr::new_static("activatedAt"), + SmolStr::new_static("expiresAt"), + SmolStr::new_static("status") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("activatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Plan activation timestamp")), + description: Some( + CowStr::new_static("Plan activation timestamp"), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -543,7 +551,9 @@ fn lexicon_doc_app_chronosky_plan_redeemTicket() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("expiresAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Plan expiration timestamp")), + description: Some( + CowStr::new_static("Plan expiration timestamp"), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -568,7 +578,9 @@ fn lexicon_doc_app_chronosky_plan_redeemTicket() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("status"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Plan assignment status")), + description: Some( + CowStr::new_static("Plan assignment status"), + ), max_length: Some(20usize), ..Default::default() }), @@ -582,4 +594,4 @@ fn lexicon_doc_app_chronosky_plan_redeemTicket() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/schedule.rs b/crates/jacquard-api/src/app_chronosky/schedule.rs index 4f301985d..b4d4e5228 100644 --- a/crates/jacquard-api/src/app_chronosky/schedule.rs +++ b/crates/jacquard-api/src/app_chronosky/schedule.rs @@ -9,4 +9,4 @@ pub mod delete_post; pub mod get_post; pub mod list_posts; pub mod retry_failed_posts; -pub mod update_post; +pub mod update_post; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/schedule/create_post.rs b/crates/jacquard-api/src/app_chronosky/schedule/create_post.rs index 427a9dd9f..a2a9af5b8 100644 --- a/crates/jacquard-api/src/app_chronosky/schedule/create_post.rs +++ b/crates/jacquard-api/src/app_chronosky/schedule/create_post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,6 +21,9 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::external::ExternalRecord; use crate::app_bsky::embed::images::Images; use crate::app_bsky::embed::record::Record; @@ -31,17 +34,11 @@ use crate::app_bsky::feed::threadgate::FollowingRule; use crate::app_bsky::feed::threadgate::ListRule; use crate::app_bsky::feed::threadgate::MentionRule; use crate::app_bsky::richtext::facet::Facet; -use crate::app_chronosky::schedule::create_post; use crate::com_atproto::label::SelfLabels; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_chronosky::schedule::create_post; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreatePost { ///Whether to disable quote posts #[serde(skip_serializing_if = "Option::is_none")] @@ -60,6 +57,7 @@ pub struct CreatePost { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -74,11 +72,9 @@ pub enum CreatePostThreadgateRulesItem { ThreadgateListRule(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreatePostOutput { ///Chronosky schedule ID (parent post ID for threads) pub id: S, @@ -93,10 +89,7 @@ pub struct CreatePostOutput { /// Individual post input for thread scheduling. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreadPostInput { ///Post creation timestamp (optional) #[serde(skip_serializing_if = "Option::is_none")] @@ -119,6 +112,7 @@ pub struct ThreadPostInput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -148,8 +142,9 @@ impl jacquard_common::xrpc::XrpcResp for CreatePostResponse { impl jacquard_common::xrpc::XrpcRequest for CreatePost { const NSID: &'static str = "app.chronosky.schedule.createPost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreatePostResponse; } @@ -159,8 +154,9 @@ Path: `/xrpc/app.chronosky.schedule.createPost`. The request payload type is `Cr pub struct CreatePostRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreatePostRequest { const PATH: &'static str = "/xrpc/app.chronosky.schedule.createPost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreatePost; type Response = CreatePostResponse; } @@ -226,7 +222,7 @@ impl LexiconSchema for ThreadPostInput { pub mod create_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -418,7 +414,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreatePost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreatePost { CreatePost { disable_quote_posts: self._fields.0, parent_post_id: self._fields.1, @@ -431,10 +430,10 @@ where } fn lexicon_doc_app_chronosky_schedule_createPost() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chronosky.schedule.createPost"), @@ -536,9 +535,11 @@ fn lexicon_doc_app_chronosky_schedule_createPost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("threadPostInput"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Individual post input for thread scheduling.", - )), + description: Some( + CowStr::new_static( + "Individual post input for thread scheduling.", + ), + ), required: Some(vec![SmolStr::new_static("text")]), properties: { #[allow(unused_mut)] @@ -546,9 +547,9 @@ fn lexicon_doc_app_chronosky_schedule_createPost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Post creation timestamp (optional)", - )), + description: Some( + CowStr::new_static("Post creation timestamp (optional)"), + ), format: Some(LexStringFormat::Datetime), max_length: Some(100usize), ..Default::default() @@ -557,15 +558,17 @@ fn lexicon_doc_app_chronosky_schedule_createPost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("embed"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static( - "Embedded content (images, external links, records).", - )), + description: Some( + CowStr::new_static( + "Embedded content (images, external links, records).", + ), + ), refs: vec![ CowStr::new_static("app.bsky.embed.images"), CowStr::new_static("app.bsky.embed.external"), CowStr::new_static("app.bsky.embed.record"), CowStr::new_static("app.bsky.embed.video"), - CowStr::new_static("app.bsky.embed.recordWithMedia"), + CowStr::new_static("app.bsky.embed.recordWithMedia") ], ..Default::default() }), @@ -573,9 +576,11 @@ fn lexicon_doc_app_chronosky_schedule_createPost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Rich text facets (mentions, links, tags)", - )), + description: Some( + CowStr::new_static( + "Rich text facets (mentions, links, tags)", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.bsky.richtext.facet"), ..Default::default() @@ -587,14 +592,18 @@ fn lexicon_doc_app_chronosky_schedule_createPost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("labels"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.label.defs#selfLabels"), + r#ref: CowStr::new_static( + "com.atproto.label.defs#selfLabels", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("langs"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Language codes (ISO 639-1)")), + description: Some( + CowStr::new_static("Language codes (ISO 639-1)"), + ), items: LexArrayItem::String(LexString { format: Some(LexStringFormat::Language), ..Default::default() @@ -621,4 +630,4 @@ fn lexicon_doc_app_chronosky_schedule_createPost() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/schedule/delete_post.rs b/crates/jacquard-api/src/app_chronosky/schedule/delete_post.rs index 91e461e1f..409a8aa18 100644 --- a/crates/jacquard-api/src/app_chronosky/schedule/delete_post.rs +++ b/crates/jacquard-api/src/app_chronosky/schedule/delete_post.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeletePost { ///Post ID to delete. pub id: S, @@ -28,11 +25,9 @@ pub struct DeletePost { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeletePostOutput { ///Deletion success flag. pub success: bool, @@ -40,9 +35,18 @@ pub struct DeletePostOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeletePostError { #[serde(rename = "PostNotFound")] @@ -51,10 +55,7 @@ pub enum DeletePostError { PostNotPending(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeletePostError { @@ -98,8 +99,9 @@ impl jacquard_common::xrpc::XrpcResp for DeletePostResponse { impl jacquard_common::xrpc::XrpcRequest for DeletePost { const NSID: &'static str = "app.chronosky.schedule.deletePost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeletePostResponse; } @@ -109,8 +111,9 @@ Path: `/xrpc/app.chronosky.schedule.deletePost`. The request payload type is `De pub struct DeletePostRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeletePostRequest { const PATH: &'static str = "/xrpc/app.chronosky.schedule.deletePost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeletePost; type Response = DeletePostResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/schedule/get_post.rs b/crates/jacquard-api/src/app_chronosky/schedule/get_post.rs index c29b1e421..71ea05b0a 100644 --- a/crates/jacquard-api/src/app_chronosky/schedule/get_post.rs +++ b/crates/jacquard-api/src/app_chronosky/schedule/get_post.rs @@ -8,48 +8,49 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_chronosky::schedule::list_posts::ScheduledPost; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_chronosky::schedule::list_posts::ScheduledPost; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPost { pub id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostOutput { pub post: ScheduledPost, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetPostError { #[serde(rename = "PostNotFound")] PostNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetPostError { @@ -103,7 +104,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPostRequest { pub mod get_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -182,7 +183,10 @@ where St::Id: get_post_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> GetPostBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> GetPostBuilder, S> { self._fields.0 = Option::Some(value.into()); GetPostBuilder { _state: PhantomData, @@ -203,4 +207,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/schedule/list_posts.rs b/crates/jacquard-api/src/app_chronosky/schedule/list_posts.rs index 4fafc1efb..00e53bf01 100644 --- a/crates/jacquard-api/src/app_chronosky/schedule/list_posts.rs +++ b/crates/jacquard-api/src/app_chronosky/schedule/list_posts.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,6 +21,9 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::external::ExternalRecord; use crate::app_bsky::embed::images::Images; use crate::app_bsky::embed::record::Record; @@ -31,18 +34,12 @@ use crate::app_bsky::feed::threadgate::FollowingRule; use crate::app_bsky::feed::threadgate::ListRule; use crate::app_bsky::feed::threadgate::MentionRule; use crate::app_bsky::richtext::facet::Facet; -use crate::app_chronosky::schedule::list_posts; use crate::com_atproto::label::SelfLabels; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_chronosky::schedule::list_posts; /// Image embed view with CID references. Similar to app.bsky.embed.images#view but includes cid on each image. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageView { ///List of image views with CID references. pub images: Vec>, @@ -53,10 +50,7 @@ pub struct ImageView { /// Image view with CID for referencing in updatePost. Extends app.bsky.embed.images#viewImage with cid field. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageViewImage { ///Alt text for the image. pub alt: S, @@ -71,11 +65,9 @@ pub struct ImageViewImage { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListPosts { /// Defaults to `20`. Min: 1. Max: 100. #[serde(default = "_default_limit")] @@ -90,11 +82,9 @@ pub struct ListPosts { pub status: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListPostsOutput { pub pagination: list_posts::Pagination, pub posts: Vec>, @@ -105,10 +95,7 @@ pub struct ListPostsOutput { /// Pagination information. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Pagination { ///Posts per page. pub limit: i64, @@ -125,10 +112,7 @@ pub struct Pagination { /// Scheduled post object with AT Protocol standard fields. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScheduledPost { ///AT Protocol record key. Present after successful execution. #[serde(skip_serializing_if = "Option::is_none")] @@ -203,6 +187,7 @@ pub struct ScheduledPost { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -221,6 +206,7 @@ pub enum ScheduledPostEmbed { RecordWithMedia(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -572,7 +558,7 @@ impl LexiconSchema for ScheduledPost { pub mod image_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -677,7 +663,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageView { ImageView { images: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -686,10 +675,10 @@ where } fn lexicon_doc_app_chronosky_schedule_listPosts() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chronosky.schedule.listPosts"), @@ -792,34 +781,38 @@ fn lexicon_doc_app_chronosky_schedule_listPosts() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("page"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("status"), - LexXrpcParametersProperty::String(LexString { - description: Some(CowStr::new_static("Filter by post status.")), - max_length: Some(20usize), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("page"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("status"), + LexXrpcParametersProperty::String(LexString { + description: Some( + CowStr::new_static("Filter by post status."), + ), + max_length: Some(20usize), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -827,12 +820,13 @@ fn lexicon_doc_app_chronosky_schedule_listPosts() -> LexiconDoc<'static> { SmolStr::new_static("pagination"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Pagination information.")), - required: Some(vec![ - SmolStr::new_static("page"), - SmolStr::new_static("limit"), - SmolStr::new_static("total"), - SmolStr::new_static("totalPages"), - ]), + required: Some( + vec![ + SmolStr::new_static("page"), SmolStr::new_static("limit"), + SmolStr::new_static("total"), + SmolStr::new_static("totalPages") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1218,7 +1212,7 @@ fn _default_page() -> Option { pub mod list_posts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1333,7 +1327,7 @@ where pub mod pagination_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1543,7 +1537,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Pagination { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Pagination { Pagination { limit: self._fields.0.unwrap(), page: self._fields.1.unwrap(), @@ -1556,7 +1553,7 @@ where pub mod scheduled_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1739,7 +1736,10 @@ pub mod scheduled_post_state { } /// Builder for constructing an instance of this type. -pub struct ScheduledPostBuilder { +pub struct ScheduledPostBuilder< + St: scheduled_post_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -1792,8 +1792,32 @@ impl ScheduledPostBuilder { ScheduledPostBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1806,8 +1830,32 @@ impl ScheduledPostBuilder { ScheduledPostBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1842,12 +1890,18 @@ impl ScheduledPostBuilder { impl ScheduledPostBuilder { /// Set the `children` field (optional) - pub fn children(mut self, value: impl Into>>>) -> Self { + pub fn children( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `children` field to an Option value (optional) - pub fn maybe_children(mut self, value: Option>>) -> Self { + pub fn maybe_children( + mut self, + value: Option>>, + ) -> Self { self._fields.2 = value; self } @@ -2258,7 +2312,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ScheduledPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ScheduledPost { ScheduledPost { at_rkey: self._fields.0, at_uri: self._fields.1, @@ -2289,4 +2346,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/schedule/retry_failed_posts.rs b/crates/jacquard-api/src/app_chronosky/schedule/retry_failed_posts.rs index 156f2b37d..1bf7d577a 100644 --- a/crates/jacquard-api/src/app_chronosky/schedule/retry_failed_posts.rs +++ b/crates/jacquard-api/src/app_chronosky/schedule/retry_failed_posts.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RetryFailedPosts { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RetryFailedPostsOutput { ///Number of posts that were retried pub retried_count: i64, @@ -51,8 +46,9 @@ impl jacquard_common::xrpc::XrpcResp for RetryFailedPostsResponse { impl jacquard_common::xrpc::XrpcRequest for RetryFailedPosts { const NSID: &'static str = "app.chronosky.schedule.retryFailedPosts"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RetryFailedPostsResponse; } @@ -62,8 +58,9 @@ Path: `/xrpc/app.chronosky.schedule.retryFailedPosts`. The request payload type pub struct RetryFailedPostsRequest; impl jacquard_common::xrpc::XrpcEndpoint for RetryFailedPostsRequest { const PATH: &'static str = "/xrpc/app.chronosky.schedule.retryFailedPosts"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RetryFailedPosts; type Response = RetryFailedPostsResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_chronosky/schedule/update_post.rs b/crates/jacquard-api/src/app_chronosky/schedule/update_post.rs index c2715cb91..1fe90f435 100644 --- a/crates/jacquard-api/src/app_chronosky/schedule/update_post.rs +++ b/crates/jacquard-api/src/app_chronosky/schedule/update_post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,6 +22,9 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::external::ExternalRecord; use crate::app_bsky::embed::images::Images; use crate::app_bsky::embed::record::Record; @@ -33,18 +36,12 @@ use crate::app_bsky::feed::threadgate::ListRule; use crate::app_bsky::feed::threadgate::MentionRule; use crate::app_bsky::richtext::facet::Facet; use crate::app_chronosky::schedule::list_posts::ScheduledPost; -use crate::app_chronosky::schedule::update_post; use crate::com_atproto::label::SelfLabels; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_chronosky::schedule::update_post; /// Image reference that supports both new blob uploads and existing image CID references. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageRef { ///Alt text for the image. pub alt: S, @@ -61,21 +58,16 @@ pub struct ImageRef { /// Images embed that supports CID references for existing images. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImagesEmbed { pub images: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdatePost { ///Whether to disable quote posts #[serde(skip_serializing_if = "Option::is_none")] @@ -107,6 +99,7 @@ pub struct UpdatePost { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -125,6 +118,7 @@ pub enum UpdatePostEmbed { RecordWithMedia(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -139,20 +133,27 @@ pub enum UpdatePostThreadgateRulesItem { ThreadgateListRule(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdatePostOutput { pub post: ScheduledPost, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdatePostError { #[serde(rename = "PostNotFound")] @@ -163,10 +164,7 @@ pub enum UpdatePostError { NoFieldsProvided(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdatePostError { @@ -251,25 +249,31 @@ impl LexiconSchema for ImageRef { if let Some(ref value) = self.image { { let mime = value.blob().mime_type.as_str(); - let accepted: &[&str] = &["image/jpeg", "image/png", "image/webp", "image/gif"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let accepted: &[&str] = &[ + "image/jpeg", + "image/png", + "image/webp", + "image/gif", + ]; + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), accepted: vec![ - "image/jpeg".to_string(), - "image/png".to_string(), - "image/webp".to_string(), - "image/gif".to_string(), + "image/jpeg".to_string(), "image/png".to_string(), + "image/webp".to_string(), "image/gif".to_string() ], actual: mime.to_string(), }); @@ -319,8 +323,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdatePostResponse { impl jacquard_common::xrpc::XrpcRequest for UpdatePost { const NSID: &'static str = "app.chronosky.schedule.updatePost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdatePostResponse; } @@ -330,17 +335,18 @@ Path: `/xrpc/app.chronosky.schedule.updatePost`. The request payload type is `Up pub struct UpdatePostRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdatePostRequest { const PATH: &'static str = "/xrpc/app.chronosky.schedule.updatePost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdatePost; type Response = UpdatePostResponse; } fn lexicon_doc_app_chronosky_schedule_updatePost() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.chronosky.schedule.updatePost"), @@ -392,9 +398,11 @@ fn lexicon_doc_app_chronosky_schedule_updatePost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("imagesEmbed"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Images embed that supports CID references for existing images.", - )), + description: Some( + CowStr::new_static( + "Images embed that supports CID references for existing images.", + ), + ), required: Some(vec![SmolStr::new_static("images")]), properties: { #[allow(unused_mut)] @@ -560,7 +568,7 @@ fn lexicon_doc_app_chronosky_schedule_updatePost() -> LexiconDoc<'static> { pub mod images_embed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -665,10 +673,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImagesEmbed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImagesEmbed { ImagesEmbed { images: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_dropanchor.rs b/crates/jacquard-api/src/app_dropanchor.rs index 21ee9fa8f..e46c96b76 100644 --- a/crates/jacquard-api/src/app_dropanchor.rs +++ b/crates/jacquard-api/src/app_dropanchor.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.dropanchor` Lexicon namespace/module. pub mod checkin; pub mod comment; -pub mod like; +pub mod like; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_dropanchor/checkin.rs b/crates/jacquard-api/src/app_dropanchor/checkin.rs index 0224169d7..24b57b4a2 100644 --- a/crates/jacquard-api/src/app_dropanchor/checkin.rs +++ b/crates/jacquard-api/src/app_dropanchor/checkin.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_dropanchor::checkin; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_dropanchor::checkin; /// Street address (based on community.lexicon.location.address) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Address { ///The ISO 3166 country code (preferably 2-letter) pub country: S, @@ -61,10 +58,7 @@ pub struct Address { /// Image attachment with thumbnail and full-size versions #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CheckinImage { ///Alt text for accessibility #[serde(skip_serializing_if = "Option::is_none")] @@ -80,10 +74,7 @@ pub struct CheckinImage { /// Foursquare venue data (based on community.lexicon.location.fsq) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FsqPlace { ///The unique identifier of a Foursquare POI pub fsq_place_id: S, @@ -103,10 +94,7 @@ pub struct FsqPlace { /// Geographic coordinates in WGS84 (based on community.lexicon.location.geo) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Geo { ///Altitude in meters #[serde(skip_serializing_if = "Option::is_none")] @@ -302,23 +290,25 @@ impl LexiconSchema for CheckinImage { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/jpeg", "image/png", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("fullsize"), accepted: vec![ - "image/jpeg".to_string(), - "image/png".to_string(), - "image/webp".to_string(), + "image/jpeg".to_string(), "image/png".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -343,23 +333,25 @@ impl LexiconSchema for CheckinImage { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/jpeg", "image/png", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumb"), accepted: vec![ - "image/jpeg".to_string(), - "image/png".to_string(), - "image/webp".to_string(), + "image/jpeg".to_string(), "image/png".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -567,10 +559,10 @@ impl LexiconSchema for Checkin { } fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.dropanchor.checkin"), @@ -579,9 +571,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("address"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Street address (based on community.lexicon.location.address)", - )), + description: Some( + CowStr::new_static( + "Street address (based on community.lexicon.location.address)", + ), + ), required: Some(vec![SmolStr::new_static("country")]), properties: { #[allow(unused_mut)] @@ -589,9 +583,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("country"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The ISO 3166 country code (preferably 2-letter)", - )), + description: Some( + CowStr::new_static( + "The ISO 3166 country code (preferably 2-letter)", + ), + ), min_length: Some(2usize), max_length: Some(10usize), ..Default::default() @@ -600,9 +596,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("locality"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The locality (city, town, etc.)", - )), + description: Some( + CowStr::new_static("The locality (city, town, etc.)"), + ), max_length: Some(200usize), ..Default::default() }), @@ -610,7 +606,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the location")), + description: Some( + CowStr::new_static("The name of the location"), + ), max_length: Some(500usize), ..Default::default() }), @@ -626,9 +624,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("region"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The administrative region (state, province, etc.)", - )), + description: Some( + CowStr::new_static( + "The administrative region (state, province, etc.)", + ), + ), max_length: Some(200usize), ..Default::default() }), @@ -649,35 +649,36 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("checkinImage"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Image attachment with thumbnail and full-size versions", - )), - required: Some(vec![ - SmolStr::new_static("thumb"), - SmolStr::new_static("fullsize"), - ]), + description: Some( + CowStr::new_static( + "Image attachment with thumbnail and full-size versions", + ), + ), + required: Some( + vec![ + SmolStr::new_static("thumb"), SmolStr::new_static("fullsize") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Alt text for accessibility")), + description: Some( + CowStr::new_static("Alt text for accessibility"), + ), max_length: Some(1000usize), ..Default::default() }), ); map.insert( SmolStr::new_static("fullsize"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("thumb"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -687,9 +688,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("fsqPlace"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Foursquare venue data (based on community.lexicon.location.fsq)", - )), + description: Some( + CowStr::new_static( + "Foursquare venue data (based on community.lexicon.location.fsq)", + ), + ), required: Some(vec![SmolStr::new_static("fsqPlaceId")]), properties: { #[allow(unused_mut)] @@ -697,9 +700,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("fsqPlaceId"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of a Foursquare POI", - )), + description: Some( + CowStr::new_static( + "The unique identifier of a Foursquare POI", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -707,9 +712,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("latitude"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Latitude in decimal degrees", - )), + description: Some( + CowStr::new_static("Latitude in decimal degrees"), + ), max_length: Some(32usize), ..Default::default() }), @@ -717,9 +722,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("longitude"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Longitude in decimal degrees", - )), + description: Some( + CowStr::new_static("Longitude in decimal degrees"), + ), max_length: Some(32usize), ..Default::default() }), @@ -727,7 +732,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the location")), + description: Some( + CowStr::new_static("The name of the location"), + ), max_length: Some(500usize), ..Default::default() }), @@ -740,13 +747,17 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("geo"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Geographic coordinates in WGS84 (based on community.lexicon.location.geo)", - )), - required: Some(vec![ - SmolStr::new_static("latitude"), - SmolStr::new_static("longitude"), - ]), + description: Some( + CowStr::new_static( + "Geographic coordinates in WGS84 (based on community.lexicon.location.geo)", + ), + ), + required: Some( + vec![ + SmolStr::new_static("latitude"), + SmolStr::new_static("longitude") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -761,9 +772,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("latitude"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Latitude in decimal degrees (range: -90 to 90)", - )), + description: Some( + CowStr::new_static( + "Latitude in decimal degrees (range: -90 to 90)", + ), + ), max_length: Some(32usize), ..Default::default() }), @@ -771,9 +784,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("longitude"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Longitude in decimal degrees (range: -180 to 180)", - )), + description: Some( + CowStr::new_static( + "Longitude in decimal degrees (range: -180 to 180)", + ), + ), max_length: Some(32usize), ..Default::default() }), @@ -781,7 +796,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Name of the location")), + description: Some( + CowStr::new_static("Name of the location"), + ), max_length: Some(500usize), ..Default::default() }), @@ -794,17 +811,20 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A location check-in record for the Anchor app", - )), + description: Some( + CowStr::new_static( + "A location check-in record for the Anchor app", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("address"), - SmolStr::new_static("geo"), - ]), + required: Some( + vec![ + SmolStr::new_static("text"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("address"), SmolStr::new_static("geo") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -818,9 +838,11 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("category"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Place category (e.g., cafe, restaurant)", - )), + description: Some( + CowStr::new_static( + "Place category (e.g., cafe, restaurant)", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -828,9 +850,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("categoryGroup"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Category group for organization", - )), + description: Some( + CowStr::new_static("Category group for organization"), + ), max_length: Some(100usize), ..Default::default() }), @@ -838,9 +860,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("categoryIcon"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Emoji icon for the category", - )), + description: Some( + CowStr::new_static("Emoji icon for the category"), + ), max_length: Some(10usize), ..Default::default() }), @@ -848,9 +870,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the check-in was created", - )), + description: Some( + CowStr::new_static("When the check-in was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -879,9 +901,9 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The check-in message or note", - )), + description: Some( + CowStr::new_static("The check-in message or note"), + ), max_length: Some(3000usize), ..Default::default() }), @@ -901,7 +923,7 @@ fn lexicon_doc_app_dropanchor_checkin() -> LexiconDoc<'static> { pub mod checkin_image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1053,7 +1075,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CheckinImage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CheckinImage { CheckinImage { alt: self._fields.0, fullsize: self._fields.1.unwrap(), @@ -1065,7 +1090,7 @@ where pub mod checkin_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1318,7 +1343,10 @@ where St::Text: checkin_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> CheckinBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> CheckinBuilder, S> { self._fields.8 = Option::Some(value.into()); CheckinBuilder { _state: PhantomData, @@ -1366,4 +1394,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_dropanchor/comment.rs b/crates/jacquard-api/src/app_dropanchor/comment.rs index 576cc456b..f604844a7 100644 --- a/crates/jacquard-api/src/app_dropanchor/comment.rs +++ b/crates/jacquard-api/src/app_dropanchor/comment.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_dropanchor::comment; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_dropanchor::comment; /// A comment record for check-ins in the Anchor app #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -62,10 +62,7 @@ pub struct CommentGetRecordOutput { /// A strong reference to another record #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StrongRef { ///Content identifier (CID) of the referenced record pub cid: Cid, @@ -151,7 +148,7 @@ impl LexiconSchema for StrongRef { pub mod comment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -294,7 +291,10 @@ where St::Text: comment_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> CommentBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> CommentBuilder, S> { self._fields.2 = Option::Some(value.into()); CommentBuilder { _state: PhantomData, @@ -332,10 +332,10 @@ where } fn lexicon_doc_app_dropanchor_comment() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.dropanchor.comment"), @@ -344,16 +344,20 @@ fn lexicon_doc_app_dropanchor_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A comment record for check-ins in the Anchor app", - )), + description: Some( + CowStr::new_static( + "A comment record for check-ins in the Anchor app", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("checkinRef"), - ]), + required: Some( + vec![ + SmolStr::new_static("text"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("checkinRef") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -367,9 +371,9 @@ fn lexicon_doc_app_dropanchor_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the comment was created", - )), + description: Some( + CowStr::new_static("When the comment was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -377,9 +381,9 @@ fn lexicon_doc_app_dropanchor_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The comment text content", - )), + description: Some( + CowStr::new_static("The comment text content"), + ), max_length: Some(1000usize), ..Default::default() }), @@ -394,17 +398,23 @@ fn lexicon_doc_app_dropanchor_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("strongRef"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A strong reference to another record")), - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + description: Some( + CowStr::new_static("A strong reference to another record"), + ), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Content identifier (CID) of the referenced record", - )), + description: Some( + CowStr::new_static( + "Content identifier (CID) of the referenced record", + ), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -412,9 +422,11 @@ fn lexicon_doc_app_dropanchor_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT Protocol URI of the referenced record", - )), + description: Some( + CowStr::new_static( + "AT Protocol URI of the referenced record", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -432,7 +444,7 @@ fn lexicon_doc_app_dropanchor_comment() -> LexiconDoc<'static> { pub mod strong_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -570,11 +582,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> StrongRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> StrongRef { StrongRef { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_dropanchor/like.rs b/crates/jacquard-api/src/app_dropanchor/like.rs index 88ef7a0de..88647aa77 100644 --- a/crates/jacquard-api/src/app_dropanchor/like.rs +++ b/crates/jacquard-api/src/app_dropanchor/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_dropanchor::like; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_dropanchor::like; /// A like record for check-ins in the Anchor app #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -60,10 +60,7 @@ pub struct LikeGetRecordOutput { /// A strong reference to another record #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StrongRef { ///Content identifier (CID) of the referenced record pub cid: Cid, @@ -138,7 +135,7 @@ impl LexiconSchema for StrongRef { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -286,10 +283,10 @@ where } fn lexicon_doc_app_dropanchor_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.dropanchor.like"), @@ -298,15 +295,19 @@ fn lexicon_doc_app_dropanchor_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A like record for check-ins in the Anchor app", - )), + description: Some( + CowStr::new_static( + "A like record for check-ins in the Anchor app", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("createdAt"), - SmolStr::new_static("checkinRef"), - ]), + required: Some( + vec![ + SmolStr::new_static("createdAt"), + SmolStr::new_static("checkinRef") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -320,9 +321,9 @@ fn lexicon_doc_app_dropanchor_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the like was created", - )), + description: Some( + CowStr::new_static("When the like was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -337,17 +338,23 @@ fn lexicon_doc_app_dropanchor_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("strongRef"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A strong reference to another record")), - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + description: Some( + CowStr::new_static("A strong reference to another record"), + ), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Content identifier (CID) of the referenced record", - )), + description: Some( + CowStr::new_static( + "Content identifier (CID) of the referenced record", + ), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -355,9 +362,11 @@ fn lexicon_doc_app_dropanchor_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT Protocol URI of the referenced record", - )), + description: Some( + CowStr::new_static( + "AT Protocol URI of the referenced record", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -375,7 +384,7 @@ fn lexicon_doc_app_dropanchor_like() -> LexiconDoc<'static> { pub mod strong_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -513,11 +522,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> StrongRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> StrongRef { StrongRef { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_fitsky.rs b/crates/jacquard-api/src/app_fitsky.rs index 1646df61d..6e6098784 100644 --- a/crates/jacquard-api/src/app_fitsky.rs +++ b/crates/jacquard-api/src/app_fitsky.rs @@ -9,4 +9,4 @@ pub mod goal; pub mod profile; pub mod trend; pub mod workout; -pub mod workout_plan; +pub mod workout_plan; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_fitsky/bluesky_post.rs b/crates/jacquard-api/src/app_fitsky/bluesky_post.rs index 0e54e678c..7d32f0f03 100644 --- a/crates/jacquard-api/src/app_fitsky/bluesky_post.rs +++ b/crates/jacquard-api/src/app_fitsky/bluesky_post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Links a Fitsky workout record to its cross-posted Bluesky post #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for BlueskyPost { pub mod bluesky_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -278,7 +278,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BlueskyPost { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BlueskyPost { BlueskyPost { created_at: self._fields.0.unwrap(), post_uri: self._fields.1.unwrap(), @@ -289,10 +292,10 @@ where } fn lexicon_doc_app_fitsky_blueskyPost() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.fitsky.blueskyPost"), @@ -301,16 +304,20 @@ fn lexicon_doc_app_fitsky_blueskyPost() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Links a Fitsky workout record to its cross-posted Bluesky post", - )), + description: Some( + CowStr::new_static( + "Links a Fitsky workout record to its cross-posted Bluesky post", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("workoutUri"), - SmolStr::new_static("postUri"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("workoutUri"), + SmolStr::new_static("postUri"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -346,4 +353,4 @@ fn lexicon_doc_app_fitsky_blueskyPost() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_fitsky/goal.rs b/crates/jacquard-api/src/app_fitsky/goal.rs index f277eaf5b..205c4f712 100644 --- a/crates/jacquard-api/src/app_fitsky/goal.rs +++ b/crates/jacquard-api/src/app_fitsky/goal.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A fitness goal to track progress against #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -49,6 +49,7 @@ pub struct Goal { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum GoalMetric { Distance, @@ -134,6 +135,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum GoalPeriod { Weekly, @@ -308,7 +310,7 @@ impl LexiconSchema for Goal { pub mod goal_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -592,10 +594,10 @@ where } fn lexicon_doc_app_fitsky_goal() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.fitsky.goal"), @@ -604,18 +606,20 @@ fn lexicon_doc_app_fitsky_goal() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A fitness goal to track progress against", - )), + description: Some( + CowStr::new_static("A fitness goal to track progress against"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("metric"), - SmolStr::new_static("targetValue"), - SmolStr::new_static("period"), - SmolStr::new_static("startDate"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("metric"), + SmolStr::new_static("targetValue"), + SmolStr::new_static("period"), + SmolStr::new_static("startDate"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -672,4 +676,4 @@ fn lexicon_doc_app_fitsky_goal() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_fitsky/profile.rs b/crates/jacquard-api/src/app_fitsky/profile.rs index 8d997f778..4c14f480c 100644 --- a/crates/jacquard-api/src/app_fitsky/profile.rs +++ b/crates/jacquard-api/src/app_fitsky/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A FitSky-specific user profile with custom banner and bio #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -215,23 +215,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -294,7 +296,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -443,7 +445,10 @@ impl ProfileBuilder { impl ProfileBuilder { /// Set the `unitSystem` field (optional) - pub fn unit_system(mut self, value: impl Into>>) -> Self { + pub fn unit_system( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } @@ -502,10 +507,10 @@ where } fn lexicon_doc_app_fitsky_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.fitsky.profile"), @@ -599,4 +604,4 @@ fn lexicon_doc_app_fitsky_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_fitsky/trend.rs b/crates/jacquard-api/src/app_fitsky/trend.rs index 8c4f0f01d..3b79e8e31 100644 --- a/crates/jacquard-api/src/app_fitsky/trend.rs +++ b/crates/jacquard-api/src/app_fitsky/trend.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_fitsky::trend; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_fitsky::trend; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DataPoint { pub date: Datetime, ///Value in base units (meters, seconds, calories, count, bpm) @@ -70,6 +67,7 @@ pub struct Trend { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TrendChartStyle { Line, @@ -147,6 +145,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TrendMetric { Distance, @@ -244,6 +243,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TrendPeriod { _1d, @@ -333,6 +333,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TrendWidgetType { TodaySummary, @@ -433,11 +434,9 @@ pub struct TrendGetRecordOutput { pub value: Trend, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TrendSummary { ///Average value in base units #[serde(skip_serializing_if = "Option::is_none")] @@ -552,20 +551,25 @@ impl LexiconSchema for Trend { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -625,7 +629,7 @@ impl LexiconSchema for TrendSummary { pub mod data_point_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -763,7 +767,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DataPoint { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DataPoint { DataPoint { date: self._fields.0.unwrap(), value: self._fields.1.unwrap(), @@ -773,10 +780,10 @@ where } fn lexicon_doc_app_fitsky_trend() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.fitsky.trend"), @@ -785,10 +792,9 @@ fn lexicon_doc_app_fitsky_trend() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dataPoint"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("date"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![SmolStr::new_static("date"), SmolStr::new_static("value")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -813,18 +819,22 @@ fn lexicon_doc_app_fitsky_trend() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A shared fitness trend or dashboard snapshot", - )), + description: Some( + CowStr::new_static( + "A shared fitness trend or dashboard snapshot", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("widgetType"), - SmolStr::new_static("metric"), - SmolStr::new_static("period"), - SmolStr::new_static("summary"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("widgetType"), + SmolStr::new_static("metric"), + SmolStr::new_static("period"), + SmolStr::new_static("summary"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -861,9 +871,7 @@ fn lexicon_doc_app_fitsky_trend() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("metric"), @@ -949,7 +957,7 @@ fn lexicon_doc_app_fitsky_trend() -> LexiconDoc<'static> { pub mod trend_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1139,7 +1147,10 @@ where impl TrendBuilder { /// Set the `dataPoints` field (optional) - pub fn data_points(mut self, value: impl Into>>>) -> Self { + pub fn data_points( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } @@ -1278,4 +1289,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_fitsky/workout.rs b/crates/jacquard-api/src/app_fitsky/workout.rs index 6b54e1779..9ffd3018a 100644 --- a/crates/jacquard-api/src/app_fitsky/workout.rs +++ b/crates/jacquard-api/src/app_fitsky/workout.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_fitsky::workout; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_fitsky::workout; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CardioDetails { #[serde(skip_serializing_if = "Option::is_none")] pub calories: Option, @@ -65,10 +62,7 @@ pub struct CardioDetails { /// Time in seconds spent in each heart rate zone #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CardioZoneData { #[serde(skip_serializing_if = "Option::is_none")] pub zone1_rest: Option, @@ -84,11 +78,9 @@ pub struct CardioZoneData { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Exercise { pub name: S, pub sets: Vec>, @@ -96,11 +88,9 @@ pub struct Exercise { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ExerciseSet { #[serde(skip_serializing_if = "Option::is_none")] pub reps: Option, @@ -111,11 +101,9 @@ pub struct ExerciseSet { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FlexibilityDetails { #[serde(skip_serializing_if = "Option::is_none")] pub calories: Option, @@ -135,6 +123,7 @@ pub struct FlexibilityDetails { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum FlexibilityDetailsIntensity { Light, @@ -184,7 +173,8 @@ impl Serialize for FlexibilityDetailsIntensity { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for FlexibilityDetailsIntensity { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for FlexibilityDetailsIntensity { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -209,7 +199,9 @@ where fn into_static(self) -> Self::Output { match self { FlexibilityDetailsIntensity::Light => FlexibilityDetailsIntensity::Light, - FlexibilityDetailsIntensity::Moderate => FlexibilityDetailsIntensity::Moderate, + FlexibilityDetailsIntensity::Moderate => { + FlexibilityDetailsIntensity::Moderate + } FlexibilityDetailsIntensity::Intense => FlexibilityDetailsIntensity::Intense, FlexibilityDetailsIntensity::Other(v) => { FlexibilityDetailsIntensity::Other(v.into_static()) @@ -218,11 +210,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HeartRateData { #[serde(skip_serializing_if = "Option::is_none")] pub avg: Option, @@ -236,11 +226,9 @@ pub struct HeartRateData { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HeartRateSample { pub bpm: i64, pub timestamp: Datetime, @@ -248,11 +236,9 @@ pub struct HeartRateSample { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HiitSportsDetails { #[serde(skip_serializing_if = "Option::is_none")] pub calories: Option, @@ -283,6 +269,7 @@ pub struct HiitSportsDetails { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum HiitSportsDetailsIntensity { Light, @@ -332,7 +319,8 @@ impl Serialize for HiitSportsDetailsIntensity { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for HiitSportsDetailsIntensity { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for HiitSportsDetailsIntensity { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -406,6 +394,7 @@ pub struct Workout { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -499,6 +488,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum WorkoutType { Running, @@ -623,11 +613,9 @@ pub struct WorkoutGetRecordOutput { pub value: Workout, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Milestone { #[serde(skip_serializing_if = "Option::is_none")] pub note: Option, @@ -640,6 +628,7 @@ pub struct Milestone { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum MilestoneType { Distance, @@ -721,11 +710,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RoutePoint { ///Latitude in microdegrees (degrees * 1,000,000) pub lat_e6: i64, @@ -736,11 +723,9 @@ pub struct RoutePoint { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StrengthDetails { #[serde(skip_serializing_if = "Option::is_none")] pub calories: Option, @@ -761,10 +746,7 @@ pub struct StrengthDetails { /// Controls which fields are visible to other users in the Fitsky UI. Note: ATProto repos are public — this is UI-level privacy only. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VisibilitySettings { #[serde(skip_serializing_if = "Option::is_none")] pub calories: Option>, @@ -782,6 +764,7 @@ pub struct VisibilitySettings { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsCalories { Public, @@ -828,7 +811,8 @@ impl Serialize for VisibilitySettingsCalories { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for VisibilitySettingsCalories { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for VisibilitySettingsCalories { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -861,6 +845,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsCardioZones { Public, @@ -907,7 +892,8 @@ impl Serialize for VisibilitySettingsCardioZones { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for VisibilitySettingsCardioZones { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for VisibilitySettingsCardioZones { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -931,8 +917,12 @@ where type Output = VisibilitySettingsCardioZones; fn into_static(self) -> Self::Output { match self { - VisibilitySettingsCardioZones::Public => VisibilitySettingsCardioZones::Public, - VisibilitySettingsCardioZones::Private => VisibilitySettingsCardioZones::Private, + VisibilitySettingsCardioZones::Public => { + VisibilitySettingsCardioZones::Public + } + VisibilitySettingsCardioZones::Private => { + VisibilitySettingsCardioZones::Private + } VisibilitySettingsCardioZones::Other(v) => { VisibilitySettingsCardioZones::Other(v.into_static()) } @@ -940,6 +930,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsDetails { Public, @@ -986,7 +977,8 @@ impl Serialize for VisibilitySettingsDetails { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for VisibilitySettingsDetails { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for VisibilitySettingsDetails { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1019,6 +1011,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsHeartRate { Public, @@ -1065,7 +1058,8 @@ impl Serialize for VisibilitySettingsHeartRate { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for VisibilitySettingsHeartRate { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for VisibilitySettingsHeartRate { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1098,6 +1092,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsNotes { Public, @@ -1170,11 +1165,14 @@ where match self { VisibilitySettingsNotes::Public => VisibilitySettingsNotes::Public, VisibilitySettingsNotes::Private => VisibilitySettingsNotes::Private, - VisibilitySettingsNotes::Other(v) => VisibilitySettingsNotes::Other(v.into_static()), + VisibilitySettingsNotes::Other(v) => { + VisibilitySettingsNotes::Other(v.into_static()) + } } } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsSteps { Public, @@ -1247,7 +1245,9 @@ where match self { VisibilitySettingsSteps::Public => VisibilitySettingsSteps::Public, VisibilitySettingsSteps::Private => VisibilitySettingsSteps::Private, - VisibilitySettingsSteps::Other(v) => VisibilitySettingsSteps::Other(v.into_static()), + VisibilitySettingsSteps::Other(v) => { + VisibilitySettingsSteps::Other(v.into_static()) + } } } } @@ -1547,23 +1547,25 @@ impl LexiconSchema for Workout { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("og_image"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -1757,10 +1759,10 @@ impl LexiconSchema for VisibilitySettings { } fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.fitsky.workout"), @@ -1826,9 +1828,11 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("routePoints"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "GPS route points recorded during the workout", - )), + description: Some( + CowStr::new_static( + "GPS route points recorded during the workout", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#routePoint"), ..Default::default() @@ -1850,9 +1854,11 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cardioZoneData"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Time in seconds spent in each heart rate zone", - )), + description: Some( + CowStr::new_static( + "Time in seconds spent in each heart rate zone", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1894,10 +1900,9 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("exercise"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("sets"), - ]), + required: Some( + vec![SmolStr::new_static("name"), SmolStr::new_static("sets")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2045,10 +2050,11 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("heartRateSample"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("timestamp"), - SmolStr::new_static("bpm"), - ]), + required: Some( + vec![ + SmolStr::new_static("timestamp"), SmolStr::new_static("bpm") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2136,9 +2142,11 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("routePoints"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "GPS route points recorded during the workout", - )), + description: Some( + CowStr::new_static( + "GPS route points recorded during the workout", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#routePoint"), ..Default::default() @@ -2302,10 +2310,11 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("milestone"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("type"), - SmolStr::new_static("timestamp"), - ]), + required: Some( + vec![ + SmolStr::new_static("type"), SmolStr::new_static("timestamp") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2345,11 +2354,12 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("routePoint"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("latE6"), - SmolStr::new_static("lngE6"), - SmolStr::new_static("timestamp"), - ]), + required: Some( + vec![ + SmolStr::new_static("latE6"), SmolStr::new_static("lngE6"), + SmolStr::new_static("timestamp") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2500,7 +2510,7 @@ fn lexicon_doc_app_fitsky_workout() -> LexiconDoc<'static> { pub mod exercise_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2591,7 +2601,10 @@ where St::Name: exercise_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ExerciseBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ExerciseBuilder, S> { self._fields.0 = Option::Some(value.into()); ExerciseBuilder { _state: PhantomData, @@ -2646,7 +2659,7 @@ where pub mod heart_rate_sample_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2689,7 +2702,10 @@ pub mod heart_rate_sample_state { } /// Builder for constructing an instance of this type. -pub struct HeartRateSampleBuilder { +pub struct HeartRateSampleBuilder< + St: heart_rate_sample_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -2784,7 +2800,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> HeartRateSample { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> HeartRateSample { HeartRateSample { bpm: self._fields.0.unwrap(), timestamp: self._fields.1.unwrap(), @@ -2795,7 +2814,7 @@ where pub mod workout_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2926,7 +2945,19 @@ impl WorkoutBuilder { WorkoutBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2939,7 +2970,19 @@ impl WorkoutBuilder { WorkoutBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3012,12 +3055,18 @@ impl WorkoutBuilder { impl WorkoutBuilder { /// Set the `milestones` field (optional) - pub fn milestones(mut self, value: impl Into>>>) -> Self { + pub fn milestones( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.4 = value.into(); self } /// Set the `milestones` field to an Option value (optional) - pub fn maybe_milestones(mut self, value: Option>>) -> Self { + pub fn maybe_milestones( + mut self, + value: Option>>, + ) -> Self { self._fields.4 = value; self } @@ -3100,7 +3149,10 @@ where St::Title: workout_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> WorkoutBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> WorkoutBuilder, S> { self._fields.10 = Option::Some(value.into()); WorkoutBuilder { _state: PhantomData, @@ -3131,12 +3183,18 @@ where impl WorkoutBuilder { /// Set the `visibility` field (optional) - pub fn visibility(mut self, value: impl Into>>) -> Self { + pub fn visibility( + mut self, + value: impl Into>>, + ) -> Self { self._fields.12 = value.into(); self } /// Set the `visibility` field to an Option value (optional) - pub fn maybe_visibility(mut self, value: Option>) -> Self { + pub fn maybe_visibility( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -3193,7 +3251,7 @@ where pub mod milestone_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3238,12 +3296,7 @@ pub mod milestone_state { /// Builder for constructing an instance of this type. pub struct MilestoneBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option, - ), + _fields: (Option, Option, Option>, Option), _type: PhantomData S>, } @@ -3364,7 +3417,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Milestone { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Milestone { Milestone { note: self._fields.0, timestamp: self._fields.1.unwrap(), @@ -3377,7 +3433,7 @@ where pub mod route_point_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3550,7 +3606,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RoutePoint { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RoutePoint { RoutePoint { lat_e6: self._fields.0.unwrap(), lng_e6: self._fields.1.unwrap(), @@ -3558,4 +3617,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_fitsky/workout_plan.rs b/crates/jacquard-api/src/app_fitsky/workout_plan.rs index 13fb6a526..711e811b9 100644 --- a/crates/jacquard-api/src/app_fitsky/workout_plan.rs +++ b/crates/jacquard-api/src/app_fitsky/workout_plan.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_fitsky::workout_plan; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_fitsky::workout_plan; /// A reusable workout plan template #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -50,6 +50,7 @@ pub struct WorkoutPlan { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum WorkoutPlanType { Weightlifting, @@ -146,11 +147,9 @@ pub struct WorkoutPlanGetRecordOutput { pub value: WorkoutPlan, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PlanExercise { pub name: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -232,23 +231,25 @@ impl LexiconSchema for WorkoutPlan { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("og_image"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -328,7 +329,7 @@ impl LexiconSchema for PlanExercise { pub mod workout_plan_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -558,7 +559,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> WorkoutPlan { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> WorkoutPlan { WorkoutPlan { created_at: self._fields.0.unwrap(), exercises: self._fields.1.unwrap(), @@ -571,10 +575,10 @@ where } fn lexicon_doc_app_fitsky_workoutPlan() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.fitsky.workoutPlan"), @@ -583,15 +587,18 @@ fn lexicon_doc_app_fitsky_workoutPlan() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A reusable workout plan template")), + description: Some( + CowStr::new_static("A reusable workout plan template"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("type"), - SmolStr::new_static("exercises"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("type"), + SmolStr::new_static("exercises"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -621,9 +628,7 @@ fn lexicon_doc_app_fitsky_workoutPlan() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("ogImage"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("type"), @@ -642,11 +647,13 @@ fn lexicon_doc_app_fitsky_workoutPlan() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("planExercise"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("targetSets"), - SmolStr::new_static("targetReps"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("targetSets"), + SmolStr::new_static("targetReps") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -691,7 +698,7 @@ fn lexicon_doc_app_fitsky_workoutPlan() -> LexiconDoc<'static> { pub mod plan_exercise_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -878,7 +885,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PlanExercise { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PlanExercise { PlanExercise { name: self._fields.0.unwrap(), notes: self._fields.1, @@ -887,4 +897,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest.rs b/crates/jacquard-api/src/app_gainforest.rs index cebd917f3..aea7be62e 100644 --- a/crates/jacquard-api/src/app_gainforest.rs +++ b/crates/jacquard-api/src/app_gainforest.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.gainforest` Lexicon namespace/module. pub mod dwc; pub mod evaluator; -pub mod organization; +pub mod organization; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/dwc.rs b/crates/jacquard-api/src/app_gainforest/dwc.rs index 5c2137b0e..ce2998367 100644 --- a/crates/jacquard-api/src/app_gainforest/dwc.rs +++ b/crates/jacquard-api/src/app_gainforest/dwc.rs @@ -10,9 +10,10 @@ pub mod event; pub mod measurement; pub mod occurrence; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,7 +25,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The specific nature of the data record. Controlled vocabulary per Darwin Core. #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -110,7 +111,9 @@ where fn into_static(self) -> Self::Output { match self { BasisOfRecordEnum::HumanObservation => BasisOfRecordEnum::HumanObservation, - BasisOfRecordEnum::MachineObservation => BasisOfRecordEnum::MachineObservation, + BasisOfRecordEnum::MachineObservation => { + BasisOfRecordEnum::MachineObservation + } BasisOfRecordEnum::PreservedSpecimen => BasisOfRecordEnum::PreservedSpecimen, BasisOfRecordEnum::LivingSpecimen => BasisOfRecordEnum::LivingSpecimen, BasisOfRecordEnum::FossilSpecimen => BasisOfRecordEnum::FossilSpecimen, @@ -218,10 +221,7 @@ where /// A geographic point with uncertainty, following Darwin Core Location class #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Geolocation { ///Horizontal distance from the coordinates describing the smallest circle containing the whole location. Zero is not valid. #[serde(skip_serializing_if = "Option::is_none")] @@ -317,7 +317,9 @@ where NomenclaturalCodeEnum::Icnp => NomenclaturalCodeEnum::Icnp, NomenclaturalCodeEnum::Ictv => NomenclaturalCodeEnum::Ictv, NomenclaturalCodeEnum::BioCode => NomenclaturalCodeEnum::BioCode, - NomenclaturalCodeEnum::Other(v) => NomenclaturalCodeEnum::Other(v.into_static()), + NomenclaturalCodeEnum::Other(v) => { + NomenclaturalCodeEnum::Other(v.into_static()) + } } } } @@ -390,7 +392,9 @@ where match self { OccurrenceStatusEnum::Present => OccurrenceStatusEnum::Present, OccurrenceStatusEnum::Absent => OccurrenceStatusEnum::Absent, - OccurrenceStatusEnum::Other(v) => OccurrenceStatusEnum::Other(v.into_static()), + OccurrenceStatusEnum::Other(v) => { + OccurrenceStatusEnum::Other(v.into_static()) + } } } } @@ -475,10 +479,7 @@ where /// A taxonomic identification with provenance metadata #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TaxonIdentification { ///Date the identification was made (ISO 8601) #[serde(skip_serializing_if = "Option::is_none")] @@ -780,10 +781,10 @@ impl LexiconSchema for TaxonIdentification { } fn lexicon_doc_app_gainforest_dwc_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.dwc.defs"), @@ -804,9 +805,11 @@ fn lexicon_doc_app_gainforest_dwc_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dublinCoreTypeEnum"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "Dublin Core type vocabulary for the nature of the resource.", - )), + description: Some( + CowStr::new_static( + "Dublin Core type vocabulary for the nature of the resource.", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -879,9 +882,11 @@ fn lexicon_doc_app_gainforest_dwc_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("nomenclaturalCodeEnum"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "The nomenclatural code under which the scientific name is constructed.", - )), + description: Some( + CowStr::new_static( + "The nomenclatural code under which the scientific name is constructed.", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -889,9 +894,11 @@ fn lexicon_doc_app_gainforest_dwc_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("occurrenceStatusEnum"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "Statement about the presence or absence of a taxon at a location.", - )), + description: Some( + CowStr::new_static( + "Statement about the presence or absence of a taxon at a location.", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -899,9 +906,11 @@ fn lexicon_doc_app_gainforest_dwc_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sexEnum"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "The sex of the biological individual(s) represented in the occurrence.", - )), + description: Some( + CowStr::new_static( + "The sex of the biological individual(s) represented in the occurrence.", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -1010,9 +1019,11 @@ fn lexicon_doc_app_gainforest_dwc_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("taxonRankEnum"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "The taxonomic rank of the most specific name in the scientificName.", - )), + description: Some( + CowStr::new_static( + "The taxonomic rank of the most specific name in the scientificName.", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -1021,4 +1032,4 @@ fn lexicon_doc_app_gainforest_dwc_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/dwc/event.rs b/crates/jacquard-api/src/app_gainforest/dwc/event.rs index 25ed563f8..1c6d3008b 100644 --- a/crates/jacquard-api/src/app_gainforest/dwc/event.rs +++ b/crates/jacquard-api/src/app_gainforest/dwc/event.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A sampling or collecting event. Multiple dwc.occurrence records can reference the same event via eventRef, sharing location and protocol metadata. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -463,7 +463,7 @@ impl LexiconSchema for Event { pub mod event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -574,8 +574,33 @@ impl EventBuilder { EventBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -588,8 +613,33 @@ impl EventBuilder { EventBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -598,7 +648,10 @@ impl EventBuilder { impl EventBuilder { /// Set the `coordinateUncertaintyInMeters` field (optional) - pub fn coordinate_uncertainty_in_meters(mut self, value: impl Into>) -> Self { + pub fn coordinate_uncertainty_in_meters( + mut self, + value: impl Into>, + ) -> Self { self._fields.0 = value.into(); self } @@ -718,7 +771,10 @@ where St::EventId: event_state::IsUnset, { /// Set the `eventID` field (required) - pub fn event_id(mut self, value: impl Into) -> EventBuilder, S> { + pub fn event_id( + mut self, + value: impl Into, + ) -> EventBuilder, S> { self._fields.8 = Option::Some(value.into()); EventBuilder { _state: PhantomData, @@ -1038,10 +1094,10 @@ where } fn lexicon_doc_app_gainforest_dwc_event() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.dwc.event"), @@ -1370,4 +1426,4 @@ fn lexicon_doc_app_gainforest_dwc_event() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/dwc/measurement.rs b/crates/jacquard-api/src/app_gainforest/dwc/measurement.rs index aa88cd7b7..5730c4d52 100644 --- a/crates/jacquard-api/src/app_gainforest/dwc/measurement.rs +++ b/crates/jacquard-api/src/app_gainforest/dwc/measurement.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A measurement, fact, characteristic, or assertion about an occurrence. Multiple measurement records can reference the same occurrence, solving the Simple DwC one-measurement-per-record limitation. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -256,7 +256,7 @@ impl LexiconSchema for Measurement { pub mod measurement_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -368,7 +368,18 @@ impl MeasurementBuilder { MeasurementBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -381,7 +392,18 @@ impl MeasurementBuilder { MeasurementBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -595,7 +617,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Measurement { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Measurement { Measurement { created_at: self._fields.0.unwrap(), measurement_accuracy: self._fields.1, @@ -615,10 +640,10 @@ where } fn lexicon_doc_app_gainforest_dwc_measurement() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.dwc.measurement"), @@ -800,4 +825,4 @@ fn lexicon_doc_app_gainforest_dwc_measurement() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/dwc/occurrence.rs b/crates/jacquard-api/src/app_gainforest/dwc/occurrence.rs index aeb22bc53..c7d3bb098 100644 --- a/crates/jacquard-api/src/app_gainforest/dwc/occurrence.rs +++ b/crates/jacquard-api/src/app_gainforest/dwc/occurrence.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A biodiversity occurrence record following the Simple Darwin Core standard. Each record represents one occurrence of an organism at a location and time. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -1174,7 +1174,7 @@ impl LexiconSchema for Occurrence { pub mod occurrence_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1353,12 +1353,85 @@ impl OccurrenceBuilder { OccurrenceBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1371,12 +1444,85 @@ impl OccurrenceBuilder { OccurrenceBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1508,7 +1654,10 @@ impl OccurrenceBuilder { impl OccurrenceBuilder { /// Set the `coordinateUncertaintyInMeters` field (optional) - pub fn coordinate_uncertainty_in_meters(mut self, value: impl Into>) -> Self { + pub fn coordinate_uncertainty_in_meters( + mut self, + value: impl Into>, + ) -> Self { self._fields.9 = value.into(); self } @@ -2528,7 +2677,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Occurrence { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Occurrence { Occurrence { associated_media: self._fields.0, associated_occurrences: self._fields.1, @@ -2615,10 +2767,10 @@ where } fn lexicon_doc_app_gainforest_dwc_occurrence() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.dwc.occurrence"), @@ -3553,4 +3705,4 @@ fn lexicon_doc_app_gainforest_dwc_occurrence() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/evaluator.rs b/crates/jacquard-api/src/app_gainforest/evaluator.rs index 54183b0cf..d5180246d 100644 --- a/crates/jacquard-api/src/app_gainforest/evaluator.rs +++ b/crates/jacquard-api/src/app_gainforest/evaluator.rs @@ -10,12 +10,13 @@ pub mod evaluation; pub mod service; pub mod subscription; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,17 +27,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_gainforest::evaluator; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_gainforest::evaluator; /// A candidate taxon identification with confidence score and rank. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CandidateTaxon { ///Confidence score (0-1000, where 1000 = 100.0%). pub confidence: i64, @@ -63,10 +61,7 @@ pub struct CandidateTaxon { /// Generic categorical classification result (e.g., conservation priority, habitat type). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ClassificationResult { ///The classification category (e.g., 'conservation-priority', 'habitat-type'). pub category: S, @@ -82,10 +77,7 @@ pub struct ClassificationResult { /// Data quality assessment result with per-field quality flags. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DataQualityResult { ///Overall completeness score (0-1000, where 1000 = 100.0%). #[serde(skip_serializing_if = "Option::is_none")] @@ -102,10 +94,7 @@ pub struct DataQualityResult { /// A single measurement derived by an evaluator from source data. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DerivedMeasurement { ///Description of the method used to obtain the measurement. #[serde(skip_serializing_if = "Option::is_none")] @@ -124,10 +113,7 @@ pub struct DerivedMeasurement { /// Derived measurements produced by an evaluator from source data (e.g., remote sensing metrics). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MeasurementResult { ///List of derived measurements. pub measurements: Vec>, @@ -141,10 +127,7 @@ pub struct MeasurementResult { /// Provenance metadata describing the method used to produce an evaluation. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MethodInfo { ///Identifier for the specific model checkpoint used (e.g., date or hash). #[serde(skip_serializing_if = "Option::is_none")] @@ -164,10 +147,7 @@ pub struct MethodInfo { /// A single data quality flag indicating an issue with a specific field. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QualityFlag { ///The field name that has the quality issue. pub field: S, @@ -266,10 +246,7 @@ where /// AI or human species recognition result with ranked candidate identifications. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SpeciesIdResult { ///Ranked list of candidate species identifications. pub candidates: Vec>, @@ -286,10 +263,7 @@ pub struct SpeciesIdResult { /// Reference to a target record that is being evaluated. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubjectRef { ///CID pinning the exact version of the target record. #[serde(skip_serializing_if = "Option::is_none")] @@ -303,10 +277,7 @@ pub struct SubjectRef { /// Expert verification result for a previous identification or evaluation. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerificationResult { ///Notes about the verification decision. #[serde(skip_serializing_if = "Option::is_none")] @@ -377,7 +348,8 @@ impl Serialize for VerificationResultStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for VerificationResultStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for VerificationResultStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -404,7 +376,9 @@ where VerificationResultStatus::Confirmed => VerificationResultStatus::Confirmed, VerificationResultStatus::Rejected => VerificationResultStatus::Rejected, VerificationResultStatus::Uncertain => VerificationResultStatus::Uncertain, - VerificationResultStatus::Other(v) => VerificationResultStatus::Other(v.into_static()), + VerificationResultStatus::Other(v) => { + VerificationResultStatus::Other(v.into_static()) + } } } } @@ -985,7 +959,7 @@ impl LexiconSchema for VerificationResult { pub mod candidate_taxon_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1042,7 +1016,10 @@ pub mod candidate_taxon_state { } /// Builder for constructing an instance of this type. -pub struct CandidateTaxonBuilder { +pub struct CandidateTaxonBuilder< + St: candidate_taxon_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -1222,7 +1199,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CandidateTaxon { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CandidateTaxon { CandidateTaxon { confidence: self._fields.0.unwrap(), family: self._fields.1, @@ -1237,10 +1217,10 @@ where } fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.evaluator.defs"), @@ -1249,14 +1229,18 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("candidateTaxon"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A candidate taxon identification with confidence score and rank.", - )), - required: Some(vec![ - SmolStr::new_static("scientificName"), - SmolStr::new_static("confidence"), - SmolStr::new_static("rank"), - ]), + description: Some( + CowStr::new_static( + "A candidate taxon identification with confidence score and rank.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("scientificName"), + SmolStr::new_static("confidence"), + SmolStr::new_static("rank") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1271,9 +1255,9 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("family"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Family of the candidate taxon.", - )), + description: Some( + CowStr::new_static("Family of the candidate taxon."), + ), max_graphemes: Some(128usize), ..Default::default() }), @@ -1281,9 +1265,11 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("gbifTaxonKey"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "GBIF backbone taxonomy key for the candidate.", - )), + description: Some( + CowStr::new_static( + "GBIF backbone taxonomy key for the candidate.", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -1291,9 +1277,9 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("genus"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Genus of the candidate taxon.", - )), + description: Some( + CowStr::new_static("Genus of the candidate taxon."), + ), max_graphemes: Some(128usize), ..Default::default() }), @@ -1301,9 +1287,9 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("kingdom"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Kingdom of the candidate taxon.", - )), + description: Some( + CowStr::new_static("Kingdom of the candidate taxon."), + ), max_graphemes: Some(128usize), ..Default::default() }), @@ -1318,9 +1304,11 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("scientificName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Full scientific name of the candidate taxon.", - )), + description: Some( + CowStr::new_static( + "Full scientific name of the candidate taxon.", + ), + ), max_graphemes: Some(512usize), ..Default::default() }), @@ -1390,9 +1378,11 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("dataQualityResult"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Data quality assessment result with per-field quality flags.", - )), + description: Some( + CowStr::new_static( + "Data quality assessment result with per-field quality flags.", + ), + ), required: Some(vec![SmolStr::new_static("flags")]), properties: { #[allow(unused_mut)] @@ -1408,9 +1398,11 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("flags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "List of quality issues found in the record.", - )), + description: Some( + CowStr::new_static( + "List of quality issues found in the record.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#qualityFlag"), ..Default::default() @@ -1422,9 +1414,11 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("remarks"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Additional notes about the quality assessment.", - )), + description: Some( + CowStr::new_static( + "Additional notes about the quality assessment.", + ), + ), max_graphemes: Some(2048usize), ..Default::default() }), @@ -1617,22 +1611,25 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("qualityFlag"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A single data quality flag indicating an issue with a specific field.", - )), - required: Some(vec![ - SmolStr::new_static("field"), - SmolStr::new_static("issue"), - ]), + description: Some( + CowStr::new_static( + "A single data quality flag indicating an issue with a specific field.", + ), + ), + required: Some( + vec![SmolStr::new_static("field"), SmolStr::new_static("issue")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("field"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The field name that has the quality issue.", - )), + description: Some( + CowStr::new_static( + "The field name that has the quality issue.", + ), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -1640,9 +1637,9 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("issue"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Description of the quality issue.", - )), + description: Some( + CowStr::new_static("Description of the quality issue."), + ), max_graphemes: Some(256usize), ..Default::default() }), @@ -1650,9 +1647,9 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("severity"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Severity level of the quality issue.", - )), + description: Some( + CowStr::new_static("Severity level of the quality issue."), + ), max_graphemes: Some(64usize), ..Default::default() }), @@ -1722,9 +1719,11 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subjectRef"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Reference to a target record that is being evaluated.", - )), + description: Some( + CowStr::new_static( + "Reference to a target record that is being evaluated.", + ), + ), required: Some(vec![SmolStr::new_static("uri")]), properties: { #[allow(unused_mut)] @@ -1732,9 +1731,11 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "CID pinning the exact version of the target record.", - )), + description: Some( + CowStr::new_static( + "CID pinning the exact version of the target record.", + ), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -1742,9 +1743,9 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the target record.", - )), + description: Some( + CowStr::new_static("AT-URI of the target record."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1837,7 +1838,7 @@ fn lexicon_doc_app_gainforest_evaluator_defs() -> LexiconDoc<'static> { pub mod data_quality_result_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1868,19 +1869,21 @@ pub mod data_quality_result_state { } /// Builder for constructing an instance of this type. -pub struct DataQualityResultBuilder { +pub struct DataQualityResultBuilder< + St: data_quality_result_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option>>, - Option, - ), + _fields: (Option, Option>>, Option), _type: PhantomData S>, } impl DataQualityResult { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DataQualityResultBuilder { + pub fn new() -> DataQualityResultBuilder< + data_quality_result_state::Empty, + DefaultStr, + > { DataQualityResultBuilder::new() } } @@ -1974,7 +1977,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DataQualityResult { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DataQualityResult { DataQualityResult { completeness_score: self._fields.0, flags: self._fields.1.unwrap(), @@ -1986,7 +1992,7 @@ where pub mod measurement_result_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2017,7 +2023,10 @@ pub mod measurement_result_state { } /// Builder for constructing an instance of this type. -pub struct MeasurementResultBuilder { +pub struct MeasurementResultBuilder< + St: measurement_result_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>, Option), _type: PhantomData S>, @@ -2025,7 +2034,10 @@ pub struct MeasurementResultBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> MeasurementResultBuilder { + pub fn new() -> MeasurementResultBuilder< + measurement_result_state::Empty, + DefaultStr, + > { MeasurementResultBuilder::new() } } @@ -2105,7 +2117,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MeasurementResult { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MeasurementResult { MeasurementResult { measurements: self._fields.0.unwrap(), remarks: self._fields.1, @@ -2116,7 +2131,7 @@ where pub mod species_id_result_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2147,13 +2162,12 @@ pub mod species_id_result_state { } /// Builder for constructing an instance of this type. -pub struct SpeciesIdResultBuilder { +pub struct SpeciesIdResultBuilder< + St: species_id_result_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>>, - Option, - Option, - ), + _fields: (Option>>, Option, Option), _type: PhantomData S>, } @@ -2253,7 +2267,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SpeciesIdResult { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SpeciesIdResult { SpeciesIdResult { candidates: self._fields.0.unwrap(), input_feature: self._fields.1, @@ -2265,7 +2282,7 @@ where pub mod subject_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2384,11 +2401,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SubjectRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SubjectRef { SubjectRef { cid: self._fields.0, uri: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/evaluator/evaluation.rs b/crates/jacquard-api/src/app_gainforest/evaluator/evaluation.rs index 785366146..1116ce398 100644 --- a/crates/jacquard-api/src/app_gainforest/evaluator/evaluation.rs +++ b/crates/jacquard-api/src/app_gainforest/evaluator/evaluation.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_gainforest::evaluator::ClassificationResult; use crate::app_gainforest::evaluator::DataQualityResult; use crate::app_gainforest::evaluator::MeasurementResult; @@ -31,9 +34,6 @@ use crate::app_gainforest::evaluator::MethodInfo; use crate::app_gainforest::evaluator::SpeciesIdResult; use crate::app_gainforest::evaluator::SubjectRef; use crate::app_gainforest::evaluator::VerificationResult; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A single evaluation produced by an evaluator service. Exactly one of 'subject' (single target) or 'subjects' (batch) must be provided. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -76,6 +76,7 @@ pub struct Evaluation { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -206,7 +207,7 @@ impl LexiconSchema for Evaluation { pub mod evaluation_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -467,7 +468,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Evaluation { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Evaluation { Evaluation { confidence: self._fields.0, created_at: self._fields.1.unwrap(), @@ -485,10 +489,10 @@ where } fn lexicon_doc_app_gainforest_evaluator_evaluation() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.evaluator.evaluation"), @@ -640,4 +644,4 @@ fn lexicon_doc_app_gainforest_evaluator_evaluation() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/evaluator/service.rs b/crates/jacquard-api/src/app_gainforest/evaluator/service.rs index 07a622a8a..659974671 100644 --- a/crates/jacquard-api/src/app_gainforest/evaluator/service.rs +++ b/crates/jacquard-api/src/app_gainforest/evaluator/service.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_gainforest::evaluator::MethodInfo; -use crate::app_gainforest::evaluator::service; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_gainforest::evaluator::MethodInfo; +use crate::app_gainforest::evaluator::service; /// Definition of a single evaluation type produced by this evaluator. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EvaluationTypeDefinition { ///The evaluation type identifier (must match an entry in evaluationTypes). pub identifier: S, @@ -54,10 +51,7 @@ pub struct EvaluationTypeDefinition { /// Localized name and description for an evaluation type. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EvaluationTypeLocale { ///Longer description of what this evaluation type does. pub description: S, @@ -72,10 +66,7 @@ pub struct EvaluationTypeLocale { /// Policies declaring what this evaluator does and how it operates. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EvaluatorPolicies { ///Whether this evaluator requires user subscription ('subscription') or processes all matching records ('open'). #[serde(skip_serializing_if = "Option::is_none")] @@ -140,7 +131,8 @@ impl Serialize for EvaluatorPoliciesAccessModel { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for EvaluatorPoliciesAccessModel { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for EvaluatorPoliciesAccessModel { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -416,10 +408,10 @@ impl LexiconSchema for Service { } fn lexicon_doc_app_gainforest_evaluator_service() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.evaluator.service"), @@ -499,23 +491,28 @@ fn lexicon_doc_app_gainforest_evaluator_service() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("evaluationTypeLocale"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Localized name and description for an evaluation type.", - )), - required: Some(vec![ - SmolStr::new_static("lang"), - SmolStr::new_static("name"), - SmolStr::new_static("description"), - ]), + description: Some( + CowStr::new_static( + "Localized name and description for an evaluation type.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("lang"), SmolStr::new_static("name"), + SmolStr::new_static("description") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Longer description of what this evaluation type does.", - )), + description: Some( + CowStr::new_static( + "Longer description of what this evaluation type does.", + ), + ), max_graphemes: Some(2048usize), ..Default::default() }), @@ -523,9 +520,11 @@ fn lexicon_doc_app_gainforest_evaluator_service() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("lang"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Language code (BCP-47, e.g., 'en', 'pt-BR').", - )), + description: Some( + CowStr::new_static( + "Language code (BCP-47, e.g., 'en', 'pt-BR').", + ), + ), max_graphemes: Some(16usize), ..Default::default() }), @@ -533,9 +532,11 @@ fn lexicon_doc_app_gainforest_evaluator_service() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Short human-readable name for this evaluation type.", - )), + description: Some( + CowStr::new_static( + "Short human-readable name for this evaluation type.", + ), + ), max_graphemes: Some(128usize), ..Default::default() }), @@ -675,7 +676,7 @@ fn lexicon_doc_app_gainforest_evaluator_service() -> LexiconDoc<'static> { pub mod evaluator_policies_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -706,7 +707,10 @@ pub mod evaluator_policies_state { } /// Builder for constructing an instance of this type. -pub struct EvaluatorPoliciesBuilder { +pub struct EvaluatorPoliciesBuilder< + St: evaluator_policies_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -719,7 +723,10 @@ pub struct EvaluatorPoliciesBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> EvaluatorPoliciesBuilder { + pub fn new() -> EvaluatorPoliciesBuilder< + evaluator_policies_state::Empty, + DefaultStr, + > { EvaluatorPoliciesBuilder::new() } } @@ -763,7 +770,10 @@ impl EvaluatorPoliciesBuilder>) -> Self { + pub fn maybe_access_model( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -836,7 +846,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> EvaluatorPolicies { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> EvaluatorPolicies { EvaluatorPolicies { access_model: self._fields.0, evaluation_type_definitions: self._fields.1, @@ -849,7 +862,7 @@ where pub mod service_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -994,4 +1007,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/evaluator/subscription.rs b/crates/jacquard-api/src/app_gainforest/evaluator/subscription.rs index ed11c7be1..d5a1c4887 100644 --- a/crates/jacquard-api/src/app_gainforest/evaluator/subscription.rs +++ b/crates/jacquard-api/src/app_gainforest/evaluator/subscription.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// User subscription to an evaluator service. Published by the user (not the evaluator) to declare they want evaluations. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -132,7 +132,7 @@ impl LexiconSchema for Subscription { pub mod subscription_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -177,12 +177,7 @@ pub mod subscription_state { /// Builder for constructing an instance of this type. pub struct SubscriptionBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option>, - Option>, - ), + _fields: (Option>, Option, Option>, Option>), _type: PhantomData S>, } @@ -303,7 +298,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Subscription { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Subscription { Subscription { collections: self._fields.0, created_at: self._fields.1.unwrap(), @@ -315,10 +313,10 @@ where } fn lexicon_doc_app_gainforest_evaluator_subscription() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.evaluator.subscription"), @@ -410,4 +408,4 @@ fn lexicon_doc_app_gainforest_evaluator_subscription() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization.rs b/crates/jacquard-api/src/app_gainforest/organization.rs index 6262050d5..272c46a92 100644 --- a/crates/jacquard-api/src/app_gainforest/organization.rs +++ b/crates/jacquard-api/src/app_gainforest/organization.rs @@ -9,4 +9,4 @@ pub mod get_indexed_organizations; pub mod info; pub mod layer; pub mod observations; -pub mod predictions; +pub mod predictions; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/default_site.rs b/crates/jacquard-api/src/app_gainforest/organization/default_site.rs index cf9a38495..4b62813a8 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/default_site.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/default_site.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of the default site for an organization #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for DefaultSite { pub mod default_site_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -244,7 +244,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DefaultSite { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DefaultSite { DefaultSite { created_at: self._fields.0.unwrap(), site: self._fields.1.unwrap(), @@ -254,10 +257,10 @@ where } fn lexicon_doc_app_gainforest_organization_defaultSite() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.defaultSite"), @@ -266,24 +269,30 @@ fn lexicon_doc_app_gainforest_organization_defaultSite() -> LexiconDoc<'static> map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of the default site for an organization", - )), + description: Some( + CowStr::new_static( + "A declaration of the default site for an organization", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("site"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("site"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time of the creation of the record", - )), + description: Some( + CowStr::new_static( + "The date and time of the creation of the record", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -291,9 +300,11 @@ fn lexicon_doc_app_gainforest_organization_defaultSite() -> LexiconDoc<'static> map.insert( SmolStr::new_static("site"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The reference to the default site record in the PDS", - )), + description: Some( + CowStr::new_static( + "The reference to the default site record in the PDS", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -309,4 +320,4 @@ fn lexicon_doc_app_gainforest_organization_defaultSite() -> LexiconDoc<'static> }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/get_indexed_organizations.rs b/crates/jacquard-api/src/app_gainforest/organization/get_indexed_organizations.rs index 90ae492bc..92897e6b6 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/get_indexed_organizations.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/get_indexed_organizations.rs @@ -10,21 +10,18 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetIndexedOrganizations; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetIndexedOrganizationsOutput { pub organizations: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -57,4 +54,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetIndexedOrganizationsRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetIndexedOrganizations; type Response = GetIndexedOrganizationsResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/info.rs b/crates/jacquard-api/src/app_gainforest/organization/info.rs index 967a64a7a..8feb59c28 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/info.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/info.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of an organization or project #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -194,7 +194,7 @@ impl LexiconSchema for Info { pub mod info_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -364,9 +364,7 @@ impl InfoBuilder { pub fn new() -> Self { InfoBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -377,9 +375,7 @@ impl InfoBuilder { pub fn builder() -> Self { InfoBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -391,7 +387,10 @@ where St::Country: info_state::IsUnset, { /// Set the `country` field (required) - pub fn country(mut self, value: impl Into) -> InfoBuilder, S> { + pub fn country( + mut self, + value: impl Into, + ) -> InfoBuilder, S> { self._fields.0 = Option::Some(value.into()); InfoBuilder { _state: PhantomData, @@ -615,10 +614,10 @@ where } fn lexicon_doc_app_gainforest_organization_info() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.info"), @@ -786,4 +785,4 @@ fn lexicon_doc_app_gainforest_organization_info() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/layer.rs b/crates/jacquard-api/src/app_gainforest/organization/layer.rs index 2c5773bd6..dc5398842 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/layer.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/layer.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a layer for an organization #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -113,7 +113,7 @@ impl LexiconSchema for Layer { pub mod layer_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -188,13 +188,7 @@ pub mod layer_state { /// Builder for constructing an instance of this type. pub struct LayerBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option>, - ), + _fields: (Option, Option, Option, Option, Option>), _type: PhantomData S>, } @@ -272,7 +266,10 @@ where St::Name: layer_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> LayerBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> LayerBuilder, S> { self._fields.2 = Option::Some(value.into()); LayerBuilder { _state: PhantomData, @@ -288,7 +285,10 @@ where St::Type: layer_state::IsUnset, { /// Set the `type` field (required) - pub fn r#type(mut self, value: impl Into) -> LayerBuilder, S> { + pub fn r#type( + mut self, + value: impl Into, + ) -> LayerBuilder, S> { self._fields.3 = Option::Some(value.into()); LayerBuilder { _state: PhantomData, @@ -350,10 +350,10 @@ where } fn lexicon_doc_app_gainforest_organization_layer() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.layer"), @@ -362,26 +362,30 @@ fn lexicon_doc_app_gainforest_organization_layer() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a layer for an organization", - )), + description: Some( + CowStr::new_static( + "A declaration of a layer for an organization", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("type"), - SmolStr::new_static("uri"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("type"), + SmolStr::new_static("uri"), SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time of the creation of the record", - )), + description: Some( + CowStr::new_static( + "The date and time of the creation of the record", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -389,30 +393,36 @@ fn lexicon_doc_app_gainforest_organization_layer() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The description of the layer", - )), + description: Some( + CowStr::new_static("The description of the layer"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the site")), + description: Some( + CowStr::new_static("The name of the site"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The type of the layer")), + description: Some( + CowStr::new_static("The type of the layer"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the layer")), + description: Some( + CowStr::new_static("The URI of the layer"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -428,4 +438,4 @@ fn lexicon_doc_app_gainforest_organization_layer() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/observations.rs b/crates/jacquard-api/src/app_gainforest/organization/observations.rs index d5301d063..4ecd9bd81 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/observations.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/observations.rs @@ -7,4 +7,4 @@ pub mod dendogram; pub mod fauna; pub mod flora; -pub mod measured_trees_cluster; +pub mod measured_trees_cluster; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/observations/dendogram.rs b/crates/jacquard-api/src/app_gainforest/organization/observations/dendogram.rs index 43cf96091..3216b8108 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/observations/dendogram.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/observations/dendogram.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a dendogram observation for an organization #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Dendogram { pub mod dendogram_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -244,7 +244,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Dendogram { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Dendogram { Dendogram { created_at: self._fields.0.unwrap(), dendogram: self._fields.1.unwrap(), @@ -253,11 +256,13 @@ where } } -fn lexicon_doc_app_gainforest_organization_observations_dendogram() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; +fn lexicon_doc_app_gainforest_organization_observations_dendogram() -> LexiconDoc< + 'static, +> { #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.observations.dendogram"), @@ -266,24 +271,30 @@ fn lexicon_doc_app_gainforest_organization_observations_dendogram() -> LexiconDo map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a dendogram observation for an organization", - )), + description: Some( + CowStr::new_static( + "A declaration of a dendogram observation for an organization", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("dendogram"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("dendogram"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time of the creation of the record", - )), + description: Some( + CowStr::new_static( + "The date and time of the creation of the record", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -308,4 +319,4 @@ fn lexicon_doc_app_gainforest_organization_observations_dendogram() -> LexiconDo }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/observations/fauna.rs b/crates/jacquard-api/src/app_gainforest/organization/observations/fauna.rs index 94f425832..e2375c68c 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/observations/fauna.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/observations/fauna.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// DEPRECATED: Use app.gainforest.dwc.occurrence instead. A declaration of a fauna observation for an organization. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Fauna { pub mod fauna_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -254,10 +254,10 @@ where } fn lexicon_doc_app_gainforest_organization_observations_fauna() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.observations.fauna"), @@ -324,4 +324,4 @@ fn lexicon_doc_app_gainforest_organization_observations_fauna() -> LexiconDoc<'s }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/observations/flora.rs b/crates/jacquard-api/src/app_gainforest/organization/observations/flora.rs index a850c63c1..840b7aa44 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/observations/flora.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/observations/flora.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// DEPRECATED: Use app.gainforest.dwc.occurrence instead. A declaration of a flora observation for an organization. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Flora { pub mod flora_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -254,10 +254,10 @@ where } fn lexicon_doc_app_gainforest_organization_observations_flora() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.observations.flora"), @@ -324,4 +324,4 @@ fn lexicon_doc_app_gainforest_organization_observations_flora() -> LexiconDoc<'s }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/observations/measured_trees_cluster.rs b/crates/jacquard-api/src/app_gainforest/organization/observations/measured_trees_cluster.rs index f30ce5075..11ef475cd 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/observations/measured_trees_cluster.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/observations/measured_trees_cluster.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a measured trees cluster for an organization #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -73,7 +73,8 @@ impl XrpcResp for MeasuredTreesClusterRecord { type Err = RecordError; } -impl From> for MeasuredTreesCluster { +impl From> +for MeasuredTreesCluster { fn from(output: MeasuredTreesClusterGetRecordOutput) -> Self { output.value } @@ -106,7 +107,7 @@ impl LexiconSchema for MeasuredTreesCluster { pub mod measured_trees_cluster_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -160,14 +161,20 @@ pub struct MeasuredTreesClusterBuilder< impl MeasuredTreesCluster { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> MeasuredTreesClusterBuilder { + pub fn new() -> MeasuredTreesClusterBuilder< + measured_trees_cluster_state::Empty, + DefaultStr, + > { MeasuredTreesClusterBuilder::new() } } impl MeasuredTreesCluster { /// Create a new builder for this type - pub fn builder() -> MeasuredTreesClusterBuilder { + pub fn builder() -> MeasuredTreesClusterBuilder< + measured_trees_cluster_state::Empty, + S, + > { MeasuredTreesClusterBuilder::builder() } } @@ -259,38 +266,47 @@ where } } -fn lexicon_doc_app_gainforest_organization_observations_measuredTreesCluster() -> LexiconDoc<'static> -{ - use alloc::collections::BTreeMap; +fn lexicon_doc_app_gainforest_organization_observations_measuredTreesCluster() -> LexiconDoc< + 'static, +> { #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, - id: CowStr::new_static("app.gainforest.organization.observations.measuredTreesCluster"), + id: CowStr::new_static( + "app.gainforest.organization.observations.measuredTreesCluster", + ), defs: { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a measured trees cluster for an organization", - )), + description: Some( + CowStr::new_static( + "A declaration of a measured trees cluster for an organization", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("shapefile"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("shapefile"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time of the creation of the record", - )), + description: Some( + CowStr::new_static( + "The date and time of the creation of the record", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -315,4 +331,4 @@ fn lexicon_doc_app_gainforest_organization_observations_measuredTreesCluster() - }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/predictions.rs b/crates/jacquard-api/src/app_gainforest/organization/predictions.rs index 9e6c3f1bf..23c119dfc 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/predictions.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/predictions.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `app.gainforest.organization.predictions` Lexicon namespace/module. pub mod fauna; -pub mod flora; +pub mod flora; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/predictions/fauna.rs b/crates/jacquard-api/src/app_gainforest/organization/predictions/fauna.rs index 68ab65060..b080f8b86 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/predictions/fauna.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/predictions/fauna.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// DEPRECATED: Use app.gainforest.dwc.occurrence with basisOfRecord='MachineObservation' instead. A declaration of a fauna prediction for an organization. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Fauna { pub mod fauna_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -254,10 +254,10 @@ where } fn lexicon_doc_app_gainforest_organization_predictions_fauna() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.predictions.fauna"), @@ -324,4 +324,4 @@ fn lexicon_doc_app_gainforest_organization_predictions_fauna() -> LexiconDoc<'st }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_gainforest/organization/predictions/flora.rs b/crates/jacquard-api/src/app_gainforest/organization/predictions/flora.rs index d6148b441..d1042a520 100644 --- a/crates/jacquard-api/src/app_gainforest/organization/predictions/flora.rs +++ b/crates/jacquard-api/src/app_gainforest/organization/predictions/flora.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// DEPRECATED: Use app.gainforest.dwc.occurrence with basisOfRecord='MachineObservation' instead. A declaration of a flora prediction for an organization. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Flora { pub mod flora_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -254,10 +254,10 @@ where } fn lexicon_doc_app_gainforest_organization_predictions_flora() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.gainforest.organization.predictions.flora"), @@ -324,4 +324,4 @@ fn lexicon_doc_app_gainforest_organization_predictions_flora() -> LexiconDoc<'st }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_greengale.rs b/crates/jacquard-api/src/app_greengale.rs index 879c4ea9f..e36c2d80f 100644 --- a/crates/jacquard-api/src/app_greengale.rs +++ b/crates/jacquard-api/src/app_greengale.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.greengale` Lexicon namespace/module. pub mod blog; pub mod document; -pub mod publication; +pub mod publication; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_greengale/blog.rs b/crates/jacquard-api/src/app_greengale/blog.rs index 05f9f2b3d..2b41380f2 100644 --- a/crates/jacquard-api/src/app_greengale/blog.rs +++ b/crates/jacquard-api/src/app_greengale/blog.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `app.greengale.blog` Lexicon namespace/module. pub mod entry; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,17 +26,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_greengale::blog; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_greengale::blog; /// Metadata for uploaded binary content #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BlobMetadata { ///Alt text for accessibility #[serde(skip_serializing_if = "Option::is_none")] @@ -55,10 +53,7 @@ pub struct BlobMetadata { /// Custom color values (CSS color strings) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CustomColors { ///Accent/link color #[serde(skip_serializing_if = "Option::is_none")] @@ -79,10 +74,7 @@ pub struct CustomColors { /// Open Graph Protocol metadata for social sharing #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Ogp { ///Image height in pixels #[serde(skip_serializing_if = "Option::is_none")] @@ -99,10 +91,7 @@ pub struct Ogp { /// Metadata tag on an atproto resource, published by the author #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SelfLabel { ///The short string name of the value or type of this label pub val: S, @@ -113,10 +102,7 @@ pub struct SelfLabel { /// Metadata tags on an atproto resource, published by the author #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SelfLabels { pub values: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -126,10 +112,7 @@ pub struct SelfLabels { /// Theme configuration for a blog entry #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Theme { ///Custom color overrides #[serde(skip_serializing_if = "Option::is_none")] @@ -144,10 +127,7 @@ pub struct Theme { /// Voice theme configuration for TTS playback #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VoiceTheme { ///Pitch multiplier x100 (100 = normal, range 50-150) #[serde(skip_serializing_if = "Option::is_none")] @@ -188,16 +168,19 @@ impl LexiconSchema for BlobMetadata { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["*/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blobref"), @@ -406,7 +389,7 @@ impl LexiconSchema for VoiceTheme { pub mod blob_metadata_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -439,12 +422,7 @@ pub mod blob_metadata_state { /// Builder for constructing an instance of this type. pub struct BlobMetadataBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -558,7 +536,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BlobMetadata { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BlobMetadata { BlobMetadata { alt: self._fields.0, blobref: self._fields.1.unwrap(), @@ -570,10 +551,10 @@ where } fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.greengale.blog.defs"), @@ -582,7 +563,9 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("blobMetadata"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Metadata for uploaded binary content")), + description: Some( + CowStr::new_static("Metadata for uploaded binary content"), + ), required: Some(vec![SmolStr::new_static("blobref")]), properties: { #[allow(unused_mut)] @@ -590,16 +573,16 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Alt text for accessibility")), + description: Some( + CowStr::new_static("Alt text for accessibility"), + ), max_length: Some(1000usize), ..Default::default() }), ); map.insert( SmolStr::new_static("blobref"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("labels"), @@ -624,9 +607,9 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("customColors"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Custom color values (CSS color strings)", - )), + description: Some( + CowStr::new_static("Custom color values (CSS color strings)"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -649,9 +632,9 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("codeBackground"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Code block background color", - )), + description: Some( + CowStr::new_static("Code block background color"), + ), max_length: Some(64usize), ..Default::default() }), @@ -672,9 +655,11 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("ogp"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Open Graph Protocol metadata for social sharing", - )), + description: Some( + CowStr::new_static( + "Open Graph Protocol metadata for social sharing", + ), + ), required: Some(vec![SmolStr::new_static("url")]), properties: { #[allow(unused_mut)] @@ -688,7 +673,9 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("URL of the OGP image")), + description: Some( + CowStr::new_static("URL of the OGP image"), + ), format: Some(LexStringFormat::Uri), max_length: Some(2048usize), ..Default::default() @@ -708,9 +695,11 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("selfLabel"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Metadata tag on an atproto resource, published by the author", - )), + description: Some( + CowStr::new_static( + "Metadata tag on an atproto resource, published by the author", + ), + ), required: Some(vec![SmolStr::new_static("val")]), properties: { #[allow(unused_mut)] @@ -718,9 +707,11 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("val"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The short string name of the value or type of this label", - )), + description: Some( + CowStr::new_static( + "The short string name of the value or type of this label", + ), + ), max_length: Some(128usize), ..Default::default() }), @@ -733,9 +724,11 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("selfLabels"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Metadata tags on an atproto resource, published by the author", - )), + description: Some( + CowStr::new_static( + "Metadata tags on an atproto resource, published by the author", + ), + ), required: Some(vec![SmolStr::new_static("values")]), properties: { #[allow(unused_mut)] @@ -759,7 +752,9 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("theme"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Theme configuration for a blog entry")), + description: Some( + CowStr::new_static("Theme configuration for a blog entry"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -773,7 +768,9 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("preset"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Predefined color theme")), + description: Some( + CowStr::new_static("Predefined color theme"), + ), max_length: Some(32usize), ..Default::default() }), @@ -786,9 +783,9 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("voiceTheme"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Voice theme configuration for TTS playback", - )), + description: Some( + CowStr::new_static("Voice theme configuration for TTS playback"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -807,9 +804,11 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("voice"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Voice ID for TTS (e.g., 'af_heart', 'am_adam')", - )), + description: Some( + CowStr::new_static( + "Voice ID for TTS (e.g., 'af_heart', 'am_adam')", + ), + ), max_length: Some(32usize), ..Default::default() }), @@ -827,7 +826,7 @@ fn lexicon_doc_app_greengale_blog_defs() -> LexiconDoc<'static> { pub mod ogp_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -919,7 +918,10 @@ where St::Url: ogp_state::IsUnset, { /// Set the `url` field (required) - pub fn url(mut self, value: impl Into>) -> OgpBuilder, S> { + pub fn url( + mut self, + value: impl Into>, + ) -> OgpBuilder, S> { self._fields.1 = Option::Some(value.into()); OgpBuilder { _state: PhantomData, @@ -969,7 +971,7 @@ where pub mod self_labels_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1074,10 +1076,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SelfLabels { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SelfLabels { SelfLabels { values: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_greengale/blog/entry.rs b/crates/jacquard-api/src/app_greengale/blog/entry.rs index 8c990ea70..58e68573d 100644 --- a/crates/jacquard-api/src/app_greengale/blog/entry.rs +++ b/crates/jacquard-api/src/app_greengale/blog/entry.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_greengale::blog::BlobMetadata; use crate::app_greengale::blog::Ogp; use crate::app_greengale::blog::Theme; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A markdown blog post with extended theme and LaTeX support. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -176,7 +176,7 @@ fn _default_entry_visibility() -> ::core::option::Option { pub mod entry_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -278,7 +278,10 @@ where St::Content: entry_state::IsUnset, { /// Set the `content` field (required) - pub fn content(mut self, value: impl Into) -> EntryBuilder, S> { + pub fn content( + mut self, + value: impl Into, + ) -> EntryBuilder, S> { self._fields.1 = Option::Some(value.into()); EntryBuilder { _state: PhantomData, @@ -417,10 +420,10 @@ where } fn lexicon_doc_app_greengale_blog_entry() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.greengale.blog.entry"), @@ -429,9 +432,11 @@ fn lexicon_doc_app_greengale_blog_entry() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A markdown blog post with extended theme and LaTeX support.", - )), + description: Some( + CowStr::new_static( + "A markdown blog post with extended theme and LaTeX support.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("content")]), @@ -453,9 +458,9 @@ fn lexicon_doc_app_greengale_blog_entry() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Markdown content of the blog post", - )), + description: Some( + CowStr::new_static("Markdown content of the blog post"), + ), max_length: Some(100000usize), ..Default::default() }), @@ -504,9 +509,9 @@ fn lexicon_doc_app_greengale_blog_entry() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("visibility"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Controls who can view this entry", - )), + description: Some( + CowStr::new_static("Controls who can view this entry"), + ), max_length: Some(16usize), ..Default::default() }), @@ -522,4 +527,4 @@ fn lexicon_doc_app_greengale_blog_entry() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_greengale/document.rs b/crates/jacquard-api/src/app_greengale/document.rs index 1239cfa41..cca349cfe 100644 --- a/crates/jacquard-api/src/app_greengale/document.rs +++ b/crates/jacquard-api/src/app_greengale/document.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,19 +24,16 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_greengale::blog::BlobMetadata; use crate::app_greengale::blog::Ogp; use crate::app_greengale::blog::Theme; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Reference to external content via AT-URI. Used in site.standard.document content union. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ContentRef { ///AT-URI pointing to the full document content pub uri: AtUri, @@ -237,7 +234,7 @@ impl LexiconSchema for Document { pub mod content_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -342,7 +339,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ContentRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ContentRef { ContentRef { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -351,10 +351,10 @@ where } fn lexicon_doc_app_greengale_document() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.greengale.document"), @@ -551,7 +551,7 @@ fn _default_document_visibility() -> ::core::option::Option pub mod document_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -681,7 +681,18 @@ impl DocumentBuilder { DocumentBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -694,7 +705,18 @@ impl DocumentBuilder { DocumentBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -765,7 +787,10 @@ where St::Path: document_state::IsUnset, { /// Set the `path` field (required) - pub fn path(mut self, value: impl Into) -> DocumentBuilder, S> { + pub fn path( + mut self, + value: impl Into, + ) -> DocumentBuilder, S> { self._fields.4 = Option::Some(value.into()); DocumentBuilder { _state: PhantomData, @@ -929,4 +954,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_greengale/publication.rs b/crates/jacquard-api/src/app_greengale/publication.rs index 5b8e457a7..36eef5956 100644 --- a/crates/jacquard-api/src/app_greengale/publication.rs +++ b/crates/jacquard-api/src/app_greengale/publication.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_greengale::blog::Theme; -use crate::app_greengale::blog::VoiceTheme; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_greengale::blog::Theme; +use crate::app_greengale::blog::VoiceTheme; /// A publication configuration with title, description, and default theme. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -157,7 +157,7 @@ fn _default_publication_enable_site_standard() -> Option { pub mod publication_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -358,7 +358,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Publication { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Publication { Publication { description: self._fields.0, enable_site_standard: self._fields.1.or_else(|| Some(false)), @@ -372,10 +375,10 @@ where } fn lexicon_doc_app_greengale_publication() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.greengale.publication"), @@ -384,24 +387,25 @@ fn lexicon_doc_app_greengale_publication() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A publication configuration with title, description, and default theme.", - )), + description: Some( + CowStr::new_static( + "A publication configuration with title, description, and default theme.", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("url"), - SmolStr::new_static("name"), - ]), + required: Some( + vec![SmolStr::new_static("url"), SmolStr::new_static("name")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Publication description", - )), + description: Some( + CowStr::new_static("Publication description"), + ), max_length: Some(1000usize), ..Default::default() }), @@ -415,7 +419,9 @@ fn lexicon_doc_app_greengale_publication() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Publication/blog title")), + description: Some( + CowStr::new_static("Publication/blog title"), + ), max_length: Some(200usize), ..Default::default() }), @@ -430,9 +436,11 @@ fn lexicon_doc_app_greengale_publication() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Publication base URL (e.g., https://greengale.app)", - )), + description: Some( + CowStr::new_static( + "Publication base URL (e.g., https://greengale.app)", + ), + ), format: Some(LexStringFormat::Uri), max_length: Some(2048usize), ..Default::default() @@ -441,7 +449,9 @@ fn lexicon_doc_app_greengale_publication() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("voiceTheme"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.greengale.blog.defs#voiceTheme"), + r#ref: CowStr::new_static( + "app.greengale.blog.defs#voiceTheme", + ), ..Default::default() }), ); @@ -456,4 +466,4 @@ fn lexicon_doc_app_greengale_publication() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_juttu.rs b/crates/jacquard-api/src/app_juttu.rs index 62d8cea6f..9326a4201 100644 --- a/crates/jacquard-api/src/app_juttu.rs +++ b/crates/jacquard-api/src/app_juttu.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.juttu` Lexicon namespace/module. -pub mod article_link; +pub mod article_link; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_juttu/article_link.rs b/crates/jacquard-api/src/app_juttu/article_link.rs index 4a2a1ea7b..a695a1f71 100644 --- a/crates/jacquard-api/src/app_juttu/article_link.rs +++ b/crates/jacquard-api/src/app_juttu/article_link.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Maps a unique article ID to its Bluesky comments thread, preserving original creation time. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -123,7 +123,7 @@ impl LexiconSchema for ArticleLink { pub mod article_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -182,12 +182,7 @@ pub mod article_link_state { /// Builder for constructing an instance of this type. pub struct ArticleLinkBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -315,7 +310,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ArticleLink { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ArticleLink { ArticleLink { article_id: self._fields.0.unwrap(), article_url: self._fields.1, @@ -327,10 +325,10 @@ where } fn lexicon_doc_app_juttu_articleLink() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.juttu.articleLink"), @@ -408,4 +406,4 @@ fn lexicon_doc_app_juttu_articleLink() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_mathr.rs b/crates/jacquard-api/src/app_mathr.rs index 7e1a4b944..b68bc68ef 100644 --- a/crates/jacquard-api/src/app_mathr.rs +++ b/crates/jacquard-api/src/app_mathr.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `app.mathr` Lexicon namespace/module. pub mod leaderboard; -pub mod score; +pub mod score; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_mathr/leaderboard.rs b/crates/jacquard-api/src/app_mathr/leaderboard.rs index a1dba41d6..55daee539 100644 --- a/crates/jacquard-api/src/app_mathr/leaderboard.rs +++ b/crates/jacquard-api/src/app_mathr/leaderboard.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.mathr.leaderboard` Lexicon namespace/module. -pub mod entry; +pub mod entry; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_mathr/leaderboard/entry.rs b/crates/jacquard-api/src/app_mathr/leaderboard/entry.rs index ac14f486e..006111469 100644 --- a/crates/jacquard-api/src/app_mathr/leaderboard/entry.rs +++ b/crates/jacquard-api/src/app_mathr/leaderboard/entry.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A verified leaderboard entry stored in the mathr.app official repository #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -175,7 +175,7 @@ impl LexiconSchema for Entry { pub mod entry_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -344,7 +344,10 @@ where St::Level: entry_state::IsUnset, { /// Set the `level` field (required) - pub fn level(mut self, value: impl Into) -> EntryBuilder, S> { + pub fn level( + mut self, + value: impl Into, + ) -> EntryBuilder, S> { self._fields.1 = Option::Some(value.into()); EntryBuilder { _state: PhantomData, @@ -520,10 +523,10 @@ where } fn lexicon_doc_app_mathr_leaderboard_entry() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.mathr.leaderboard.entry"), @@ -661,4 +664,4 @@ fn lexicon_doc_app_mathr_leaderboard_entry() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_mathr/score.rs b/crates/jacquard-api/src/app_mathr/score.rs index e09247eae..9bc916cb7 100644 --- a/crates/jacquard-api/src/app_mathr/score.rs +++ b/crates/jacquard-api/src/app_mathr/score.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A player's score record stored in their own PDS for personal backup #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -161,7 +161,7 @@ impl LexiconSchema for Score { pub mod score_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -236,13 +236,7 @@ pub mod score_state { /// Builder for constructing an instance of this type. pub struct ScoreBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option, - ), + _fields: (Option, Option, Option, Option, Option), _type: PhantomData S>, } @@ -307,7 +301,10 @@ where St::Level: score_state::IsUnset, { /// Set the `level` field (required) - pub fn level(mut self, value: impl Into) -> ScoreBuilder, S> { + pub fn level( + mut self, + value: impl Into, + ) -> ScoreBuilder, S> { self._fields.1 = Option::Some(value.into()); ScoreBuilder { _state: PhantomData, @@ -401,10 +398,10 @@ where } fn lexicon_doc_app_mathr_score() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.mathr.score"), @@ -413,26 +410,30 @@ fn lexicon_doc_app_mathr_score() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A player's score record stored in their own PDS for personal backup", - )), + description: Some( + CowStr::new_static( + "A player's score record stored in their own PDS for personal backup", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("level"), - SmolStr::new_static("totalSuccesses"), - SmolStr::new_static("totalChallenges"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("level"), + SmolStr::new_static("totalSuccesses"), + SmolStr::new_static("totalChallenges"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the score was recorded", - )), + description: Some( + CowStr::new_static("Timestamp when the score was recorded"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -477,4 +478,4 @@ fn lexicon_doc_app_mathr_score() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_nblr.rs b/crates/jacquard-api/src/app_nblr.rs index 81afa673a..4133fec5d 100644 --- a/crates/jacquard-api/src/app_nblr.rs +++ b/crates/jacquard-api/src/app_nblr.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `app.nblr` Lexicon namespace/module. pub mod actor; -pub mod feed; +pub mod feed; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_nblr/actor.rs b/crates/jacquard-api/src/app_nblr/actor.rs index 6fe9aede6..b8694fe37 100644 --- a/crates/jacquard-api/src/app_nblr/actor.rs +++ b/crates/jacquard-api/src/app_nblr/actor.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.nblr.actor` Lexicon namespace/module. -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_nblr/actor/profile.rs b/crates/jacquard-api/src/app_nblr/actor/profile.rs index 9452a872b..694e15977 100644 --- a/crates/jacquard-api/src/app_nblr/actor/profile.rs +++ b/crates/jacquard-api/src/app_nblr/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a nblr account profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -127,20 +127,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -218,7 +223,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -414,10 +419,10 @@ where } fn lexicon_doc_app_nblr_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.nblr.actor.profile"), @@ -426,9 +431,9 @@ fn lexicon_doc_app_nblr_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a nblr account profile.", - )), + description: Some( + CowStr::new_static("A declaration of a nblr account profile."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("createdAt")]), @@ -437,9 +442,7 @@ fn lexicon_doc_app_nblr_actor_profile() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -451,9 +454,9 @@ fn lexicon_doc_app_nblr_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form profile description text.", - )), + description: Some( + CowStr::new_static("Free-form profile description text."), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -470,9 +473,9 @@ fn lexicon_doc_app_nblr_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("pronouns"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form pronouns text.", - )), + description: Some( + CowStr::new_static("Free-form pronouns text."), + ), max_length: Some(200usize), max_graphemes: Some(20usize), ..Default::default() @@ -496,4 +499,4 @@ fn lexicon_doc_app_nblr_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_nblr/feed.rs b/crates/jacquard-api/src/app_nblr/feed.rs index 6570fb36a..63b113f1b 100644 --- a/crates/jacquard-api/src/app_nblr/feed.rs +++ b/crates/jacquard-api/src/app_nblr/feed.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.nblr.feed` Lexicon namespace/module. pub mod collection; pub mod link; -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_nblr/feed/collection.rs b/crates/jacquard-api/src/app_nblr/feed/collection.rs index a25220acf..c07e9027b 100644 --- a/crates/jacquard-api/src/app_nblr/feed/collection.rs +++ b/crates/jacquard-api/src/app_nblr/feed/collection.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record defining a collection of resources. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,7 +129,7 @@ impl LexiconSchema for Collection { pub mod collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -267,7 +267,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Collection { Collection { created_at: self._fields.0.unwrap(), name: self._fields.1.unwrap(), @@ -277,10 +280,10 @@ where } fn lexicon_doc_app_nblr_feed_collection() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.nblr.feed.collection"), @@ -289,15 +292,17 @@ fn lexicon_doc_app_nblr_feed_collection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record defining a collection of resources.", - )), + description: Some( + CowStr::new_static("Record defining a collection of resources."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -311,7 +316,9 @@ fn lexicon_doc_app_nblr_feed_collection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Name of the collection")), + description: Some( + CowStr::new_static("Name of the collection"), + ), max_length: Some(640usize), max_graphemes: Some(64usize), ..Default::default() @@ -328,4 +335,4 @@ fn lexicon_doc_app_nblr_feed_collection() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_nblr/feed/link.rs b/crates/jacquard-api/src/app_nblr/feed/link.rs index fd742dfbb..a9b4e5dcf 100644 --- a/crates/jacquard-api/src/app_nblr/feed/link.rs +++ b/crates/jacquard-api/src/app_nblr/feed/link.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record linking a resource to a collection. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Link { pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -250,7 +250,10 @@ where St::Uri: link_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> LinkBuilder, S> { self._fields.2 = Option::Some(value.into()); LinkBuilder { _state: PhantomData, @@ -288,10 +291,10 @@ where } fn lexicon_doc_app_nblr_feed_link() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.nblr.feed.link"), @@ -300,25 +303,29 @@ fn lexicon_doc_app_nblr_feed_link() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record linking a resource to a collection.", - )), + description: Some( + CowStr::new_static("Record linking a resource to a collection."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("collection"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), + SmolStr::new_static("collection"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("collection"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The AT URI of the collection being linked to", - )), + description: Some( + CowStr::new_static( + "The AT URI of the collection being linked to", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -333,9 +340,11 @@ fn lexicon_doc_app_nblr_feed_link() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the linked resource; a web URL or AT URI", - )), + description: Some( + CowStr::new_static( + "The URI of the linked resource; a web URL or AT URI", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -351,4 +360,4 @@ fn lexicon_doc_app_nblr_feed_link() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_nblr/feed/post.rs b/crates/jacquard-api/src/app_nblr/feed/post.rs index c81ebb0d9..3112eb4ac 100644 --- a/crates/jacquard-api/src/app_nblr/feed/post.rs +++ b/crates/jacquard-api/src/app_nblr/feed/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_nblr::feed::post; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_nblr::feed::post; /// width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { pub height: i64, pub width: i64, @@ -201,16 +198,19 @@ impl LexiconSchema for Post { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -248,7 +248,7 @@ impl LexiconSchema for Post { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -386,7 +386,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -396,10 +399,10 @@ where } fn lexicon_doc_app_nblr_feed_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.nblr.feed.post"), @@ -441,7 +444,9 @@ fn lexicon_doc_app_nblr_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("Record containing a nblr post.")), + description: Some( + CowStr::new_static("Record containing a nblr post."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("createdAt")]), @@ -465,9 +470,9 @@ fn lexicon_doc_app_nblr_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional description for the post", - )), + description: Some( + CowStr::new_static("Optional description for the post"), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -475,16 +480,14 @@ fn lexicon_doc_app_nblr_feed_post() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional title for the post", - )), + description: Some( + CowStr::new_static("Optional title for the post"), + ), max_length: Some(640usize), max_graphemes: Some(64usize), ..Default::default() @@ -493,9 +496,11 @@ fn lexicon_doc_app_nblr_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the linked resource; a web URL or AT URI", - )), + description: Some( + CowStr::new_static( + "The URI of the linked resource; a web URL or AT URI", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -515,7 +520,7 @@ fn lexicon_doc_app_nblr_feed_post() -> LexiconDoc<'static> { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -597,7 +602,10 @@ impl PostBuilder { impl PostBuilder { /// Set the `aspectRatio` field (optional) - pub fn aspect_ratio(mut self, value: impl Into>>) -> Self { + pub fn aspect_ratio( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -708,4 +716,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho.rs b/crates/jacquard-api/src/app_ocho.rs index 58bf36452..5e48b8b17 100644 --- a/crates/jacquard-api/src/app_ocho.rs +++ b/crates/jacquard-api/src/app_ocho.rs @@ -11,4 +11,4 @@ pub mod payment; pub mod plugin; pub mod push; pub mod server; -pub mod state; +pub mod state; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth.rs b/crates/jacquard-api/src/app_ocho/auth.rs index 86daa71f9..c4065b329 100644 --- a/crates/jacquard-api/src/app_ocho/auth.rs +++ b/crates/jacquard-api/src/app_ocho/auth.rs @@ -15,12 +15,13 @@ pub mod update_email; pub mod update_handle; pub mod whoami; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -33,13 +34,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AuthCallback { pub access_jwt: S, pub did: Did, @@ -66,7 +64,7 @@ impl LexiconSchema for AuthCallback { pub mod auth_callback_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -276,7 +274,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AuthCallback { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AuthCallback { AuthCallback { access_jwt: self._fields.0.unwrap(), did: self._fields.1.unwrap(), @@ -288,10 +289,10 @@ where } fn lexicon_doc_app_ocho_auth_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.ocho.auth.defs"), @@ -300,20 +301,19 @@ fn lexicon_doc_app_ocho_auth_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("authCallback"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("refreshJwt"), - SmolStr::new_static("accessJwt"), - SmolStr::new_static("handle"), - SmolStr::new_static("did"), - ]), + required: Some( + vec![ + SmolStr::new_static("refreshJwt"), + SmolStr::new_static("accessJwt"), + SmolStr::new_static("handle"), SmolStr::new_static("did") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("accessJwt"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("did"), @@ -324,15 +324,11 @@ fn lexicon_doc_app_ocho_auth_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("handle"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("refreshJwt"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -343,4 +339,4 @@ fn lexicon_doc_app_ocho_auth_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/at_proto_callback.rs b/crates/jacquard-api/src/app_ocho/auth/at_proto_callback.rs index 1a2266fe8..e54bc1a6a 100644 --- a/crates/jacquard-api/src/app_ocho/auth/at_proto_callback.rs +++ b/crates/jacquard-api/src/app_ocho/auth/at_proto_callback.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AtProtoCallback { pub code: S, pub iss: S, @@ -57,7 +54,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for AtProtoCallbackRequest { pub mod at_proto_callback_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -114,7 +111,10 @@ pub mod at_proto_callback_state { } /// Builder for constructing an instance of this type. -pub struct AtProtoCallbackBuilder { +pub struct AtProtoCallbackBuilder< + St: at_proto_callback_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -228,4 +228,4 @@ where state: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/authorize.rs b/crates/jacquard-api/src/app_ocho/auth/authorize.rs index fb1a04892..d21e3eb7b 100644 --- a/crates/jacquard-api/src/app_ocho/auth/authorize.rs +++ b/crates/jacquard-api/src/app_ocho/auth/authorize.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Authorize { pub authorize_options: Data, pub input: S, @@ -28,11 +25,9 @@ pub struct Authorize { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AuthorizeOutput { pub url: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -52,8 +47,9 @@ impl jacquard_common::xrpc::XrpcResp for AuthorizeResponse { impl jacquard_common::xrpc::XrpcRequest for Authorize { const NSID: &'static str = "app.ocho.auth.authorize"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AuthorizeResponse; } @@ -63,15 +59,16 @@ Path: `/xrpc/app.ocho.auth.authorize`. The request payload type is `Authorize pub struct AuthorizeRequest; impl jacquard_common::xrpc::XrpcEndpoint for AuthorizeRequest { const PATH: &'static str = "/xrpc/app.ocho.auth.authorize"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Authorize; type Response = AuthorizeResponse; } pub mod authorize_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -209,11 +206,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Authorize { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Authorize { Authorize { authorize_options: self._fields.0.unwrap(), input: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/github_callback.rs b/crates/jacquard-api/src/app_ocho/auth/github_callback.rs index f390d1eb9..d4aa092e7 100644 --- a/crates/jacquard-api/src/app_ocho/auth/github_callback.rs +++ b/crates/jacquard-api/src/app_ocho/auth/github_callback.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GithubCallback { pub code: S, pub state: S, @@ -56,7 +53,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GithubCallbackRequest { pub mod github_callback_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +96,10 @@ pub mod github_callback_state { } /// Builder for constructing an instance of this type. -pub struct GithubCallbackBuilder { +pub struct GithubCallbackBuilder< + St: github_callback_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -192,4 +192,4 @@ where state: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/google_callback.rs b/crates/jacquard-api/src/app_ocho/auth/google_callback.rs index 583c6f526..ca2924d97 100644 --- a/crates/jacquard-api/src/app_ocho/auth/google_callback.rs +++ b/crates/jacquard-api/src/app_ocho/auth/google_callback.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GoogleCallback { pub code: S, pub state: S, @@ -56,7 +53,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GoogleCallbackRequest { pub mod google_callback_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +96,10 @@ pub mod google_callback_state { } /// Builder for constructing an instance of this type. -pub struct GoogleCallbackBuilder { +pub struct GoogleCallbackBuilder< + St: google_callback_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -192,4 +192,4 @@ where state: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/request_email_update.rs b/crates/jacquard-api/src/app_ocho/auth/request_email_update.rs index 363406e80..68c2cf3f9 100644 --- a/crates/jacquard-api/src/app_ocho/auth/request_email_update.rs +++ b/crates/jacquard-api/src/app_ocho/auth/request_email_update.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestEmailUpdateOutput { pub token_required: bool, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -46,8 +43,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestEmailUpdateResponse { impl jacquard_common::xrpc::XrpcRequest for RequestEmailUpdate { const NSID: &'static str = "app.ocho.auth.requestEmailUpdate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestEmailUpdateResponse; } @@ -57,8 +55,9 @@ Path: `/xrpc/app.ocho.auth.requestEmailUpdate`. The request payload type is `Req pub struct RequestEmailUpdateRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestEmailUpdateRequest { const PATH: &'static str = "/xrpc/app.ocho.auth.requestEmailUpdate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestEmailUpdate; type Response = RequestEmailUpdateResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/update_email.rs b/crates/jacquard-api/src/app_ocho/auth/update_email.rs index 1e48f62a7..365028023 100644 --- a/crates/jacquard-api/src/app_ocho/auth/update_email.rs +++ b/crates/jacquard-api/src/app_ocho/auth/update_email.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateEmail { pub email: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -32,9 +29,18 @@ pub struct UpdateEmail { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdateEmailError { #[serde(rename = "ExpiredToken")] @@ -45,10 +51,7 @@ pub enum UpdateEmailError { TokenRequired(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdateEmailError { @@ -99,8 +102,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateEmailResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateEmail { const NSID: &'static str = "app.ocho.auth.updateEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateEmailResponse; } @@ -110,8 +114,9 @@ Path: `/xrpc/app.ocho.auth.updateEmail`. The request payload type is `UpdateEmai pub struct UpdateEmailRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateEmailRequest { const PATH: &'static str = "/xrpc/app.ocho.auth.updateEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateEmail; type Response = UpdateEmailResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/update_handle.rs b/crates/jacquard-api/src/app_ocho/auth/update_handle.rs index 9871a2589..5c82c169d 100644 --- a/crates/jacquard-api/src/app_ocho/auth/update_handle.rs +++ b/crates/jacquard-api/src/app_ocho/auth/update_handle.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Handle; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateHandle { ///The new handle. pub handle: Handle, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateHandleResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateHandle { const NSID: &'static str = "app.ocho.auth.updateHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateHandleResponse; } @@ -53,15 +51,16 @@ Path: `/xrpc/app.ocho.auth.updateHandle`. The request payload type is `UpdateHan pub struct UpdateHandleRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateHandleRequest { const PATH: &'static str = "/xrpc/app.ocho.auth.updateHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateHandle; type Response = UpdateHandleResponse; } pub mod update_handle_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -166,10 +165,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateHandle { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateHandle { UpdateHandle { handle: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/auth/whoami.rs b/crates/jacquard-api/src/app_ocho/auth/whoami.rs index 11869e73b..8902df53f 100644 --- a/crates/jacquard-api/src/app_ocho/auth/whoami.rs +++ b/crates/jacquard-api/src/app_ocho/auth/whoami.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The session data #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct WhoamiOutput { ///The user's DID pub did: S, @@ -63,4 +60,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for WhoamiRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = Whoami; type Response = WhoamiResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/edu.rs b/crates/jacquard-api/src/app_ocho/edu.rs index 8c306c4a3..e6814a2f9 100644 --- a/crates/jacquard-api/src/app_ocho/edu.rs +++ b/crates/jacquard-api/src/app_ocho/edu.rs @@ -7,4 +7,4 @@ pub mod get_verification_url; pub mod google_callback; pub mod is_verified; -pub mod verification; +pub mod verification; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/edu/get_verification_url.rs b/crates/jacquard-api/src/app_ocho/edu/get_verification_url.rs index 5c08a4503..34a4c648e 100644 --- a/crates/jacquard-api/src/app_ocho/edu/get_verification_url.rs +++ b/crates/jacquard-api/src/app_ocho/edu/get_verification_url.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetVerificationUrl { pub domain: S, } @@ -28,10 +25,7 @@ pub struct GetVerificationUrl { /// The intent data #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetVerificationUrlOutput { pub url: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetVerificationUrlRequest { pub mod get_verification_url_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,8 +93,10 @@ pub mod get_verification_url_state { } /// Builder for constructing an instance of this type. -pub struct GetVerificationUrlBuilder -{ +pub struct GetVerificationUrlBuilder< + St: get_verification_url_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -108,7 +104,10 @@ pub struct GetVerificationUrlBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetVerificationUrlBuilder { + pub fn new() -> GetVerificationUrlBuilder< + get_verification_url_state::Empty, + DefaultStr, + > { GetVerificationUrlBuilder::new() } } @@ -172,4 +171,4 @@ where domain: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/edu/google_callback.rs b/crates/jacquard-api/src/app_ocho/edu/google_callback.rs index a87ff9e4d..140c4ae3b 100644 --- a/crates/jacquard-api/src/app_ocho/edu/google_callback.rs +++ b/crates/jacquard-api/src/app_ocho/edu/google_callback.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GoogleCallback { pub code: S, pub state: S, @@ -56,7 +53,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GoogleCallbackRequest { pub mod google_callback_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +96,10 @@ pub mod google_callback_state { } /// Builder for constructing an instance of this type. -pub struct GoogleCallbackBuilder { +pub struct GoogleCallbackBuilder< + St: google_callback_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -192,4 +192,4 @@ where state: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/edu/is_verified.rs b/crates/jacquard-api/src/app_ocho/edu/is_verified.rs index 55b4055be..ea0796574 100644 --- a/crates/jacquard-api/src/app_ocho/edu/is_verified.rs +++ b/crates/jacquard-api/src/app_ocho/edu/is_verified.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct IsVerified { pub domain: S, } @@ -28,10 +25,7 @@ pub struct IsVerified { /// Whether the user is verified on that domain #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct IsVerifiedOutput { pub verified: bool, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for IsVerifiedRequest { pub mod is_verified_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -171,4 +165,4 @@ where domain: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/edu/verification.rs b/crates/jacquard-api/src/app_ocho/edu/verification.rs index 6cee4af5e..74db76eb0 100644 --- a/crates/jacquard-api/src/app_ocho/edu/verification.rs +++ b/crates/jacquard-api/src/app_ocho/edu/verification.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record declaring a verification relationship between an account and a .edu domain. Verifications are only considered valid by an app if issued by an account the app considers trusted. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +108,7 @@ impl LexiconSchema for Verification { pub mod verification_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -281,7 +281,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Verification { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Verification { Verification { created_at: self._fields.0.unwrap(), domain: self._fields.1.unwrap(), @@ -292,10 +295,10 @@ where } fn lexicon_doc_app_ocho_edu_verification() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.ocho.edu.verification"), @@ -367,4 +370,4 @@ fn lexicon_doc_app_ocho_edu_verification() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/message.rs b/crates/jacquard-api/src/app_ocho/message.rs index d57182585..fe7999683 100644 --- a/crates/jacquard-api/src/app_ocho/message.rs +++ b/crates/jacquard-api/src/app_ocho/message.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.ocho.message` Lexicon namespace/module. -pub mod send; +pub mod send; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/message/send.rs b/crates/jacquard-api/src/app_ocho/message/send.rs index 1135e0cd6..1eb9b8d23 100644 --- a/crates/jacquard-api/src/app_ocho/message/send.rs +++ b/crates/jacquard-api/src/app_ocho/message/send.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Send { ///The user to send the message to. pub did: S, @@ -30,11 +27,9 @@ pub struct Send { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendOutput { ///Whether the token was successfully registered. pub success: bool, @@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for SendResponse { impl jacquard_common::xrpc::XrpcRequest for Send { const NSID: &'static str = "app.ocho.message.send"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SendResponse; } @@ -66,8 +62,9 @@ Path: `/xrpc/app.ocho.message.send`. The request payload type is `Send`; send pub struct SendRequest; impl jacquard_common::xrpc::XrpcEndpoint for SendRequest { const PATH: &'static str = "/xrpc/app.ocho.message.send"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Send; type Response = SendResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/payment.rs b/crates/jacquard-api/src/app_ocho/payment.rs index 36a41d4a7..a19ee70be 100644 --- a/crates/jacquard-api/src/app_ocho/payment.rs +++ b/crates/jacquard-api/src/app_ocho/payment.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.ocho.payment` Lexicon namespace/module. -pub mod get_stripe_intent; +pub mod get_stripe_intent; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/payment/get_stripe_intent.rs b/crates/jacquard-api/src/app_ocho/payment/get_stripe_intent.rs index 745e04442..5f0d2cddc 100644 --- a/crates/jacquard-api/src/app_ocho/payment/get_stripe_intent.rs +++ b/crates/jacquard-api/src/app_ocho/payment/get_stripe_intent.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStripeIntent { pub amount: i64, pub id: S, @@ -33,10 +30,7 @@ pub struct GetStripeIntent { /// The intent data #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStripeIntentOutput { ///The customer ID for the payment intent pub customer: S, @@ -82,7 +76,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStripeIntentRequest { pub mod get_stripe_intent_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -139,7 +133,10 @@ pub mod get_stripe_intent_state { } /// Builder for constructing an instance of this type. -pub struct GetStripeIntentBuilder { +pub struct GetStripeIntentBuilder< + St: get_stripe_intent_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>, Option), _type: PhantomData S>, @@ -267,4 +264,4 @@ where token: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/plugin.rs b/crates/jacquard-api/src/app_ocho/plugin.rs index e4d3c81f1..de8f290be 100644 --- a/crates/jacquard-api/src/app_ocho/plugin.rs +++ b/crates/jacquard-api/src/app_ocho/plugin.rs @@ -11,12 +11,13 @@ pub mod get_manifest; pub mod put_hosting_url; pub mod service; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -28,16 +29,13 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_ocho::plugin; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_ocho::plugin; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AdaptiveIcon { ///The background color of the adaptive icon. #[serde(skip_serializing_if = "Option::is_none")] @@ -51,11 +49,9 @@ pub struct AdaptiveIcon { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Android { ///Configuration for the adaptive icon on Android. #[serde(skip_serializing_if = "Option::is_none")] @@ -70,10 +66,7 @@ pub struct Android { /// Android status bar configuration. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AndroidStatusBar { ///The background color of the Android status bar. #[serde(skip_serializing_if = "Option::is_none")] @@ -82,11 +75,9 @@ pub struct AndroidStatusBar { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Asset { ///The blob of the asset pub blob: BlobRef, @@ -101,11 +92,9 @@ pub struct Asset { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Db { ///The ID of the database. pub id: S, @@ -113,11 +102,9 @@ pub struct Db { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Developer { ///The tool used for development, e.g., 'expo-cli'. pub tool: S, @@ -125,11 +112,9 @@ pub struct Developer { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ExpoClient { ///Android-specific configuration for the app. #[serde(skip_serializing_if = "Option::is_none")] @@ -187,11 +172,9 @@ pub struct ExpoClient { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ExpoGo { ///Developer-specific configuration for the Expo Go app. pub developer: plugin::Developer, @@ -199,11 +182,9 @@ pub struct ExpoGo { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Ios { ///Whether the app supports iPad. #[serde(skip_serializing_if = "Option::is_none")] @@ -212,11 +193,9 @@ pub struct Ios { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LaunchAsset { ///The MIME type of the asset, e.g., 'image/png'. pub content_type: S, @@ -228,11 +207,9 @@ pub struct LaunchAsset { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Manifest { ///The date and time when this plugin manifest was created. pub created_at: Datetime, @@ -249,11 +226,9 @@ pub struct Manifest { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ManifestExtra { pub expo_client: plugin::ExpoClient, pub expo_go: plugin::ExpoGo, @@ -261,6 +236,7 @@ pub struct ManifestExtra { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -277,10 +253,7 @@ pub type PluginConfig = Data; pub type StringId = S; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Web { ///The bundler used for the web app. #[serde(skip_serializing_if = "Option::is_none")] @@ -493,10 +466,10 @@ impl LexiconSchema for Web { } fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.ocho.plugin.defs"), @@ -511,26 +484,28 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("backgroundColor"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The background color of the adaptive icon.", - )), + description: Some( + CowStr::new_static( + "The background color of the adaptive icon.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("foregroundImage"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL to the foreground image of the adaptive icon.", - )), + description: Some( + CowStr::new_static( + "The URL to the foreground image of the adaptive icon.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("foregroundImageBlob"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -564,16 +539,20 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("androidStatusBar"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Android status bar configuration.")), + description: Some( + CowStr::new_static("Android status bar configuration."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("backgroundColor"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The background color of the Android status bar.", - )), + description: Some( + CowStr::new_static( + "The background color of the Android status bar.", + ), + ), ..Default::default() }), ); @@ -643,7 +622,9 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The ID of the database.")), + description: Some( + CowStr::new_static("The ID of the database."), + ), ..Default::default() }), ); @@ -662,9 +643,11 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tool"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The tool used for development, e.g., 'expo-cli'.", - )), + description: Some( + CowStr::new_static( + "The tool used for development, e.g., 'expo-cli'.", + ), + ), ..Default::default() }), ); @@ -676,10 +659,9 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("expoClient"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("slug"), - ]), + required: Some( + vec![SmolStr::new_static("name"), SmolStr::new_static("slug")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -712,7 +694,9 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("icon"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URL to the app icon.")), + description: Some( + CowStr::new_static("The URL to the app icon."), + ), ..Default::default() }), ); @@ -732,9 +716,11 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The name of the Expo client application.", - )), + description: Some( + CowStr::new_static( + "The name of the Expo client application.", + ), + ), ..Default::default() }), ); @@ -747,18 +733,18 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("orientation"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The default orientation of the app.", - )), + description: Some( + CowStr::new_static("The default orientation of the app."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("platforms"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "The platforms supported by the app.", - )), + description: Some( + CowStr::new_static("The platforms supported by the app."), + ), items: LexArrayItem::String(LexString { ..Default::default() }), @@ -774,43 +760,47 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("scheme"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The custom URI scheme for deep linking.", - )), + description: Some( + CowStr::new_static( + "The custom URI scheme for deep linking.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("sdkVersion"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SDK version of the Expo client.", - )), + description: Some( + CowStr::new_static("The SDK version of the Expo client."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("slug"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A URL-friendly identifier for the app.", - )), + description: Some( + CowStr::new_static("A URL-friendly identifier for the app."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("userInterfaceStyle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The default user interface style.", - )), + description: Some( + CowStr::new_static("The default user interface style."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("version"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The version of the app.")), + description: Some( + CowStr::new_static("The version of the app."), + ), ..Default::default() }), ); @@ -994,10 +984,12 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("manifestExtra"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("expoClient"), - SmolStr::new_static("expoGo"), - ]), + required: Some( + vec![ + SmolStr::new_static("expoClient"), + SmolStr::new_static("expoGo") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1026,7 +1018,7 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("#stringId"), - CowStr::new_static("#pluginConfig"), + CowStr::new_static("#pluginConfig") ], ..Default::default() }), @@ -1035,16 +1027,16 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("pluginConfig"), - LexUserType::Unknown(LexUnknown { - ..Default::default() - }), + LexUserType::Unknown(LexUnknown { ..Default::default() }), ); map.insert( SmolStr::new_static("stringId"), LexUserType::String(LexString { - description: Some(CowStr::new_static( - "A string identifier for a plugin, used to reference it in the app.", - )), + description: Some( + CowStr::new_static( + "A string identifier for a plugin, used to reference it in the app.", + ), + ), ..Default::default() }), ); @@ -1057,33 +1049,33 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bundler"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The bundler used for the web app.", - )), + description: Some( + CowStr::new_static("The bundler used for the web app."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("favicon"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL to the favicon for the web app.", - )), + description: Some( + CowStr::new_static( + "The URL to the favicon for the web app.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("faviconBlob"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("output"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The output directory for the web app.", - )), + description: Some( + CowStr::new_static("The output directory for the web app."), + ), ..Default::default() }), ); @@ -1100,7 +1092,7 @@ fn lexicon_doc_app_ocho_plugin_defs() -> LexiconDoc<'static> { pub mod asset_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1224,7 +1216,10 @@ where St::Hash: asset_state::IsUnset, { /// Set the `hash` field (required) - pub fn hash(mut self, value: impl Into) -> AssetBuilder, S> { + pub fn hash( + mut self, + value: impl Into, + ) -> AssetBuilder, S> { self._fields.1 = Option::Some(value.into()); AssetBuilder { _state: PhantomData, @@ -1240,7 +1235,10 @@ where St::Type: asset_state::IsUnset, { /// Set the `type` field (required) - pub fn r#type(mut self, value: impl Into) -> AssetBuilder, S> { + pub fn r#type( + mut self, + value: impl Into, + ) -> AssetBuilder, S> { self._fields.2 = Option::Some(value.into()); AssetBuilder { _state: PhantomData, @@ -1294,7 +1292,7 @@ where pub mod expo_go_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1409,7 +1407,7 @@ where pub mod launch_asset_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1582,7 +1580,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LaunchAsset { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LaunchAsset { LaunchAsset { content_type: self._fields.0.unwrap(), key: self._fields.1.unwrap(), @@ -1594,7 +1595,7 @@ where pub mod manifest_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1798,7 +1799,10 @@ where St::Id: manifest_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> ManifestBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> ManifestBuilder, S> { self._fields.2 = Option::Some(value.into()); ManifestBuilder { _state: PhantomData, @@ -1903,7 +1907,7 @@ where pub mod manifest_extra_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1946,7 +1950,10 @@ pub mod manifest_extra_state { } /// Builder for constructing an instance of this type. -pub struct ManifestExtraBuilder { +pub struct ManifestExtraBuilder< + St: manifest_extra_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -2041,11 +2048,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ManifestExtra { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ManifestExtra { ManifestExtra { expo_client: self._fields.0.unwrap(), expo_go: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/plugin/get_launch_asset.rs b/crates/jacquard-api/src/app_ocho/plugin/get_launch_asset.rs index 7713caa03..e94f4a510 100644 --- a/crates/jacquard-api/src/app_ocho/plugin/get_launch_asset.rs +++ b/crates/jacquard-api/src/app_ocho/plugin/get_launch_asset.rs @@ -10,19 +10,16 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLaunchAsset { pub did: Did, pub platform: S, @@ -85,7 +82,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLaunchAssetRequest { pub mod get_launch_asset_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -128,7 +125,10 @@ pub mod get_launch_asset_state { } /// Builder for constructing an instance of this type. -pub struct GetLaunchAssetBuilder { +pub struct GetLaunchAssetBuilder< + St: get_launch_asset_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option), _type: PhantomData S>, @@ -221,4 +221,4 @@ where platform: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/plugin/get_manifest.rs b/crates/jacquard-api/src/app_ocho/plugin/get_manifest.rs index 5301a196c..7c50fc914 100644 --- a/crates/jacquard-api/src/app_ocho/plugin/get_manifest.rs +++ b/crates/jacquard-api/src/app_ocho/plugin/get_manifest.rs @@ -8,31 +8,26 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_ocho::plugin::Manifest; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_ocho::plugin::Manifest; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetManifest { pub did: Did, pub platform: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetManifestOutput { #[serde(flatten)] pub value: Manifest, @@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetManifestRequest { pub mod get_manifest_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -206,4 +201,4 @@ where platform: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/plugin/put_hosting_url.rs b/crates/jacquard-api/src/app_ocho/plugin/put_hosting_url.rs index 755c63318..1a47790b1 100644 --- a/crates/jacquard-api/src/app_ocho/plugin/put_hosting_url.rs +++ b/crates/jacquard-api/src/app_ocho/plugin/put_hosting_url.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutHostingUrl { ///The expo push token pub url: S, @@ -28,11 +25,9 @@ pub struct PutHostingUrl { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutHostingUrlOutput { pub success: bool, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -52,8 +47,9 @@ impl jacquard_common::xrpc::XrpcResp for PutHostingUrlResponse { impl jacquard_common::xrpc::XrpcRequest for PutHostingUrl { const NSID: &'static str = "app.ocho.plugin.putHostingUrl"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutHostingUrlResponse; } @@ -63,8 +59,9 @@ Path: `/xrpc/app.ocho.plugin.putHostingUrl`. The request payload type is `PutHos pub struct PutHostingUrlRequest; impl jacquard_common::xrpc::XrpcEndpoint for PutHostingUrlRequest { const PATH: &'static str = "/xrpc/app.ocho.plugin.putHostingUrl"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutHostingUrl; type Response = PutHostingUrlResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/plugin/service.rs b/crates/jacquard-api/src/app_ocho/plugin/service.rs index f4f929909..d994a1933 100644 --- a/crates/jacquard-api/src/app_ocho/plugin/service.rs +++ b/crates/jacquard-api/src/app_ocho/plugin/service.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_ocho::plugin::Db; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_ocho::plugin::Db; /// The definitions for the plugin. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Service { pub mod service_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -236,10 +236,10 @@ where } fn lexicon_doc_app_ocho_plugin_service() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.ocho.plugin.service"), @@ -289,4 +289,4 @@ fn lexicon_doc_app_ocho_plugin_service() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/push.rs b/crates/jacquard-api/src/app_ocho/push.rs index db02feb6b..96fb27600 100644 --- a/crates/jacquard-api/src/app_ocho/push.rs +++ b/crates/jacquard-api/src/app_ocho/push.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.ocho.push` Lexicon namespace/module. -pub mod register; +pub mod register; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/push/register.rs b/crates/jacquard-api/src/app_ocho/push/register.rs index 5fe8b2bca..331b06702 100644 --- a/crates/jacquard-api/src/app_ocho/push/register.rs +++ b/crates/jacquard-api/src/app_ocho/push/register.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Register { ///The expo push token pub push_token: S, @@ -28,11 +25,9 @@ pub struct Register { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RegisterOutput { ///Whether the token was successfully registered. pub success: bool, @@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for RegisterResponse { impl jacquard_common::xrpc::XrpcRequest for Register { const NSID: &'static str = "app.ocho.push.register"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RegisterResponse; } @@ -64,8 +60,9 @@ Path: `/xrpc/app.ocho.push.register`. The request payload type is `Register`; pub struct RegisterRequest; impl jacquard_common::xrpc::XrpcEndpoint for RegisterRequest { const PATH: &'static str = "/xrpc/app.ocho.push.register"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Register; type Response = RegisterResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/server.rs b/crates/jacquard-api/src/app_ocho/server.rs index 3990dc83e..2605dd6cf 100644 --- a/crates/jacquard-api/src/app_ocho/server.rs +++ b/crates/jacquard-api/src/app_ocho/server.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `app.ocho.server` Lexicon namespace/module. pub mod get_launch_token; pub mod get_token; -pub mod swap_launch_token; +pub mod swap_launch_token; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/server/get_launch_token.rs b/crates/jacquard-api/src/app_ocho/server/get_launch_token.rs index 11f76e7a9..96729a94f 100644 --- a/crates/jacquard-api/src/app_ocho/server/get_launch_token.rs +++ b/crates/jacquard-api/src/app_ocho/server/get_launch_token.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLaunchToken { pub aud: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLaunchTokenOutput { pub token: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLaunchTokenRequest { pub mod get_launch_token_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -98,7 +93,10 @@ pub mod get_launch_token_state { } /// Builder for constructing an instance of this type. -pub struct GetLaunchTokenBuilder { +pub struct GetLaunchTokenBuilder< + St: get_launch_token_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -170,4 +168,4 @@ where aud: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/server/get_token.rs b/crates/jacquard-api/src/app_ocho/server/get_token.rs index 6b2043a8f..9055e3609 100644 --- a/crates/jacquard-api/src/app_ocho/server/get_token.rs +++ b/crates/jacquard-api/src/app_ocho/server/get_token.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetToken { pub aud: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTokenOutput { pub token: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTokenRequest { pub mod get_token_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -170,4 +165,4 @@ where aud: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/server/swap_launch_token.rs b/crates/jacquard-api/src/app_ocho/server/swap_launch_token.rs index e321387bc..eaf03dca6 100644 --- a/crates/jacquard-api/src/app_ocho/server/swap_launch_token.rs +++ b/crates/jacquard-api/src/app_ocho/server/swap_launch_token.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SwapLaunchToken { pub launch_token: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SwapLaunchTokenOutput { ///The did of the user #[serde(skip_serializing_if = "Option::is_none")] @@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for SwapLaunchTokenRequest { pub mod swap_launch_token_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,7 +100,10 @@ pub mod swap_launch_token_state { } /// Builder for constructing an instance of this type. -pub struct SwapLaunchTokenBuilder { +pub struct SwapLaunchTokenBuilder< + St: swap_launch_token_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -177,4 +175,4 @@ where launch_token: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/state.rs b/crates/jacquard-api/src/app_ocho/state.rs index 608a57cee..e42b48ab5 100644 --- a/crates/jacquard-api/src/app_ocho/state.rs +++ b/crates/jacquard-api/src/app_ocho/state.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `app.ocho.state` Lexicon namespace/module. pub mod get_config; -pub mod login; +pub mod login; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/state/get_config.rs b/crates/jacquard-api/src/app_ocho/state/get_config.rs index 9cfaf7768..af1fb3157 100644 --- a/crates/jacquard-api/src/app_ocho/state/get_config.rs +++ b/crates/jacquard-api/src/app_ocho/state/get_config.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConfigOutput { ///The token for the InstantDB account pub account_token: S, @@ -32,9 +29,18 @@ pub struct GetConfigOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetConfigError { #[serde(rename = "InvalidID")] @@ -43,10 +49,7 @@ pub enum GetConfigError { InvalidServiceAuth(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetConfigError { @@ -109,4 +112,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConfigRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetConfig; type Response = GetConfigResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_ocho/state/login.rs b/crates/jacquard-api/src/app_ocho/state/login.rs index 9992bea8d..72b003fa1 100644 --- a/crates/jacquard-api/src/app_ocho/state/login.rs +++ b/crates/jacquard-api/src/app_ocho/state/login.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LoginOutput { ///The code used to login on the InstantDB website pub code: S, @@ -60,4 +57,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for LoginRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = Login; type Response = LoginResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint.rs b/crates/jacquard-api/src/app_offprint.rs index b5f9d0581..e6210b831 100644 --- a/crates/jacquard-api/src/app_offprint.rs +++ b/crates/jacquard-api/src/app_offprint.rs @@ -7,4 +7,4 @@ pub mod block; pub mod content; pub mod document; -pub mod publication; +pub mod publication; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block.rs b/crates/jacquard-api/src/app_offprint/block.rs index f882662e2..6feb72fc7 100644 --- a/crates/jacquard-api/src/app_offprint/block.rs +++ b/crates/jacquard-api/src/app_offprint/block.rs @@ -17,4 +17,4 @@ pub mod ordered_list; pub mod task_list; pub mod text; pub mod web_bookmark; -pub mod web_embed; +pub mod web_embed; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/blockquote.rs b/crates/jacquard-api/src/app_offprint/block/blockquote.rs index 09d977d07..f312908fd 100644 --- a/crates/jacquard-api/src/app_offprint/block/blockquote.rs +++ b/crates/jacquard-api/src/app_offprint/block/blockquote.rs @@ -20,17 +20,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::heading::Heading; -use crate::app_offprint::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::heading::Heading; +use crate::app_offprint::block::text::Text; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Blockquote { ///Nested content blocks within the blockquote pub content: Vec>, @@ -38,6 +35,7 @@ pub struct Blockquote { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -65,7 +63,7 @@ impl LexiconSchema for Blockquote { pub mod blockquote_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -170,7 +168,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Blockquote { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Blockquote { Blockquote { content: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -179,10 +180,10 @@ where } fn lexicon_doc_app_offprint_block_blockquote() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.blockquote"), @@ -198,13 +199,15 @@ fn lexicon_doc_app_offprint_block_blockquote() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Nested content blocks within the blockquote", - )), + description: Some( + CowStr::new_static( + "Nested content blocks within the blockquote", + ), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("app.offprint.block.text"), - CowStr::new_static("app.offprint.block.heading"), + CowStr::new_static("app.offprint.block.heading") ], ..Default::default() }), @@ -220,4 +223,4 @@ fn lexicon_doc_app_offprint_block_blockquote() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/bullet_list.rs b/crates/jacquard-api/src/app_offprint/block/bullet_list.rs index 0929d0278..f428b9873 100644 --- a/crates/jacquard-api/src/app_offprint/block/bullet_list.rs +++ b/crates/jacquard-api/src/app_offprint/block/bullet_list.rs @@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::bullet_list; -use crate::app_offprint::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::text::Text; +use crate::app_offprint::block::bullet_list; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListItem { ///Nested list items #[serde(skip_serializing_if = "Option::is_none")] @@ -41,11 +38,9 @@ pub struct ListItem { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BulletList { ///List items pub children: Vec>, @@ -85,7 +80,7 @@ impl LexiconSchema for BulletList { pub mod list_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -160,12 +155,18 @@ impl ListItemBuilder { impl ListItemBuilder { /// Set the `children` field (optional) - pub fn children(mut self, value: impl Into>>>) -> Self { + pub fn children( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `children` field to an Option value (optional) - pub fn maybe_children(mut self, value: Option>>) -> Self { + pub fn maybe_children( + mut self, + value: Option>>, + ) -> Self { self._fields.0 = value; self } @@ -214,10 +215,10 @@ where } fn lexicon_doc_app_offprint_block_bulletList() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.bulletList"), @@ -284,7 +285,7 @@ fn lexicon_doc_app_offprint_block_bulletList() -> LexiconDoc<'static> { pub mod bullet_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -389,10 +390,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BulletList { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BulletList { BulletList { children: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/callout.rs b/crates/jacquard-api/src/app_offprint/block/callout.rs index ff53ea2d2..733f666c6 100644 --- a/crates/jacquard-api/src/app_offprint/block/callout.rs +++ b/crates/jacquard-api/src/app_offprint/block/callout.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Callout { ///Background color (CSS color value) #[serde(skip_serializing_if = "Option::is_none")] @@ -63,10 +60,10 @@ fn _default_callout_emoji() -> ::core::option::Option { } fn lexicon_doc_app_offprint_block_callout() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.callout"), @@ -82,23 +79,27 @@ fn lexicon_doc_app_offprint_block_callout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("color"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Background color (CSS color value)", - )), + description: Some( + CowStr::new_static("Background color (CSS color value)"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("emoji"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Emoji icon for the callout")), + description: Some( + CowStr::new_static("Emoji icon for the callout"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Facets for text formatting")), + description: Some( + CowStr::new_static("Facets for text formatting"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.offprint.richtext.facet"), ..Default::default() @@ -109,7 +110,9 @@ fn lexicon_doc_app_offprint_block_callout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("plaintext"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The callout text content")), + description: Some( + CowStr::new_static("The callout text content"), + ), ..Default::default() }), ); @@ -122,4 +125,4 @@ fn lexicon_doc_app_offprint_block_callout() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/code_block.rs b/crates/jacquard-api/src/app_offprint/block/code_block.rs index 5c1b61a5a..4ddc8d702 100644 --- a/crates/jacquard-api/src/app_offprint/block/code_block.rs +++ b/crates/jacquard-api/src/app_offprint/block/code_block.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CodeBlock { ///The code content pub code: S, @@ -60,10 +57,10 @@ fn _default_code_block_show_line_numbers() -> Option { } fn lexicon_doc_app_offprint_block_codeBlock() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.codeBlock"), @@ -86,9 +83,11 @@ fn lexicon_doc_app_offprint_block_codeBlock() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("language"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Programming language for syntax highlighting", - )), + description: Some( + CowStr::new_static( + "Programming language for syntax highlighting", + ), + ), ..Default::default() }), ); @@ -107,4 +106,4 @@ fn lexicon_doc_app_offprint_block_codeBlock() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/heading.rs b/crates/jacquard-api/src/app_offprint/block/heading.rs index 62ab1df8f..ef93afaf0 100644 --- a/crates/jacquard-api/src/app_offprint/block/heading.rs +++ b/crates/jacquard-api/src/app_offprint/block/heading.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,13 +22,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Heading { ///Facets for text formatting #[serde(skip_serializing_if = "Option::is_none")] @@ -81,7 +78,7 @@ impl LexiconSchema for Heading { pub mod heading_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -259,10 +256,10 @@ where } fn lexicon_doc_app_offprint_block_heading() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.heading"), @@ -271,17 +268,21 @@ fn lexicon_doc_app_offprint_block_heading() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("plaintext"), - SmolStr::new_static("level"), - ]), + required: Some( + vec![ + SmolStr::new_static("plaintext"), + SmolStr::new_static("level") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Facets for text formatting")), + description: Some( + CowStr::new_static("Facets for text formatting"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.offprint.richtext.facet"), ..Default::default() @@ -300,7 +301,9 @@ fn lexicon_doc_app_offprint_block_heading() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("plaintext"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The heading text content")), + description: Some( + CowStr::new_static("The heading text content"), + ), ..Default::default() }), ); @@ -320,4 +323,4 @@ fn lexicon_doc_app_offprint_block_heading() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/image.rs b/crates/jacquard-api/src/app_offprint/block/image.rs index 892ecfa5f..31a355afd 100644 --- a/crates/jacquard-api/src/app_offprint/block/image.rs +++ b/crates/jacquard-api/src/app_offprint/block/image.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::image; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::image; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { pub height: i64, pub width: i64, @@ -38,11 +35,9 @@ pub struct AspectRatio { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Image { ///Horizontal alignment #[serde(skip_serializing_if = "Option::is_none")] @@ -142,16 +137,19 @@ impl LexiconSchema for Image { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blob"), @@ -167,7 +165,7 @@ impl LexiconSchema for Image { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -305,7 +303,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -315,10 +316,10 @@ where } fn lexicon_doc_app_offprint_block_image() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.image"), @@ -327,10 +328,9 @@ fn lexicon_doc_app_offprint_block_image() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("width"), - SmolStr::new_static("height"), - ]), + required: Some( + vec![SmolStr::new_static("width"), SmolStr::new_static("height")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -362,14 +362,18 @@ fn lexicon_doc_app_offprint_block_image() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alignment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Horizontal alignment")), + description: Some( + CowStr::new_static("Horizontal alignment"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Alt text for accessibility")), + description: Some( + CowStr::new_static("Alt text for accessibility"), + ), max_graphemes: Some(300usize), ..Default::default() }), @@ -383,9 +387,7 @@ fn lexicon_doc_app_offprint_block_image() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("blob"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("caption"), @@ -397,9 +399,9 @@ fn lexicon_doc_app_offprint_block_image() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("captionFacets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Facets for caption formatting", - )), + description: Some( + CowStr::new_static("Facets for caption formatting"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.offprint.richtext.facet"), ..Default::default() @@ -410,9 +412,11 @@ fn lexicon_doc_app_offprint_block_image() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("width"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "CSS width value (e.g., \"50%\", \"300px\")", - )), + description: Some( + CowStr::new_static( + "CSS width value (e.g., \"50%\", \"300px\")", + ), + ), ..Default::default() }), ); @@ -425,4 +429,4 @@ fn lexicon_doc_app_offprint_block_image() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/image_carousel.rs b/crates/jacquard-api/src/app_offprint/block/image_carousel.rs index 0eaccddf7..0f8d646ae 100644 --- a/crates/jacquard-api/src/app_offprint/block/image_carousel.rs +++ b/crates/jacquard-api/src/app_offprint/block/image_carousel.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::image_grid::GridImage; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::image_grid::GridImage; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageCarousel { ///Auto-advance slides Defaults to `false`. #[serde(skip_serializing_if = "Option::is_none")] @@ -95,7 +92,7 @@ fn _default_image_carousel_interval() -> Option { pub mod image_carousel_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -126,14 +123,12 @@ pub mod image_carousel_state { } /// Builder for constructing an instance of this type. -pub struct ImageCarouselBuilder { +pub struct ImageCarouselBuilder< + St: image_carousel_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>>, - Option, - ), + _fields: (Option, Option, Option>>, Option), _type: PhantomData S>, } @@ -247,7 +242,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageCarousel { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageCarousel { ImageCarousel { autoplay: self._fields.0.or_else(|| Some(false)), caption: self._fields.1, @@ -259,10 +257,10 @@ where } fn lexicon_doc_app_offprint_block_imageCarousel() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.imageCarousel"), @@ -291,9 +289,9 @@ fn lexicon_doc_app_offprint_block_imageCarousel() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("images"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of images in the carousel (2-6)", - )), + description: Some( + CowStr::new_static("Array of images in the carousel (2-6)"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static( "app.offprint.block.imageGrid#gridImage", @@ -320,4 +318,4 @@ fn lexicon_doc_app_offprint_block_imageCarousel() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/image_diff.rs b/crates/jacquard-api/src/app_offprint/block/image_diff.rs index b57a928f8..ff7f4ef4a 100644 --- a/crates/jacquard-api/src/app_offprint/block/image_diff.rs +++ b/crates/jacquard-api/src/app_offprint/block/image_diff.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::image_grid::GridImage; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::image_grid::GridImage; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageDiff { ///Horizontal alignment #[serde(skip_serializing_if = "Option::is_none")] @@ -108,7 +105,7 @@ impl LexiconSchema for ImageDiff { pub mod image_diff_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -275,7 +272,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageDiff { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageDiff { ImageDiff { alignment: self._fields.0, caption: self._fields.1, @@ -288,10 +288,10 @@ where } fn lexicon_doc_app_offprint_block_imageDiff() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.imageDiff"), @@ -307,7 +307,9 @@ fn lexicon_doc_app_offprint_block_imageDiff() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alignment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Horizontal alignment")), + description: Some( + CowStr::new_static("Horizontal alignment"), + ), ..Default::default() }), ); @@ -321,9 +323,11 @@ fn lexicon_doc_app_offprint_block_imageDiff() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("images"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Exactly 2 images for comparison [before, after]", - )), + description: Some( + CowStr::new_static( + "Exactly 2 images for comparison [before, after]", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static( "app.offprint.block.imageGrid#gridImage", @@ -338,9 +342,11 @@ fn lexicon_doc_app_offprint_block_imageDiff() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("labels"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Labels for the images [before label, after label]", - )), + description: Some( + CowStr::new_static( + "Labels for the images [before label, after label]", + ), + ), items: LexArrayItem::String(LexString { ..Default::default() }), @@ -365,4 +371,4 @@ fn lexicon_doc_app_offprint_block_imageDiff() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/image_grid.rs b/crates/jacquard-api/src/app_offprint/block/image_grid.rs index c098c3856..968a54d2f 100644 --- a/crates/jacquard-api/src/app_offprint/block/image_grid.rs +++ b/crates/jacquard-api/src/app_offprint/block/image_grid.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::image::AspectRatio; -use crate::app_offprint::block::image_grid; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::image::AspectRatio; +use crate::app_offprint::block::image_grid; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GridImage { #[serde(skip_serializing_if = "Option::is_none")] pub alt: Option, @@ -43,11 +40,9 @@ pub struct GridImage { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageGrid { ///Aspect ratio mode #[serde(skip_serializing_if = "Option::is_none")] @@ -103,16 +98,19 @@ impl LexiconSchema for GridImage { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blob"), @@ -182,10 +180,10 @@ impl LexiconSchema for ImageGrid { } fn lexicon_doc_app_offprint_block_imageGrid() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.imageGrid"), @@ -207,15 +205,15 @@ fn lexicon_doc_app_offprint_block_imageGrid() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.offprint.block.image#aspectRatio"), + r#ref: CowStr::new_static( + "app.offprint.block.image#aspectRatio", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("blob"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -254,9 +252,9 @@ fn lexicon_doc_app_offprint_block_imageGrid() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("images"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of images in the grid (2-6)", - )), + description: Some( + CowStr::new_static("Array of images in the grid (2-6)"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#gridImage"), ..Default::default() @@ -279,7 +277,7 @@ fn lexicon_doc_app_offprint_block_imageGrid() -> LexiconDoc<'static> { pub mod image_grid_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -312,12 +310,7 @@ pub mod image_grid_state { /// Builder for constructing an instance of this type. pub struct ImageGridBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option>>, - ), + _fields: (Option, Option, Option, Option>>), _type: PhantomData S>, } @@ -431,7 +424,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageGrid { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageGrid { ImageGrid { aspect_ratio: self._fields.0, caption: self._fields.1, @@ -440,4 +436,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/ordered_list.rs b/crates/jacquard-api/src/app_offprint/block/ordered_list.rs index 57a4b63d3..4c0bdc35b 100644 --- a/crates/jacquard-api/src/app_offprint/block/ordered_list.rs +++ b/crates/jacquard-api/src/app_offprint/block/ordered_list.rs @@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::ordered_list; -use crate::app_offprint::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::text::Text; +use crate::app_offprint::block::ordered_list; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListItem { ///Nested list items #[serde(skip_serializing_if = "Option::is_none")] @@ -41,11 +38,9 @@ pub struct ListItem { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct OrderedList { ///List items pub children: Vec>, @@ -89,7 +84,7 @@ impl LexiconSchema for OrderedList { pub mod list_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -164,12 +159,18 @@ impl ListItemBuilder { impl ListItemBuilder { /// Set the `children` field (optional) - pub fn children(mut self, value: impl Into>>>) -> Self { + pub fn children( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `children` field to an Option value (optional) - pub fn maybe_children(mut self, value: Option>>) -> Self { + pub fn maybe_children( + mut self, + value: Option>>, + ) -> Self { self._fields.0 = value; self } @@ -218,10 +219,10 @@ where } fn lexicon_doc_app_offprint_block_orderedList() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.orderedList"), @@ -298,7 +299,7 @@ fn _default_ordered_list_start() -> Option { pub mod ordered_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -417,11 +418,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> OrderedList { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> OrderedList { OrderedList { children: self._fields.0.unwrap(), start: self._fields.1.or_else(|| Some(1i64)), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/task_list.rs b/crates/jacquard-api/src/app_offprint/block/task_list.rs index 37097e2b1..138502b5e 100644 --- a/crates/jacquard-api/src/app_offprint/block/task_list.rs +++ b/crates/jacquard-api/src/app_offprint/block/task_list.rs @@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_offprint::block::task_list; -use crate::app_offprint::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_offprint::block::text::Text; +use crate::app_offprint::block::task_list; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TaskList { ///Task items pub children: Vec>, @@ -38,11 +35,9 @@ pub struct TaskList { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TaskItem { ///Whether the task is completed pub checked: bool, @@ -87,7 +82,7 @@ impl LexiconSchema for TaskItem { pub mod task_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -201,10 +196,10 @@ where } fn lexicon_doc_app_offprint_block_taskList() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.taskList"), @@ -236,10 +231,12 @@ fn lexicon_doc_app_offprint_block_taskList() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("taskItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("content"), - SmolStr::new_static("checked"), - ]), + required: Some( + vec![ + SmolStr::new_static("content"), + SmolStr::new_static("checked") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -280,7 +277,7 @@ fn lexicon_doc_app_offprint_block_taskList() -> LexiconDoc<'static> { pub mod task_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -325,11 +322,7 @@ pub mod task_item_state { /// Builder for constructing an instance of this type. pub struct TaskItemBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>>, - Option>, - ), + _fields: (Option, Option>>, Option>), _type: PhantomData S>, } @@ -390,7 +383,10 @@ where impl TaskItemBuilder { /// Set the `children` field (optional) - pub fn children(mut self, value: impl Into>>>) -> Self { + pub fn children( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -444,4 +440,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/text.rs b/crates/jacquard-api/src/app_offprint/block/text.rs index ad2ed3bb9..8bf1d86d4 100644 --- a/crates/jacquard-api/src/app_offprint/block/text.rs +++ b/crates/jacquard-api/src/app_offprint/block/text.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Text { ///Facets for text formatting #[serde(skip_serializing_if = "Option::is_none")] @@ -55,10 +52,10 @@ impl LexiconSchema for Text { } fn lexicon_doc_app_offprint_block_text() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.text"), @@ -74,7 +71,9 @@ fn lexicon_doc_app_offprint_block_text() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Facets for text formatting")), + description: Some( + CowStr::new_static("Facets for text formatting"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.offprint.richtext.facet"), ..Default::default() @@ -85,7 +84,9 @@ fn lexicon_doc_app_offprint_block_text() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("plaintext"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The plain text content")), + description: Some( + CowStr::new_static("The plain text content"), + ), ..Default::default() }), ); @@ -105,4 +106,4 @@ fn lexicon_doc_app_offprint_block_text() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/web_bookmark.rs b/crates/jacquard-api/src/app_offprint/block/web_bookmark.rs index 407b27f41..bca7e2c9f 100644 --- a/crates/jacquard-api/src/app_offprint/block/web_bookmark.rs +++ b/crates/jacquard-api/src/app_offprint/block/web_bookmark.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,13 +24,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct WebBookmark { ///Page description/excerpt #[serde(skip_serializing_if = "Option::is_none")] @@ -88,16 +85,19 @@ impl LexiconSchema for WebBookmark { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("preview"), @@ -138,7 +138,7 @@ impl LexiconSchema for WebBookmark { pub mod web_bookmark_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -183,13 +183,7 @@ pub mod web_bookmark_state { /// Builder for constructing an instance of this type. pub struct WebBookmarkBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - Option, - ), + _fields: (Option, Option>, Option>, Option, Option), _type: PhantomData S>, } @@ -324,7 +318,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> WebBookmark { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> WebBookmark { WebBookmark { description: self._fields.0, href: self._fields.1.unwrap(), @@ -337,10 +334,10 @@ where } fn lexicon_doc_app_offprint_block_webBookmark() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.webBookmark"), @@ -349,17 +346,18 @@ fn lexicon_doc_app_offprint_block_webBookmark() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("href"), - SmolStr::new_static("title"), - ]), + required: Some( + vec![SmolStr::new_static("href"), SmolStr::new_static("title")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Page description/excerpt")), + description: Some( + CowStr::new_static("Page description/excerpt"), + ), max_graphemes: Some(1000usize), ..Default::default() }), @@ -367,23 +365,23 @@ fn lexicon_doc_app_offprint_block_webBookmark() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("href"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the bookmarked page", - )), + description: Some( + CowStr::new_static("The URL of the bookmarked page"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), ); map.insert( SmolStr::new_static("preview"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("siteName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Name of the website")), + description: Some( + CowStr::new_static("Name of the website"), + ), max_graphemes: Some(100usize), ..Default::default() }), @@ -405,4 +403,4 @@ fn lexicon_doc_app_offprint_block_webBookmark() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/block/web_embed.rs b/crates/jacquard-api/src/app_offprint/block/web_embed.rs index c1f720477..e34d7bac0 100644 --- a/crates/jacquard-api/src/app_offprint/block/web_embed.rs +++ b/crates/jacquard-api/src/app_offprint/block/web_embed.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,13 +24,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct WebEmbed { ///Horizontal alignment #[serde(skip_serializing_if = "Option::is_none")] @@ -122,16 +119,19 @@ impl LexiconSchema for WebEmbed { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("preview"), @@ -171,7 +171,7 @@ impl LexiconSchema for WebEmbed { pub mod web_embed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -431,10 +431,10 @@ where } fn lexicon_doc_app_offprint_block_webEmbed() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.block.webEmbed"), @@ -450,14 +450,18 @@ fn lexicon_doc_app_offprint_block_webEmbed() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alignment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Horizontal alignment")), + description: Some( + CowStr::new_static("Horizontal alignment"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Page description/excerpt")), + description: Some( + CowStr::new_static("Page description/excerpt"), + ), max_graphemes: Some(1000usize), ..Default::default() }), @@ -472,9 +476,9 @@ fn lexicon_doc_app_offprint_block_webEmbed() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("embedUrl"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "oEmbed URL for iframe embedding", - )), + description: Some( + CowStr::new_static("oEmbed URL for iframe embedding"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -489,23 +493,23 @@ fn lexicon_doc_app_offprint_block_webEmbed() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("href"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the embedded page", - )), + description: Some( + CowStr::new_static("The URL of the embedded page"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), ); map.insert( SmolStr::new_static("preview"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("siteName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Name of the website")), + description: Some( + CowStr::new_static("Name of the website"), + ), max_graphemes: Some(100usize), ..Default::default() }), @@ -521,9 +525,11 @@ fn lexicon_doc_app_offprint_block_webEmbed() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("width"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "CSS width value (e.g., \"100%\", \"75%\". \"50%\" minimum)", - )), + description: Some( + CowStr::new_static( + "CSS width value (e.g., \"100%\", \"75%\". \"50%\" minimum)", + ), + ), ..Default::default() }), ); @@ -536,4 +542,4 @@ fn lexicon_doc_app_offprint_block_webEmbed() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/content.rs b/crates/jacquard-api/src/app_offprint/content.rs index 62f5fe071..02bd828af 100644 --- a/crates/jacquard-api/src/app_offprint/content.rs +++ b/crates/jacquard-api/src/app_offprint/content.rs @@ -20,6 +20,9 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_offprint::block::blockquote::Blockquote; use crate::app_offprint::block::bullet_list::BulletList; use crate::app_offprint::block::callout::Callout; @@ -32,15 +35,9 @@ use crate::app_offprint::block::image_grid::ImageGrid; use crate::app_offprint::block::ordered_list::OrderedList; use crate::app_offprint::block::task_list::TaskList; use crate::app_offprint::block::text::Text; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Content { ///Array of content blocks pub items: Vec>, @@ -48,6 +45,7 @@ pub struct Content { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -95,7 +93,7 @@ impl LexiconSchema for Content { pub mod content_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -209,10 +207,10 @@ where } fn lexicon_doc_app_offprint_content() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.content"), @@ -228,7 +226,9 @@ fn lexicon_doc_app_offprint_content() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("items"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Array of content blocks")), + description: Some( + CowStr::new_static("Array of content blocks"), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("app.offprint.block.text"), @@ -243,7 +243,7 @@ fn lexicon_doc_app_offprint_content() -> LexiconDoc<'static> { CowStr::new_static("app.offprint.block.image"), CowStr::new_static("app.offprint.block.imageGrid"), CowStr::new_static("app.offprint.block.imageCarousel"), - CowStr::new_static("app.offprint.block.imageDiff"), + CowStr::new_static("app.offprint.block.imageDiff") ], ..Default::default() }), @@ -259,4 +259,4 @@ fn lexicon_doc_app_offprint_content() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/document.rs b/crates/jacquard-api/src/app_offprint/document.rs index 6b01a6bfe..1cf3573eb 100644 --- a/crates/jacquard-api/src/app_offprint/document.rs +++ b/crates/jacquard-api/src/app_offprint/document.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.offprint.document` Lexicon namespace/module. -pub mod article; +pub mod article; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/document/article.rs b/crates/jacquard-api/src/app_offprint/document/article.rs index 3f7fdff11..378a4424e 100644 --- a/crates/jacquard-api/src/app_offprint/document/article.rs +++ b/crates/jacquard-api/src/app_offprint/document/article.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -104,7 +104,7 @@ impl LexiconSchema for Article { pub mod article_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -218,10 +218,10 @@ where } fn lexicon_doc_app_offprint_document_article() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.document.article"), @@ -254,4 +254,4 @@ fn lexicon_doc_app_offprint_document_article() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_offprint/publication.rs b/crates/jacquard-api/src/app_offprint/publication.rs index 38491cd06..0b9baaa0a 100644 --- a/crates/jacquard-api/src/app_offprint/publication.rs +++ b/crates/jacquard-api/src/app_offprint/publication.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -103,7 +103,7 @@ impl LexiconSchema for Publication { pub mod publication_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -208,7 +208,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Publication { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Publication { Publication { publication: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -217,10 +220,10 @@ where } fn lexicon_doc_app_offprint_publication() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.offprint.publication"), @@ -258,4 +261,4 @@ fn lexicon_doc_app_offprint_publication() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_openmkt.rs b/crates/jacquard-api/src/app_openmkt.rs index 43192ffba..b2cd525fe 100644 --- a/crates/jacquard-api/src/app_openmkt.rs +++ b/crates/jacquard-api/src/app_openmkt.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.openmkt` Lexicon namespace/module. -pub mod marketplace; +pub mod marketplace; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_openmkt/marketplace.rs b/crates/jacquard-api/src/app_openmkt/marketplace.rs index a3181ae97..61f8fdc10 100644 --- a/crates/jacquard-api/src/app_openmkt/marketplace.rs +++ b/crates/jacquard-api/src/app_openmkt/marketplace.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.openmkt.marketplace` Lexicon namespace/module. -pub mod listing; +pub mod listing; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_openmkt/marketplace/listing.rs b/crates/jacquard-api/src/app_openmkt/marketplace/listing.rs index 2a9b3fdbc..3fd83d4cb 100644 --- a/crates/jacquard-api/src/app_openmkt/marketplace/listing.rs +++ b/crates/jacquard-api/src/app_openmkt/marketplace/listing.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_openmkt::marketplace::listing; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_openmkt::marketplace::listing; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LocationObj { #[serde(skip_serializing_if = "Option::is_none")] pub county: Option, @@ -48,6 +45,7 @@ pub struct LocationObj { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( rename_all = "camelCase", @@ -90,11 +88,9 @@ pub struct ListingGetRecordOutput { pub value: Listing, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MetadataObj { #[serde(skip_serializing_if = "Option::is_none")] pub subcategory: Option, @@ -212,10 +208,10 @@ impl LexiconSchema for MetadataObj { } fn lexicon_doc_app_openmkt_marketplace_listing() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.openmkt.marketplace.listing"), @@ -229,27 +225,19 @@ fn lexicon_doc_app_openmkt_marketplace_listing() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("county"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("locality"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("state"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("zipPrefix"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -368,9 +356,7 @@ fn lexicon_doc_app_openmkt_marketplace_listing() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("subcategory"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -385,7 +371,7 @@ fn lexicon_doc_app_openmkt_marketplace_listing() -> LexiconDoc<'static> { pub mod listing_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -513,9 +499,7 @@ impl ListingBuilder { pub fn new() -> Self { ListingBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -526,9 +510,7 @@ impl ListingBuilder { pub fn builder() -> Self { ListingBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -658,7 +640,10 @@ where impl ListingBuilder { /// Set the `metadata` field (optional) - pub fn metadata(mut self, value: impl Into>>) -> Self { + pub fn metadata( + mut self, + value: impl Into>>, + ) -> Self { self._fields.8 = value.into(); self } @@ -675,7 +660,10 @@ where St::Price: listing_state::IsUnset, { /// Set the `price` field (required) - pub fn price(mut self, value: impl Into) -> ListingBuilder, S> { + pub fn price( + mut self, + value: impl Into, + ) -> ListingBuilder, S> { self._fields.9 = Option::Some(value.into()); ListingBuilder { _state: PhantomData, @@ -691,7 +679,10 @@ where St::Title: listing_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ListingBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ListingBuilder, S> { self._fields.10 = Option::Some(value.into()); ListingBuilder { _state: PhantomData, @@ -744,4 +735,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg.rs b/crates/jacquard-api/src/app_protoimsg.rs index 0e8b14f3e..ad1e29527 100644 --- a/crates/jacquard-api/src/app_protoimsg.rs +++ b/crates/jacquard-api/src/app_protoimsg.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.protoimsg` Lexicon namespace/module. -pub mod chat; +pub mod chat; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat.rs b/crates/jacquard-api/src/app_protoimsg/chat.rs index 6fbb15310..e7c2404db 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat.rs @@ -14,4 +14,4 @@ pub mod poll; pub mod presence; pub mod role; pub mod room; -pub mod vote; +pub mod vote; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/allowlist.rs b/crates/jacquard-api/src/app_protoimsg/chat/allowlist.rs index c9f9df5b5..11991ad1a 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/allowlist.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/allowlist.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// An allowlist entry for a room. When the room has allowlistEnabled, only allowlisted users can send messages. Lives in the room owner/mod's repo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +108,7 @@ impl LexiconSchema for Allowlist { pub mod allowlist_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -281,7 +281,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Allowlist { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Allowlist { Allowlist { created_at: self._fields.0.unwrap(), room: self._fields.1.unwrap(), @@ -292,10 +295,10 @@ where } fn lexicon_doc_app_protoimsg_chat_allowlist() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.allowlist"), @@ -363,4 +366,4 @@ fn lexicon_doc_app_protoimsg_chat_allowlist() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/auth_verify.rs b/crates/jacquard-api/src/app_protoimsg/chat/auth_verify.rs index 662665377..7243f8bfc 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/auth_verify.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/auth_verify.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Ephemeral challenge-response auth record. Client writes this to prove PDS write access during login, server verifies the nonce, then client deletes it immediately. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for AuthVerify { pub mod auth_verify_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -244,7 +244,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AuthVerify { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AuthVerify { AuthVerify { created_at: self._fields.0.unwrap(), nonce: self._fields.1.unwrap(), @@ -254,10 +257,10 @@ where } fn lexicon_doc_app_protoimsg_chat_authVerify() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.authVerify"), @@ -316,4 +319,4 @@ fn lexicon_doc_app_protoimsg_chat_authVerify() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/ban.rs b/crates/jacquard-api/src/app_protoimsg/chat/ban.rs index a2c1b3bc3..7004dbf07 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/ban.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/ban.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A ban issued by a room owner or moderator. Lives in the issuer's repo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -121,7 +121,7 @@ impl LexiconSchema for Ban { pub mod ban_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -180,12 +180,7 @@ pub mod ban_state { /// Builder for constructing an instance of this type. pub struct BanBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - ), + _fields: (Option, Option, Option>, Option>), _type: PhantomData S>, } @@ -263,7 +258,10 @@ where St::Room: ban_state::IsUnset, { /// Set the `room` field (required) - pub fn room(mut self, value: impl Into>) -> BanBuilder, S> { + pub fn room( + mut self, + value: impl Into>, + ) -> BanBuilder, S> { self._fields.2 = Option::Some(value.into()); BanBuilder { _state: PhantomData, @@ -279,7 +277,10 @@ where St::Subject: ban_state::IsUnset, { /// Set the `subject` field (required) - pub fn subject(mut self, value: impl Into>) -> BanBuilder, S> { + pub fn subject( + mut self, + value: impl Into>, + ) -> BanBuilder, S> { self._fields.3 = Option::Some(value.into()); BanBuilder { _state: PhantomData, @@ -319,10 +320,10 @@ where } fn lexicon_doc_app_protoimsg_chat_ban() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.ban"), @@ -331,16 +332,19 @@ fn lexicon_doc_app_protoimsg_chat_ban() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A ban issued by a room owner or moderator. Lives in the issuer's repo.", - )), + description: Some( + CowStr::new_static( + "A ban issued by a room owner or moderator. Lives in the issuer's repo.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("room"), - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("room"), SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -355,7 +359,9 @@ fn lexicon_doc_app_protoimsg_chat_ban() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reason"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Reason for the ban.")), + description: Some( + CowStr::new_static("Reason for the ban."), + ), max_length: Some(300usize), ..Default::default() }), @@ -363,9 +369,9 @@ fn lexicon_doc_app_protoimsg_chat_ban() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("room"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the room the ban applies to.", - )), + description: Some( + CowStr::new_static("AT-URI of the room the ban applies to."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -373,9 +379,9 @@ fn lexicon_doc_app_protoimsg_chat_ban() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the banned user.", - )), + description: Some( + CowStr::new_static("DID of the banned user."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -391,4 +397,4 @@ fn lexicon_doc_app_protoimsg_chat_ban() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/channel.rs b/crates/jacquard-api/src/app_protoimsg/chat/channel.rs index 2ba634140..c08419c22 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/channel.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/channel.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A channel within a chat room. Created by the room owner. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -230,7 +230,7 @@ impl LexiconSchema for Channel { pub mod channel_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -374,7 +374,10 @@ where St::Name: channel_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ChannelBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ChannelBuilder, S> { self._fields.2 = Option::Some(value.into()); ChannelBuilder { _state: PhantomData, @@ -399,7 +402,10 @@ impl ChannelBuilder { impl ChannelBuilder { /// Set the `postPolicy` field (optional) - pub fn post_policy(mut self, value: impl Into>>) -> Self { + pub fn post_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -463,10 +469,10 @@ where } fn lexicon_doc_app_protoimsg_chat_channel() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.channel"), @@ -475,25 +481,28 @@ fn lexicon_doc_app_protoimsg_chat_channel() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A channel within a chat room. Created by the room owner.", - )), + description: Some( + CowStr::new_static( + "A channel within a chat room. Created by the room owner.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("room"), - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("room"), SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of channel creation.", - )), + description: Some( + CowStr::new_static("Timestamp of channel creation."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -501,9 +510,9 @@ fn lexicon_doc_app_protoimsg_chat_channel() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "What the channel is about.", - )), + description: Some( + CowStr::new_static("What the channel is about."), + ), max_length: Some(500usize), ..Default::default() }), @@ -511,9 +520,9 @@ fn lexicon_doc_app_protoimsg_chat_channel() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name for the channel.", - )), + description: Some( + CowStr::new_static("Display name for the channel."), + ), max_length: Some(100usize), ..Default::default() }), @@ -528,18 +537,20 @@ fn lexicon_doc_app_protoimsg_chat_channel() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("postPolicy"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Who can post messages in this channel.", - )), + description: Some( + CowStr::new_static("Who can post messages in this channel."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("room"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the room this channel belongs to.", - )), + description: Some( + CowStr::new_static( + "AT-URI of the room this channel belongs to.", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -555,4 +566,4 @@ fn lexicon_doc_app_protoimsg_chat_channel() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/community.rs b/crates/jacquard-api/src/app_protoimsg/chat/community.rs index 3c7716867..23cd4f8de 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/community.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/community.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_protoimsg::chat::community; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_protoimsg::chat::community; /// A named group of community members. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CommunityGroup { ///Whether this is an inner circle group for presence visibility. Defaults to `false`. #[serde(skip_serializing_if = "Option::is_none")] @@ -51,10 +48,7 @@ pub struct CommunityGroup { /// A member in a community group. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CommunityMember { ///When this member was added. pub added_at: Datetime, @@ -208,7 +202,7 @@ fn _default_community_group_is_inner_circle() -> Option { pub mod community_group_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -251,13 +245,12 @@ pub mod community_group_state { } /// Builder for constructing an instance of this type. -pub struct CommunityGroupBuilder { +pub struct CommunityGroupBuilder< + St: community_group_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option>>, - Option, - ), + _fields: (Option, Option>>, Option), _type: PhantomData S>, } @@ -364,7 +357,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CommunityGroup { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CommunityGroup { CommunityGroup { is_inner_circle: self._fields.0.or_else(|| Some(false)), members: self._fields.1.unwrap(), @@ -375,10 +371,10 @@ where } fn lexicon_doc_app_protoimsg_chat_community() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.community"), @@ -387,11 +383,12 @@ fn lexicon_doc_app_protoimsg_chat_community() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("communityGroup"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A named group of community members.")), - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("members"), - ]), + description: Some( + CowStr::new_static("A named group of community members."), + ), + required: Some( + vec![SmolStr::new_static("name"), SmolStr::new_static("members")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -404,7 +401,9 @@ fn lexicon_doc_app_protoimsg_chat_community() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("members"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("DIDs of group members.")), + description: Some( + CowStr::new_static("DIDs of group members."), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#communityMember"), ..Default::default() @@ -429,20 +428,21 @@ fn lexicon_doc_app_protoimsg_chat_community() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("communityMember"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A member in a community group.")), - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("addedAt"), - ]), + description: Some( + CowStr::new_static("A member in a community group."), + ), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("addedAt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("addedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When this member was added.", - )), + description: Some( + CowStr::new_static("When this member was added."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -505,7 +505,7 @@ fn lexicon_doc_app_protoimsg_chat_community() -> LexiconDoc<'static> { pub mod community_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -548,7 +548,10 @@ pub mod community_member_state { } /// Builder for constructing an instance of this type. -pub struct CommunityMemberBuilder { +pub struct CommunityMemberBuilder< + St: community_member_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -643,7 +646,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CommunityMember { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CommunityMember { CommunityMember { added_at: self._fields.0.unwrap(), did: self._fields.1.unwrap(), @@ -654,7 +660,7 @@ where pub mod community_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -759,10 +765,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Community { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Community { Community { groups: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/message.rs b/crates/jacquard-api/src/app_protoimsg/chat/message.rs index a5ad21568..4efbe80d4 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/message.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/message.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_protoimsg::chat::message; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_protoimsg::chat::message; /// Width and height for layout before media loads. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { pub height: i64, pub width: i64, @@ -46,10 +43,7 @@ pub struct AspectRatio { /// Facet feature for a block quotation. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Blockquote { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -58,10 +52,7 @@ pub struct Blockquote { /// Facet feature for bold text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Bold { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -70,10 +61,7 @@ pub struct Bold { /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ByteSlice { pub byte_end: i64, pub byte_start: i64, @@ -84,10 +72,7 @@ pub struct ByteSlice { /// Facet feature for a code block. The text contains the code content. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CodeBlock { ///Programming language for syntax highlighting. #[serde(skip_serializing_if = "Option::is_none")] @@ -99,10 +84,7 @@ pub struct CodeBlock { /// Facet feature for inline code. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CodeInline { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -111,10 +93,7 @@ pub struct CodeInline { /// External link card. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ExternalEmbed { ///Description or summary. #[serde(skip_serializing_if = "Option::is_none")] @@ -133,10 +112,7 @@ pub struct ExternalEmbed { /// Embedded images. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageEmbed { pub images: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -146,10 +122,7 @@ pub struct ImageEmbed { /// A single embedded image. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageItem { ///Alt text for accessibility. pub alt: S, @@ -164,10 +137,7 @@ pub struct ImageItem { /// Facet feature for italic text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Italic { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -176,10 +146,7 @@ pub struct Italic { /// Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Link { pub uri: UriValue, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -215,6 +182,7 @@ pub struct Message { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -241,10 +209,7 @@ pub struct MessageGetRecordOutput { /// Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Mention { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -254,10 +219,7 @@ pub struct Mention { /// Thread reply reference with root and parent for efficient deep thread traversal. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyRef { ///AT-URI of the direct parent message being replied to. pub parent: AtUri, @@ -270,10 +232,7 @@ pub struct ReplyRef { /// Annotation of a sub-string within rich text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RichTextFacet { pub features: Vec>, pub index: message::ByteSlice, @@ -281,6 +240,7 @@ pub struct RichTextFacet { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -308,10 +268,7 @@ pub enum RichTextFacetFeaturesItem { /// Facet feature for strikethrough text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Strikethrough { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -320,10 +277,7 @@ pub struct Strikethrough { /// Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Tag { pub tag: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -333,10 +287,7 @@ pub struct Tag { /// Embedded video. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VideoEmbed { ///Alt text for accessibility. #[serde(skip_serializing_if = "Option::is_none")] @@ -535,20 +486,25 @@ impl LexiconSchema for ExternalEmbed { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumb"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -634,25 +590,31 @@ impl LexiconSchema for ImageItem { let value = &self.image; { let mime = value.blob().mime_type.as_str(); - let accepted: &[&str] = &["image/png", "image/jpeg", "image/gif", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let accepted: &[&str] = &[ + "image/png", + "image/jpeg", + "image/gif", + "image/webp", + ]; + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/gif".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/gif".to_string(), "image/webp".to_string() ], actual: mime.to_string(), }); @@ -895,20 +857,25 @@ impl LexiconSchema for VideoEmbed { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumbnail"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -932,20 +899,25 @@ impl LexiconSchema for VideoEmbed { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["video/mp4", "video/webm"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("video"), - accepted: vec!["video/mp4".to_string(), "video/webm".to_string()], + accepted: vec![ + "video/mp4".to_string(), "video/webm".to_string() + ], actual: mime.to_string(), }); } @@ -957,7 +929,7 @@ impl LexiconSchema for VideoEmbed { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1095,7 +1067,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -1105,10 +1080,10 @@ where } fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.message"), @@ -1117,13 +1092,14 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Width and height for layout before media loads.", - )), - required: Some(vec![ - SmolStr::new_static("width"), - SmolStr::new_static("height"), - ]), + description: Some( + CowStr::new_static( + "Width and height for layout before media loads.", + ), + ), + required: Some( + vec![SmolStr::new_static("width"), SmolStr::new_static("height")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1149,7 +1125,9 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("blockquote"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for a block quotation.")), + description: Some( + CowStr::new_static("Facet feature for a block quotation."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1161,7 +1139,9 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bold"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for bold text.")), + description: Some( + CowStr::new_static("Facet feature for bold text."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1209,18 +1189,22 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("codeBlock"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Facet feature for a code block. The text contains the code content.", - )), + description: Some( + CowStr::new_static( + "Facet feature for a code block. The text contains the code content.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("lang"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Programming language for syntax highlighting.", - )), + description: Some( + CowStr::new_static( + "Programming language for syntax highlighting.", + ), + ), max_length: Some(50usize), ..Default::default() }), @@ -1233,7 +1217,9 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("codeInline"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for inline code.")), + description: Some( + CowStr::new_static("Facet feature for inline code."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1246,33 +1232,32 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { SmolStr::new_static("externalEmbed"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("External link card.")), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("title"), - ]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("title")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Description or summary.")), + description: Some( + CowStr::new_static("Description or summary."), + ), max_length: Some(1000usize), ..Default::default() }), ); map.insert( SmolStr::new_static("thumb"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Title of the external content.", - )), + description: Some( + CowStr::new_static("Title of the external content."), + ), max_length: Some(300usize), ..Default::default() }), @@ -1280,9 +1265,9 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "URL of the external content.", - )), + description: Some( + CowStr::new_static("URL of the external content."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1320,19 +1305,18 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { SmolStr::new_static("imageItem"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("A single embedded image.")), - required: Some(vec![ - SmolStr::new_static("image"), - SmolStr::new_static("alt"), - ]), + required: Some( + vec![SmolStr::new_static("image"), SmolStr::new_static("alt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text for accessibility.", - )), + description: Some( + CowStr::new_static("Alt text for accessibility."), + ), max_length: Some(2000usize), ..Default::default() }), @@ -1346,9 +1330,7 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -1358,7 +1340,9 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("italic"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for italic text.")), + description: Some( + CowStr::new_static("Facet feature for italic text."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1556,13 +1540,16 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("richTextFacet"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Annotation of a sub-string within rich text.", - )), - required: Some(vec![ - SmolStr::new_static("index"), - SmolStr::new_static("features"), - ]), + description: Some( + CowStr::new_static( + "Annotation of a sub-string within rich text.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("index"), SmolStr::new_static("features") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1571,15 +1558,13 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { LexObjectProperty::Array(LexArray { items: LexArrayItem::Union(LexRefUnion { refs: vec![ - CowStr::new_static("#mention"), - CowStr::new_static("#link"), - CowStr::new_static("#tag"), - CowStr::new_static("#bold"), + CowStr::new_static("#mention"), CowStr::new_static("#link"), + CowStr::new_static("#tag"), CowStr::new_static("#bold"), CowStr::new_static("#italic"), CowStr::new_static("#strikethrough"), CowStr::new_static("#codeInline"), CowStr::new_static("#codeBlock"), - CowStr::new_static("#blockquote"), + CowStr::new_static("#blockquote") ], ..Default::default() }), @@ -1601,7 +1586,9 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("strikethrough"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for strikethrough text.")), + description: Some( + CowStr::new_static("Facet feature for strikethrough text."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1646,9 +1633,9 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text for accessibility.", - )), + description: Some( + CowStr::new_static("Alt text for accessibility."), + ), max_length: Some(2000usize), ..Default::default() }), @@ -1662,15 +1649,11 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("thumbnail"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("video"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -1685,7 +1668,7 @@ fn lexicon_doc_app_protoimsg_chat_message() -> LexiconDoc<'static> { pub mod byte_slice_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1823,7 +1806,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ByteSlice { ByteSlice { byte_end: self._fields.0.unwrap(), byte_start: self._fields.1.unwrap(), @@ -1834,7 +1820,7 @@ where pub mod external_embed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1877,14 +1863,12 @@ pub mod external_embed_state { } /// Builder for constructing an instance of this type. -pub struct ExternalEmbedBuilder { +pub struct ExternalEmbedBuilder< + St: external_embed_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option>, - ), + _fields: (Option, Option>, Option, Option>), _type: PhantomData S>, } @@ -2005,7 +1989,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ExternalEmbed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ExternalEmbed { ExternalEmbed { description: self._fields.0, thumb: self._fields.1, @@ -2018,7 +2005,7 @@ where pub mod image_embed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2123,7 +2110,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageEmbed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageEmbed { ImageEmbed { images: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -2133,7 +2123,7 @@ where pub mod image_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2178,11 +2168,7 @@ pub mod image_item_state { /// Builder for constructing an instance of this type. pub struct ImageItemBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - ), + _fields: (Option, Option>, Option>), _type: PhantomData S>, } @@ -2228,7 +2214,10 @@ where St::Alt: image_item_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> ImageItemBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> ImageItemBuilder, S> { self._fields.0 = Option::Some(value.into()); ImageItemBuilder { _state: PhantomData, @@ -2240,7 +2229,10 @@ where impl ImageItemBuilder { /// Set the `aspectRatio` field (optional) - pub fn aspect_ratio(mut self, value: impl Into>>) -> Self { + pub fn aspect_ratio( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -2286,7 +2278,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageItem { ImageItem { alt: self._fields.0.unwrap(), aspect_ratio: self._fields.1, @@ -2298,7 +2293,7 @@ where pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2377,7 +2372,10 @@ where St::Uri: link_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> LinkBuilder, S> { self._fields.0 = Option::Some(value.into()); LinkBuilder { _state: PhantomData, @@ -2410,7 +2408,7 @@ where pub mod message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2569,12 +2567,18 @@ impl MessageBuilder { impl MessageBuilder { /// Set the `facets` field (optional) - pub fn facets(mut self, value: impl Into>>>) -> Self { + pub fn facets( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `facets` field to an Option value (optional) - pub fn maybe_facets(mut self, value: Option>>) -> Self { + pub fn maybe_facets( + mut self, + value: Option>>, + ) -> Self { self._fields.3 = value; self } @@ -2599,7 +2603,10 @@ where St::Text: message_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> MessageBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> MessageBuilder, S> { self._fields.5 = Option::Some(value.into()); MessageBuilder { _state: PhantomData, @@ -2644,7 +2651,7 @@ where pub mod mention_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2723,7 +2730,10 @@ where St::Did: mention_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> MentionBuilder, S> { self._fields.0 = Option::Some(value.into()); MentionBuilder { _state: PhantomData, @@ -2756,7 +2766,7 @@ where pub mod reply_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2905,7 +2915,7 @@ where pub mod rich_text_facet_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2948,12 +2958,12 @@ pub mod rich_text_facet_state { } /// Builder for constructing an instance of this type. -pub struct RichTextFacetBuilder { +pub struct RichTextFacetBuilder< + St: rich_text_facet_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>>, - Option>, - ), + _fields: (Option>>, Option>), _type: PhantomData S>, } @@ -3046,7 +3056,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RichTextFacet { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RichTextFacet { RichTextFacet { features: self._fields.0.unwrap(), index: self._fields.1.unwrap(), @@ -3057,7 +3070,7 @@ where pub mod video_embed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3150,7 +3163,10 @@ impl VideoEmbedBuilder { impl VideoEmbedBuilder { /// Set the `aspectRatio` field (optional) - pub fn aspect_ratio(mut self, value: impl Into>>) -> Self { + pub fn aspect_ratio( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -3209,7 +3225,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> VideoEmbed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> VideoEmbed { VideoEmbed { alt: self._fields.0, aspect_ratio: self._fields.1, @@ -3218,4 +3237,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/poll.rs b/crates/jacquard-api/src/app_protoimsg/chat/poll.rs index f7c60bc48..54a31a142 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/poll.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/poll.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A poll within a chat channel. Lives in the creator's repo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -154,7 +154,7 @@ fn _default_poll_allow_multiple() -> Option { pub mod poll_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -365,7 +365,10 @@ where St::Question: poll_state::IsUnset, { /// Set the `question` field (required) - pub fn question(mut self, value: impl Into) -> PollBuilder, S> { + pub fn question( + mut self, + value: impl Into, + ) -> PollBuilder, S> { self._fields.5 = Option::Some(value.into()); PollBuilder { _state: PhantomData, @@ -410,10 +413,10 @@ where } fn lexicon_doc_app_protoimsg_chat_poll() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.poll"), @@ -422,17 +425,21 @@ fn lexicon_doc_app_protoimsg_chat_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A poll within a chat channel. Lives in the creator's repo.", - )), + description: Some( + CowStr::new_static( + "A poll within a chat channel. Lives in the creator's repo.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("channel"), - SmolStr::new_static("question"), - SmolStr::new_static("options"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("channel"), + SmolStr::new_static("question"), + SmolStr::new_static("options"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -445,9 +452,11 @@ fn lexicon_doc_app_protoimsg_chat_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("channel"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the channel this poll belongs to.", - )), + description: Some( + CowStr::new_static( + "AT-URI of the channel this poll belongs to.", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -455,9 +464,9 @@ fn lexicon_doc_app_protoimsg_chat_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of poll creation.", - )), + description: Some( + CowStr::new_static("Timestamp of poll creation."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -465,9 +474,11 @@ fn lexicon_doc_app_protoimsg_chat_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("expiresAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the poll closes. Omit for no expiry.", - )), + description: Some( + CowStr::new_static( + "When the poll closes. Omit for no expiry.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -475,7 +486,9 @@ fn lexicon_doc_app_protoimsg_chat_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("options"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Poll answer options.")), + description: Some( + CowStr::new_static("Poll answer options."), + ), items: LexArrayItem::String(LexString { max_length: Some(100usize), ..Default::default() @@ -504,4 +517,4 @@ fn lexicon_doc_app_protoimsg_chat_poll() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/presence.rs b/crates/jacquard-api/src/app_protoimsg/chat/presence.rs index 71e50889d..08738dc42 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/presence.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/presence.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// User's current presence status. Lives in their repo, updated by their client. IMPORTANT: visibleTo is intentionally excluded — it is a privacy preference and must remain server-side only. Writing it to the PDS would publicly expose who the user is hiding from. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -210,7 +210,7 @@ impl LexiconSchema for Presence { pub mod presence_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -373,10 +373,10 @@ where } fn lexicon_doc_app_protoimsg_chat_presence() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.presence"), @@ -441,4 +441,4 @@ fn lexicon_doc_app_protoimsg_chat_presence() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/role.rs b/crates/jacquard-api/src/app_protoimsg/chat/role.rs index 2512cb4fe..16e88acaf 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/role.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/role.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Assign a moderator role to a user for a specific room. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -189,7 +189,7 @@ impl LexiconSchema for Role { pub mod role_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -264,12 +264,7 @@ pub mod role_state { /// Builder for constructing an instance of this type. pub struct RoleBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option>, - ), + _fields: (Option, Option>, Option>, Option>), _type: PhantomData S>, } @@ -353,7 +348,10 @@ where St::Room: role_state::IsUnset, { /// Set the `room` field (required) - pub fn room(mut self, value: impl Into>) -> RoleBuilder, S> { + pub fn room( + mut self, + value: impl Into>, + ) -> RoleBuilder, S> { self._fields.2 = Option::Some(value.into()); RoleBuilder { _state: PhantomData, @@ -413,10 +411,10 @@ where } fn lexicon_doc_app_protoimsg_chat_role() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.role"), @@ -425,26 +423,29 @@ fn lexicon_doc_app_protoimsg_chat_role() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Assign a moderator role to a user for a specific room.", - )), + description: Some( + CowStr::new_static( + "Assign a moderator role to a user for a specific room.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("room"), - SmolStr::new_static("subject"), - SmolStr::new_static("role"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("room"), SmolStr::new_static("subject"), + SmolStr::new_static("role"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of role assignment.", - )), + description: Some( + CowStr::new_static("Timestamp of role assignment."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -452,16 +453,18 @@ fn lexicon_doc_app_protoimsg_chat_role() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("role"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The role being assigned.", - )), + description: Some( + CowStr::new_static("The role being assigned."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("room"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("AT-URI of the room.")), + description: Some( + CowStr::new_static("AT-URI of the room."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -469,9 +472,11 @@ fn lexicon_doc_app_protoimsg_chat_role() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the user being assigned the role.", - )), + description: Some( + CowStr::new_static( + "DID of the user being assigned the role.", + ), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -487,4 +492,4 @@ fn lexicon_doc_app_protoimsg_chat_role() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/room.rs b/crates/jacquard-api/src/app_protoimsg/chat/room.rs index 0ab735c92..8cff07d3e 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/room.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/room.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_protoimsg::chat::room; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_protoimsg::chat::room; /// Declares a chat room. Created by whoever starts the room. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -159,10 +159,7 @@ pub struct RoomGetRecordOutput { /// Configurable room settings. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RoomSettings { ///When true, only users on the room allowlist can send messages. Defaults to `false`. #[serde(skip_serializing_if = "Option::is_none")] @@ -261,7 +258,9 @@ where RoomSettingsVisibility::Public => RoomSettingsVisibility::Public, RoomSettingsVisibility::Unlisted => RoomSettingsVisibility::Unlisted, RoomSettingsVisibility::Private => RoomSettingsVisibility::Private, - RoomSettingsVisibility::Other(v) => RoomSettingsVisibility::Other(v.into_static()), + RoomSettingsVisibility::Other(v) => { + RoomSettingsVisibility::Other(v.into_static()) + } } } } @@ -391,7 +390,7 @@ impl LexiconSchema for RoomSettings { pub mod room_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -565,7 +564,10 @@ where St::Name: room_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> RoomBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> RoomBuilder, S> { self._fields.3 = Option::Some(value.into()); RoomBuilder { _state: PhantomData, @@ -613,7 +615,10 @@ where St::Topic: room_state::IsUnset, { /// Set the `topic` field (required) - pub fn topic(mut self, value: impl Into) -> RoomBuilder, S> { + pub fn topic( + mut self, + value: impl Into, + ) -> RoomBuilder, S> { self._fields.6 = Option::Some(value.into()); RoomBuilder { _state: PhantomData, @@ -660,10 +665,10 @@ where } fn lexicon_doc_app_protoimsg_chat_room() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.room"), @@ -837,4 +842,4 @@ impl Default for RoomSettings { extra_data: Default::default(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_protoimsg/chat/vote.rs b/crates/jacquard-api/src/app_protoimsg/chat/vote.rs index 98cea45ce..6ad618ace 100644 --- a/crates/jacquard-api/src/app_protoimsg/chat/vote.rs +++ b/crates/jacquard-api/src/app_protoimsg/chat/vote.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A vote on a poll. Lives in the voter's repo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -119,7 +119,7 @@ impl LexiconSchema for Vote { pub mod vote_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -243,7 +243,10 @@ where St::Poll: vote_state::IsUnset, { /// Set the `poll` field (required) - pub fn poll(mut self, value: impl Into>) -> VoteBuilder, S> { + pub fn poll( + mut self, + value: impl Into>, + ) -> VoteBuilder, S> { self._fields.1 = Option::Some(value.into()); VoteBuilder { _state: PhantomData, @@ -300,10 +303,10 @@ where } fn lexicon_doc_app_protoimsg_chat_vote() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.protoimsg.chat.vote"), @@ -312,16 +315,20 @@ fn lexicon_doc_app_protoimsg_chat_vote() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A vote on a poll. Lives in the voter's repo.", - )), + description: Some( + CowStr::new_static( + "A vote on a poll. Lives in the voter's repo.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("poll"), - SmolStr::new_static("selectedOptions"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("poll"), + SmolStr::new_static("selectedOptions"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -336,9 +343,9 @@ fn lexicon_doc_app_protoimsg_chat_vote() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("poll"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the poll being voted on.", - )), + description: Some( + CowStr::new_static("AT-URI of the poll being voted on."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -346,9 +353,9 @@ fn lexicon_doc_app_protoimsg_chat_vote() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("selectedOptions"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Indices of selected options (0-based).", - )), + description: Some( + CowStr::new_static("Indices of selected options (0-based)."), + ), items: LexArrayItem::Integer(LexInteger { ..Default::default() }), @@ -367,4 +374,4 @@ fn lexicon_doc_app_protoimsg_chat_vote() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky.rs b/crates/jacquard-api/src/app_rocksky.rs index 5cdd7975d..74870d345 100644 --- a/crates/jacquard-api/src/app_rocksky.rs +++ b/crates/jacquard-api/src/app_rocksky.rs @@ -21,4 +21,4 @@ pub mod scrobble; pub mod shout; pub mod song; pub mod spotify; -pub mod stats; +pub mod stats; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor.rs b/crates/jacquard-api/src/app_rocksky/actor.rs index d0a35dcce..8e8012b87 100644 --- a/crates/jacquard-api/src/app_rocksky/actor.rs +++ b/crates/jacquard-api/src/app_rocksky/actor.rs @@ -16,9 +16,10 @@ pub mod get_actor_scrobbles; pub mod get_actor_songs; pub mod get_profile; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -31,13 +32,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileViewBasic { ///The URL of the actor's avatar image. #[serde(skip_serializing_if = "Option::is_none")] @@ -64,11 +62,9 @@ pub struct ProfileViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileViewDetailed { ///The URL of the actor's avatar image. #[serde(skip_serializing_if = "Option::is_none")] @@ -126,10 +122,10 @@ impl LexiconSchema for ProfileViewDetailed { } fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.actor.defs"), @@ -144,9 +140,9 @@ fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("avatar"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the actor's avatar image.", - )), + description: Some( + CowStr::new_static("The URL of the actor's avatar image."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -154,9 +150,11 @@ fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the actor was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the actor was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -164,41 +162,47 @@ fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The DID of the actor.")), + description: Some( + CowStr::new_static("The DID of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("displayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The display name of the actor.", - )), + description: Some( + CowStr::new_static("The display name of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("handle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The handle of the actor.")), + description: Some( + CowStr::new_static("The handle of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the actor.", - )), + description: Some( + CowStr::new_static("The unique identifier of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the actor was last updated.", - )), + description: Some( + CowStr::new_static( + "The date and time when the actor was last updated.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -217,9 +221,9 @@ fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("avatar"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the actor's avatar image.", - )), + description: Some( + CowStr::new_static("The URL of the actor's avatar image."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -227,9 +231,11 @@ fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the actor was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the actor was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -237,41 +243,47 @@ fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The DID of the actor.")), + description: Some( + CowStr::new_static("The DID of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("displayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The display name of the actor.", - )), + description: Some( + CowStr::new_static("The display name of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("handle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The handle of the actor.")), + description: Some( + CowStr::new_static("The handle of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the actor.", - )), + description: Some( + CowStr::new_static("The unique identifier of the actor."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the actor was last updated.", - )), + description: Some( + CowStr::new_static( + "The date and time when the actor was last updated.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -285,4 +297,4 @@ fn lexicon_doc_app_rocksky_actor_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_albums.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_albums.rs index d70eebda0..e2ad0bdfc 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_albums.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_albums.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::album::AlbumViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::album::AlbumViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorAlbums { pub did: AtIdentifier, /// (min: 1) @@ -33,11 +30,9 @@ pub struct GetActorAlbums { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorAlbumsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub albums: Option>>, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorAlbumsRequest { pub mod get_actor_albums_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,7 +101,10 @@ pub mod get_actor_albums_state { } /// Builder for constructing an instance of this type. -pub struct GetActorAlbumsBuilder { +pub struct GetActorAlbumsBuilder< + St: get_actor_albums_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -206,4 +204,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_artists.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_artists.rs index 3e4ff82a0..7a9de8e1b 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_artists.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_artists.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::artist::ArtistViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::artist::ArtistViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorArtists { pub did: AtIdentifier, /// (min: 1) @@ -33,11 +30,9 @@ pub struct GetActorArtists { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorArtistsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub artists: Option>>, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorArtistsRequest { pub mod get_actor_artists_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,7 +101,10 @@ pub mod get_actor_artists_state { } /// Builder for constructing an instance of this type. -pub struct GetActorArtistsBuilder { +pub struct GetActorArtistsBuilder< + St: get_actor_artists_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -206,4 +204,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_compatibility.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_compatibility.rs index 20b79a76f..0782c6859 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_compatibility.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_compatibility.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorCompatibility { pub did: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorCompatibilityOutput { #[serde(skip_serializing_if = "Option::is_none")] pub compatibility: Option>, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorCompatibilityRequest { pub mod get_actor_compatibility_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -110,14 +105,20 @@ pub struct GetActorCompatibilityBuilder< impl GetActorCompatibility { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetActorCompatibilityBuilder { + pub fn new() -> GetActorCompatibilityBuilder< + get_actor_compatibility_state::Empty, + DefaultStr, + > { GetActorCompatibilityBuilder::new() } } impl GetActorCompatibility { /// Create a new builder for this type - pub fn builder() -> GetActorCompatibilityBuilder { + pub fn builder() -> GetActorCompatibilityBuilder< + get_actor_compatibility_state::Empty, + S, + > { GetActorCompatibilityBuilder::builder() } } @@ -174,4 +175,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_loved_songs.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_loved_songs.rs index af02e155c..4d5905563 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_loved_songs.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_loved_songs.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorLovedSongs { pub did: AtIdentifier, /// (min: 1) @@ -33,11 +30,9 @@ pub struct GetActorLovedSongs { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorLovedSongsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub tracks: Option>>, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorLovedSongsRequest { pub mod get_actor_loved_songs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,8 +101,10 @@ pub mod get_actor_loved_songs_state { } /// Builder for constructing an instance of this type. -pub struct GetActorLovedSongsBuilder -{ +pub struct GetActorLovedSongsBuilder< + St: get_actor_loved_songs_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -115,14 +112,20 @@ pub struct GetActorLovedSongsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetActorLovedSongsBuilder { + pub fn new() -> GetActorLovedSongsBuilder< + get_actor_loved_songs_state::Empty, + DefaultStr, + > { GetActorLovedSongsBuilder::new() } } impl GetActorLovedSongs { /// Create a new builder for this type - pub fn builder() -> GetActorLovedSongsBuilder { + pub fn builder() -> GetActorLovedSongsBuilder< + get_actor_loved_songs_state::Empty, + S, + > { GetActorLovedSongsBuilder::builder() } } @@ -168,7 +171,10 @@ where } } -impl GetActorLovedSongsBuilder { +impl< + St: get_actor_loved_songs_state::State, + S: BosStr, +> GetActorLovedSongsBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -181,7 +187,10 @@ impl GetActorLovedSongsBuilde } } -impl GetActorLovedSongsBuilder { +impl< + St: get_actor_loved_songs_state::State, + S: BosStr, +> GetActorLovedSongsBuilder { /// Set the `offset` field (optional) pub fn offset(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -207,4 +216,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_neighbours.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_neighbours.rs index ac511077e..831fb55cb 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_neighbours.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_neighbours.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorNeighbours { pub did: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorNeighboursOutput { #[serde(skip_serializing_if = "Option::is_none")] pub neighbours: Option>>, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorNeighboursRequest { pub mod get_actor_neighbours_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,8 +94,10 @@ pub mod get_actor_neighbours_state { } /// Builder for constructing an instance of this type. -pub struct GetActorNeighboursBuilder -{ +pub struct GetActorNeighboursBuilder< + St: get_actor_neighbours_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -108,7 +105,10 @@ pub struct GetActorNeighboursBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetActorNeighboursBuilder { + pub fn new() -> GetActorNeighboursBuilder< + get_actor_neighbours_state::Empty, + DefaultStr, + > { GetActorNeighboursBuilder::new() } } @@ -172,4 +172,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_playlists.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_playlists.rs index 17e1417b5..dc0218340 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_playlists.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_playlists.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::playlist::PlaylistViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::playlist::PlaylistViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorPlaylists { pub did: AtIdentifier, /// (min: 1) @@ -33,11 +30,9 @@ pub struct GetActorPlaylists { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorPlaylistsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub playlists: Option>>, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorPlaylistsRequest { pub mod get_actor_playlists_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,7 +101,10 @@ pub mod get_actor_playlists_state { } /// Builder for constructing an instance of this type. -pub struct GetActorPlaylistsBuilder { +pub struct GetActorPlaylistsBuilder< + St: get_actor_playlists_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -114,7 +112,10 @@ pub struct GetActorPlaylistsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetActorPlaylistsBuilder { + pub fn new() -> GetActorPlaylistsBuilder< + get_actor_playlists_state::Empty, + DefaultStr, + > { GetActorPlaylistsBuilder::new() } } @@ -206,4 +207,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_scrobbles.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_scrobbles.rs index c93a41848..9c71c3cc3 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_scrobbles.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_scrobbles.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorScrobbles { pub did: AtIdentifier, /// (min: 1) @@ -33,11 +30,9 @@ pub struct GetActorScrobbles { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorScrobblesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub scrobbles: Option>>, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorScrobblesRequest { pub mod get_actor_scrobbles_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,7 +101,10 @@ pub mod get_actor_scrobbles_state { } /// Builder for constructing an instance of this type. -pub struct GetActorScrobblesBuilder { +pub struct GetActorScrobblesBuilder< + St: get_actor_scrobbles_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -114,7 +112,10 @@ pub struct GetActorScrobblesBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetActorScrobblesBuilder { + pub fn new() -> GetActorScrobblesBuilder< + get_actor_scrobbles_state::Empty, + DefaultStr, + > { GetActorScrobblesBuilder::new() } } @@ -206,4 +207,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_actor_songs.rs b/crates/jacquard-api/src/app_rocksky/actor/get_actor_songs.rs index e4fb08341..efa4d0f40 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_actor_songs.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_actor_songs.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorSongs { pub did: AtIdentifier, /// (min: 1) @@ -33,11 +30,9 @@ pub struct GetActorSongs { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorSongsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub songs: Option>>, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorSongsRequest { pub mod get_actor_songs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,7 +101,10 @@ pub mod get_actor_songs_state { } /// Builder for constructing an instance of this type. -pub struct GetActorSongsBuilder { +pub struct GetActorSongsBuilder< + St: get_actor_songs_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -206,4 +204,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/actor/get_profile.rs b/crates/jacquard-api/src/app_rocksky/actor/get_profile.rs index 357d0da77..2b057977c 100644 --- a/crates/jacquard-api/src/app_rocksky/actor/get_profile.rs +++ b/crates/jacquard-api/src/app_rocksky/actor/get_profile.rs @@ -8,31 +8,26 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::actor::ProfileViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::actor::ProfileViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfile { #[serde(skip_serializing_if = "Option::is_none")] pub did: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfileOutput { #[serde(flatten)] pub value: ProfileViewDetailed, @@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest { pub mod get_profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -149,8 +144,6 @@ where { /// Build the final struct. pub fn build(self) -> GetProfile { - GetProfile { - did: self._fields.0, - } + GetProfile { did: self._fields.0 } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/album.rs b/crates/jacquard-api/src/app_rocksky/album.rs index 4c0aaf297..9247beba9 100644 --- a/crates/jacquard-api/src/app_rocksky/album.rs +++ b/crates/jacquard-api/src/app_rocksky/album.rs @@ -10,12 +10,13 @@ pub mod get_album; pub mod get_album_tracks; pub mod get_albums; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -32,7 +33,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of an album. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -94,11 +95,9 @@ pub struct AlbumGetRecordOutput { pub value: Album, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AlbumViewBasic { ///The URL of the album art image. #[serde(skip_serializing_if = "Option::is_none")] @@ -137,11 +136,9 @@ pub struct AlbumViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AlbumViewDetailed { ///The URL of the album art image. #[serde(skip_serializing_if = "Option::is_none")] @@ -242,20 +239,25 @@ impl LexiconSchema for Album { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("album_art"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -387,7 +389,7 @@ impl LexiconSchema for AlbumViewDetailed { pub mod album_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -484,7 +486,19 @@ impl AlbumBuilder { AlbumBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -497,7 +511,19 @@ impl AlbumBuilder { AlbumBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -536,7 +562,10 @@ where St::Artist: album_state::IsUnset, { /// Set the `artist` field (required) - pub fn artist(mut self, value: impl Into) -> AlbumBuilder, S> { + pub fn artist( + mut self, + value: impl Into, + ) -> AlbumBuilder, S> { self._fields.2 = Option::Some(value.into()); AlbumBuilder { _state: PhantomData, @@ -649,7 +678,10 @@ where St::Title: album_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> AlbumBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> AlbumBuilder, S> { self._fields.10 = Option::Some(value.into()); AlbumBuilder { _state: PhantomData, @@ -733,10 +765,10 @@ where } fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.album"), @@ -748,26 +780,25 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A declaration of an album.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("artist"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), SmolStr::new_static("artist"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("albumArt"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("appleMusicLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Apple Music link of the album.", - )), + description: Some( + CowStr::new_static("The Apple Music link of the album."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -775,9 +806,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The artist of the album.", - )), + description: Some( + CowStr::new_static("The artist of the album."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -786,9 +817,11 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the album was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the album was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -802,9 +835,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("genre"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The genre of the album.", - )), + description: Some( + CowStr::new_static("The genre of the album."), + ), max_length: Some(256usize), ..Default::default() }), @@ -812,9 +845,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("releaseDate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The release date of the album.", - )), + description: Some( + CowStr::new_static("The release date of the album."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -822,9 +855,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("spotifyLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Spotify link of the album.", - )), + description: Some( + CowStr::new_static("The Spotify link of the album."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -832,7 +865,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("The tags of the album.")), + description: Some( + CowStr::new_static("The tags of the album."), + ), items: LexArrayItem::String(LexString { min_length: Some(1usize), max_length: Some(256usize), @@ -844,9 +879,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tidalLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The tidal link of the album.", - )), + description: Some( + CowStr::new_static("The tidal link of the album."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -854,9 +889,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The title of the album.", - )), + description: Some( + CowStr::new_static("The title of the album."), + ), min_length: Some(1usize), max_length: Some(512usize), ..Default::default() @@ -871,9 +906,9 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("youtubeLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The YouTube link of the album.", - )), + description: Some( + CowStr::new_static("The YouTube link of the album."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -892,10 +927,10 @@ fn lexicon_doc_app_rocksky_album() -> LexiconDoc<'static> { } fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.album.defs"), @@ -910,9 +945,9 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("albumArt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the album art image.", - )), + description: Some( + CowStr::new_static("The URL of the album art image."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -920,16 +955,18 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The artist of the album.")), + description: Some( + CowStr::new_static("The artist of the album."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("artistUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the album's artist.", - )), + description: Some( + CowStr::new_static("The URI of the album's artist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -937,9 +974,9 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the album.", - )), + description: Some( + CowStr::new_static("The unique identifier of the album."), + ), ..Default::default() }), ); @@ -953,25 +990,27 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("releaseDate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The release date of the album.", - )), + description: Some( + CowStr::new_static("The release date of the album."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the album.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the album."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the album.")), + description: Some( + CowStr::new_static("The title of the album."), + ), ..Default::default() }), ); @@ -985,7 +1024,9 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the album.")), + description: Some( + CowStr::new_static("The URI of the album."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1010,9 +1051,9 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("albumArt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the album art image.", - )), + description: Some( + CowStr::new_static("The URL of the album art image."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1020,16 +1061,18 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The artist of the album.")), + description: Some( + CowStr::new_static("The artist of the album."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("artistUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the album's artist.", - )), + description: Some( + CowStr::new_static("The URI of the album's artist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1037,9 +1080,9 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the album.", - )), + description: Some( + CowStr::new_static("The unique identifier of the album."), + ), ..Default::default() }), ); @@ -1053,25 +1096,27 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("releaseDate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The release date of the album.", - )), + description: Some( + CowStr::new_static("The release date of the album."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the album.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the album."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the album.")), + description: Some( + CowStr::new_static("The title of the album."), + ), ..Default::default() }), ); @@ -1097,7 +1142,9 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the album.")), + description: Some( + CowStr::new_static("The URI of the album."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1117,4 +1164,4 @@ fn lexicon_doc_app_rocksky_album_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/album/get_album.rs b/crates/jacquard-api/src/app_rocksky/album/get_album.rs index fd9adae2d..8c9c9aa27 100644 --- a/crates/jacquard-api/src/app_rocksky/album/get_album.rs +++ b/crates/jacquard-api/src/app_rocksky/album/get_album.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::album::AlbumViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::album::AlbumViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAlbum { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAlbumOutput { #[serde(flatten)] pub value: AlbumViewDetailed, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAlbumRequest { pub mod get_album_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/album/get_album_tracks.rs b/crates/jacquard-api/src/app_rocksky/album/get_album_tracks.rs index ef8baebe9..93ca2cfd0 100644 --- a/crates/jacquard-api/src/app_rocksky/album/get_album_tracks.rs +++ b/crates/jacquard-api/src/app_rocksky/album/get_album_tracks.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAlbumTracks { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAlbumTracksOutput { #[serde(skip_serializing_if = "Option::is_none")] pub tracks: Option>>, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAlbumTracksRequest { pub mod get_album_tracks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -100,7 +95,10 @@ pub mod get_album_tracks_state { } /// Builder for constructing an instance of this type. -pub struct GetAlbumTracksBuilder { +pub struct GetAlbumTracksBuilder< + St: get_album_tracks_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -172,4 +170,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/album/get_albums.rs b/crates/jacquard-api/src/app_rocksky/album/get_albums.rs index bff71c101..e6aef0568 100644 --- a/crates/jacquard-api/src/app_rocksky/album/get_albums.rs +++ b/crates/jacquard-api/src/app_rocksky/album/get_albums.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::album::AlbumViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::album::AlbumViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -28,11 +28,9 @@ pub struct GetAlbums { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAlbumsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub albums: Option>>, @@ -70,7 +68,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAlbumsRequest { pub mod get_albums_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -157,4 +155,4 @@ where offset: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/apikey.rs b/crates/jacquard-api/src/app_rocksky/apikey.rs index d2c0ac404..8953f8d1f 100644 --- a/crates/jacquard-api/src/app_rocksky/apikey.rs +++ b/crates/jacquard-api/src/app_rocksky/apikey.rs @@ -11,9 +11,10 @@ pub mod get_apikeys; pub mod remove_apikey; pub mod update_apikey; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,13 +27,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ApiKeyView { ///The date and time when the API key was created. #[serde(skip_serializing_if = "Option::is_none")] @@ -66,10 +64,10 @@ impl LexiconSchema for ApiKeyView { } fn lexicon_doc_app_rocksky_apikey_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.apikey.defs"), @@ -84,9 +82,11 @@ fn lexicon_doc_app_rocksky_apikey_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the API key was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the API key was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -94,25 +94,27 @@ fn lexicon_doc_app_rocksky_apikey_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A description for the API key.", - )), + description: Some( + CowStr::new_static("A description for the API key."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the API key.", - )), + description: Some( + CowStr::new_static("The unique identifier of the API key."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the API key.")), + description: Some( + CowStr::new_static("The name of the API key."), + ), ..Default::default() }), ); @@ -125,4 +127,4 @@ fn lexicon_doc_app_rocksky_apikey_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/apikey/create_apikey.rs b/crates/jacquard-api/src/app_rocksky/apikey/create_apikey.rs index f9dd74843..7fbc30ec9 100644 --- a/crates/jacquard-api/src/app_rocksky/apikey/create_apikey.rs +++ b/crates/jacquard-api/src/app_rocksky/apikey/create_apikey.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateApikey { ///A description for the API key. #[serde(skip_serializing_if = "Option::is_none")] @@ -31,11 +28,9 @@ pub struct CreateApikey { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateApikeyOutput { #[serde(flatten)] pub value: Data, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateApikeyResponse { impl jacquard_common::xrpc::XrpcRequest for CreateApikey { const NSID: &'static str = "app.rocksky.apikey.createApikey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateApikeyResponse; } @@ -67,8 +63,9 @@ Path: `/xrpc/app.rocksky.apikey.createApikey`. The request payload type is `Crea pub struct CreateApikeyRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateApikeyRequest { const PATH: &'static str = "/xrpc/app.rocksky.apikey.createApikey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateApikey; type Response = CreateApikeyResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/apikey/get_apikeys.rs b/crates/jacquard-api/src/app_rocksky/apikey/get_apikeys.rs index 2a1bd8b44..53b6e88a8 100644 --- a/crates/jacquard-api/src/app_rocksky/apikey/get_apikeys.rs +++ b/crates/jacquard-api/src/app_rocksky/apikey/get_apikeys.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -25,11 +25,9 @@ pub struct GetApikeys { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetApikeysOutput { #[serde(skip_serializing_if = "Option::is_none")] pub api_keys: Option>>, @@ -67,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetApikeysRequest { pub mod get_apikeys_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -154,4 +152,4 @@ where offset: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/apikey/remove_apikey.rs b/crates/jacquard-api/src/app_rocksky/apikey/remove_apikey.rs index aa748afb0..c82ed890a 100644 --- a/crates/jacquard-api/src/app_rocksky/apikey/remove_apikey.rs +++ b/crates/jacquard-api/src/app_rocksky/apikey/remove_apikey.rs @@ -10,26 +10,21 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveApikeyParams { pub id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveApikeyOutput { #[serde(flatten)] pub value: Data, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveApikeyResponse { impl jacquard_common::xrpc::XrpcRequest for RemoveApikey { const NSID: &'static str = "app.rocksky.apikey.removeApikey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RemoveApikeyResponse; } @@ -67,15 +63,16 @@ Path: `/xrpc/app.rocksky.apikey.removeApikey`. The request payload type is `Remo pub struct RemoveApikeyRequest; impl jacquard_common::xrpc::XrpcEndpoint for RemoveApikeyRequest { const PATH: &'static str = "/xrpc/app.rocksky.apikey.removeApikey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RemoveApikey; type Response = RemoveApikeyResponse; } pub mod remove_apikey_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,8 +103,10 @@ pub mod remove_apikey_params_state { } /// Builder for constructing an instance of this type. -pub struct RemoveApikeyParamsBuilder -{ +pub struct RemoveApikeyParamsBuilder< + St: remove_apikey_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -115,7 +114,10 @@ pub struct RemoveApikeyParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RemoveApikeyParamsBuilder { + pub fn new() -> RemoveApikeyParamsBuilder< + remove_apikey_params_state::Empty, + DefaultStr, + > { RemoveApikeyParamsBuilder::new() } } @@ -179,4 +181,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/apikey/update_apikey.rs b/crates/jacquard-api/src/app_rocksky/apikey/update_apikey.rs index 6a48cfaf9..fc3b5ad3c 100644 --- a/crates/jacquard-api/src/app_rocksky/apikey/update_apikey.rs +++ b/crates/jacquard-api/src/app_rocksky/apikey/update_apikey.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateApikey { ///A new description for the API key. #[serde(skip_serializing_if = "Option::is_none")] @@ -33,11 +30,9 @@ pub struct UpdateApikey { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateApikeyOutput { #[serde(flatten)] pub value: Data, @@ -58,8 +53,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateApikeyResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateApikey { const NSID: &'static str = "app.rocksky.apikey.updateApikey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateApikeyResponse; } @@ -69,8 +65,9 @@ Path: `/xrpc/app.rocksky.apikey.updateApikey`. The request payload type is `Upda pub struct UpdateApikeyRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateApikeyRequest { const PATH: &'static str = "/xrpc/app.rocksky.apikey.updateApikey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateApikey; type Response = UpdateApikeyResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/artist.rs b/crates/jacquard-api/src/app_rocksky/artist.rs index 14c6ec2d9..e647f5e9e 100644 --- a/crates/jacquard-api/src/app_rocksky/artist.rs +++ b/crates/jacquard-api/src/app_rocksky/artist.rs @@ -11,12 +11,13 @@ pub mod get_artist_albums; pub mod get_artist_tracks; pub mod get_artists; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -33,7 +34,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of an artist. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -81,11 +82,9 @@ pub struct ArtistGetRecordOutput { pub value: Artist, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ArtistViewBasic { ///The unique identifier of the artist. #[serde(skip_serializing_if = "Option::is_none")] @@ -112,11 +111,9 @@ pub struct ArtistViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ArtistViewDetailed { ///The unique identifier of the artist. #[serde(skip_serializing_if = "Option::is_none")] @@ -245,20 +242,25 @@ impl LexiconSchema for Artist { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("picture"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -336,7 +338,7 @@ impl LexiconSchema for ArtistViewDetailed { pub mod artist_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -507,7 +509,10 @@ where St::Name: artist_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ArtistBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ArtistBuilder, S> { self._fields.5 = Option::Some(value.into()); ArtistBuilder { _state: PhantomData, @@ -580,10 +585,10 @@ where } fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.artist"), @@ -595,19 +600,21 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A declaration of an artist.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("bio"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The biography of the artist.", - )), + description: Some( + CowStr::new_static("The biography of the artist."), + ), max_length: Some(1000usize), ..Default::default() }), @@ -615,9 +622,9 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("born"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The birth date of the artist.", - )), + description: Some( + CowStr::new_static("The birth date of the artist."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -625,9 +632,9 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bornIn"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The birth place of the artist.", - )), + description: Some( + CowStr::new_static("The birth place of the artist."), + ), max_length: Some(256usize), ..Default::default() }), @@ -635,9 +642,9 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date when the artist was created.", - )), + description: Some( + CowStr::new_static("The date when the artist was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -645,9 +652,9 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("died"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The death date of the artist.", - )), + description: Some( + CowStr::new_static("The death date of the artist."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -655,9 +662,9 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The name of the artist.", - )), + description: Some( + CowStr::new_static("The name of the artist."), + ), min_length: Some(1usize), max_length: Some(512usize), ..Default::default() @@ -665,16 +672,14 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("picture"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "The tags of the artist.", - )), + description: Some( + CowStr::new_static("The tags of the artist."), + ), items: LexArrayItem::String(LexString { min_length: Some(1usize), max_length: Some(256usize), @@ -697,10 +702,10 @@ fn lexicon_doc_app_rocksky_artist() -> LexiconDoc<'static> { } fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.artist.defs"), @@ -715,23 +720,27 @@ fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the artist.", - )), + description: Some( + CowStr::new_static("The unique identifier of the artist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the artist.")), + description: Some( + CowStr::new_static("The name of the artist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("picture"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The picture of the artist.")), + description: Some( + CowStr::new_static("The picture of the artist."), + ), ..Default::default() }), ); @@ -745,9 +754,9 @@ fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the artist.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the artist."), + ), ..Default::default() }), ); @@ -761,7 +770,9 @@ fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the artist.")), + description: Some( + CowStr::new_static("The URI of the artist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -780,23 +791,27 @@ fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the artist.", - )), + description: Some( + CowStr::new_static("The unique identifier of the artist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the artist.")), + description: Some( + CowStr::new_static("The name of the artist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("picture"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The picture of the artist.")), + description: Some( + CowStr::new_static("The picture of the artist."), + ), ..Default::default() }), ); @@ -810,9 +825,9 @@ fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the artist.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the artist."), + ), ..Default::default() }), ); @@ -826,7 +841,9 @@ fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the artist.")), + description: Some( + CowStr::new_static("The URI of the artist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -840,4 +857,4 @@ fn lexicon_doc_app_rocksky_artist_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/artist/get_artist.rs b/crates/jacquard-api/src/app_rocksky/artist/get_artist.rs index 13f5c468e..f96060906 100644 --- a/crates/jacquard-api/src/app_rocksky/artist/get_artist.rs +++ b/crates/jacquard-api/src/app_rocksky/artist/get_artist.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::artist::ArtistViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::artist::ArtistViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtist { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistOutput { #[serde(flatten)] pub value: ArtistViewDetailed, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetArtistRequest { pub mod get_artist_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/artist/get_artist_albums.rs b/crates/jacquard-api/src/app_rocksky/artist/get_artist_albums.rs index 5ab96b613..edf0e7460 100644 --- a/crates/jacquard-api/src/app_rocksky/artist/get_artist_albums.rs +++ b/crates/jacquard-api/src/app_rocksky/artist/get_artist_albums.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::album::AlbumViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::album::AlbumViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistAlbums { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistAlbumsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub albums: Option>>, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetArtistAlbumsRequest { pub mod get_artist_albums_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -100,7 +95,10 @@ pub mod get_artist_albums_state { } /// Builder for constructing an instance of this type. -pub struct GetArtistAlbumsBuilder { +pub struct GetArtistAlbumsBuilder< + St: get_artist_albums_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -172,4 +170,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/artist/get_artist_tracks.rs b/crates/jacquard-api/src/app_rocksky/artist/get_artist_tracks.rs index 5a5ab1af1..6cbddfcf3 100644 --- a/crates/jacquard-api/src/app_rocksky/artist/get_artist_tracks.rs +++ b/crates/jacquard-api/src/app_rocksky/artist/get_artist_tracks.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistTracks { /// (min: 1) #[serde(skip_serializing_if = "Option::is_none")] @@ -34,11 +31,9 @@ pub struct GetArtistTracks { pub uri: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistTracksOutput { #[serde(skip_serializing_if = "Option::is_none")] pub tracks: Option>>, @@ -76,7 +71,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetArtistTracksRequest { pub mod get_artist_tracks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -94,7 +89,10 @@ pub mod get_artist_tracks_state { } /// Builder for constructing an instance of this type. -pub struct GetArtistTracksBuilder { +pub struct GetArtistTracksBuilder< + St: get_artist_tracks_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -187,4 +185,4 @@ where uri: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/artist/get_artists.rs b/crates/jacquard-api/src/app_rocksky/artist/get_artists.rs index fcb88de63..91cb3c218 100644 --- a/crates/jacquard-api/src/app_rocksky/artist/get_artists.rs +++ b/crates/jacquard-api/src/app_rocksky/artist/get_artists.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::artist::ArtistViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::artist::ArtistViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -28,11 +28,9 @@ pub struct GetArtists { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub artists: Option>>, @@ -70,7 +68,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetArtistsRequest { pub mod get_artists_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -157,4 +155,4 @@ where offset: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/charts.rs b/crates/jacquard-api/src/app_rocksky/charts.rs index 08252db95..362a16d17 100644 --- a/crates/jacquard-api/src/app_rocksky/charts.rs +++ b/crates/jacquard-api/src/app_rocksky/charts.rs @@ -10,6 +10,7 @@ pub mod get_scrobbles_chart; pub mod get_top_artists; pub mod get_top_tracks; + #[allow(unused_imports)] use alloc::collections::BTreeMap; use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; @@ -23,16 +24,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_rocksky::charts; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::charts; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ChartsView { #[serde(skip_serializing_if = "Option::is_none")] pub scrobbles: Option>>, @@ -40,11 +38,9 @@ pub struct ChartsView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScrobbleViewBasic { ///The number of scrobbles on this date. #[serde(skip_serializing_if = "Option::is_none")] @@ -87,10 +83,10 @@ impl LexiconSchema for ScrobbleViewBasic { } fn lexicon_doc_app_rocksky_charts_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.charts.defs"), @@ -134,7 +130,9 @@ fn lexicon_doc_app_rocksky_charts_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("date"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The date of the scrobble.")), + description: Some( + CowStr::new_static("The date of the scrobble."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -148,4 +146,4 @@ fn lexicon_doc_app_rocksky_charts_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/charts/get_scrobbles_chart.rs b/crates/jacquard-api/src/app_rocksky/charts/get_scrobbles_chart.rs index fe01a6f65..765d27647 100644 --- a/crates/jacquard-api/src/app_rocksky/charts/get_scrobbles_chart.rs +++ b/crates/jacquard-api/src/app_rocksky/charts/get_scrobbles_chart.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::charts::ChartsView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::charts::ChartsView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetScrobblesChart { #[serde(skip_serializing_if = "Option::is_none")] pub albumuri: Option>, @@ -35,11 +32,9 @@ pub struct GetScrobblesChart { pub songuri: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetScrobblesChartOutput { #[serde(flatten)] pub value: ChartsView, @@ -77,7 +72,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetScrobblesChartRequest { pub mod get_scrobbles_chart_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -95,7 +90,10 @@ pub mod get_scrobbles_chart_state { } /// Builder for constructing an instance of this type. -pub struct GetScrobblesChartBuilder { +pub struct GetScrobblesChartBuilder< + St: get_scrobbles_chart_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -108,7 +106,10 @@ pub struct GetScrobblesChartBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetScrobblesChartBuilder { + pub fn new() -> GetScrobblesChartBuilder< + get_scrobbles_chart_state::Empty, + DefaultStr, + > { GetScrobblesChartBuilder::new() } } @@ -207,4 +208,4 @@ where songuri: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/charts/get_top_artists.rs b/crates/jacquard-api/src/app_rocksky/charts/get_top_artists.rs index 356a57068..8ad5474f5 100644 --- a/crates/jacquard-api/src/app_rocksky/charts/get_top_artists.rs +++ b/crates/jacquard-api/src/app_rocksky/charts/get_top_artists.rs @@ -8,15 +8,15 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::artist::ArtistViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Datetime; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::artist::ArtistViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -33,11 +33,9 @@ pub struct GetTopArtists { pub start_date: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTopArtistsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub artists: Option>>, @@ -75,7 +73,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTopArtistsRequest { pub mod get_top_artists_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -190,4 +188,4 @@ where start_date: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/charts/get_top_tracks.rs b/crates/jacquard-api/src/app_rocksky/charts/get_top_tracks.rs index baa12a650..79a7eba12 100644 --- a/crates/jacquard-api/src/app_rocksky/charts/get_top_tracks.rs +++ b/crates/jacquard-api/src/app_rocksky/charts/get_top_tracks.rs @@ -8,15 +8,15 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Datetime; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -33,11 +33,9 @@ pub struct GetTopTracks { pub start_date: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTopTracksOutput { #[serde(skip_serializing_if = "Option::is_none")] pub tracks: Option>>, @@ -75,7 +73,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTopTracksRequest { pub mod get_top_tracks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -190,4 +188,4 @@ where start_date: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/dropbox.rs b/crates/jacquard-api/src/app_rocksky/dropbox.rs index c632ce314..0facb4b63 100644 --- a/crates/jacquard-api/src/app_rocksky/dropbox.rs +++ b/crates/jacquard-api/src/app_rocksky/dropbox.rs @@ -11,9 +11,10 @@ pub mod get_files; pub mod get_metadata; pub mod get_temporary_link; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,16 +25,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_rocksky::dropbox; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::dropbox; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FileListView { ///A list of files in the Dropbox. #[serde(skip_serializing_if = "Option::is_none")] @@ -42,11 +40,9 @@ pub struct FileListView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FileView { ///The last modified date and time of the file on the client. #[serde(skip_serializing_if = "Option::is_none")] @@ -70,11 +66,9 @@ pub struct FileView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TemporaryLinkView { ///The temporary link to access the file. #[serde(skip_serializing_if = "Option::is_none")] @@ -129,10 +123,10 @@ impl LexiconSchema for TemporaryLinkView { } fn lexicon_doc_app_rocksky_dropbox_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.dropbox.defs"), @@ -147,11 +141,13 @@ fn lexicon_doc_app_rocksky_dropbox_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("files"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "A list of files in the Dropbox.", - )), + description: Some( + CowStr::new_static("A list of files in the Dropbox."), + ), items: LexArrayItem::Ref(LexRef { - r#ref: CowStr::new_static("app.rocksky.dropbox.defs#fileView"), + r#ref: CowStr::new_static( + "app.rocksky.dropbox.defs#fileView", + ), ..Default::default() }), ..Default::default() @@ -171,9 +167,11 @@ fn lexicon_doc_app_rocksky_dropbox_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("clientModified"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The last modified date and time of the file on the client.", - )), + description: Some( + CowStr::new_static( + "The last modified date and time of the file on the client.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -181,43 +179,47 @@ fn lexicon_doc_app_rocksky_dropbox_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the file.", - )), + description: Some( + CowStr::new_static("The unique identifier of the file."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the file.")), + description: Some( + CowStr::new_static("The name of the file."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("pathDisplay"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The display path of the file.", - )), + description: Some( + CowStr::new_static("The display path of the file."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("pathLower"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The lowercased path of the file.", - )), + description: Some( + CowStr::new_static("The lowercased path of the file."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("serverModified"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The last modified date and time of the file on the server.", - )), + description: Some( + CowStr::new_static( + "The last modified date and time of the file on the server.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -236,9 +238,9 @@ fn lexicon_doc_app_rocksky_dropbox_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("link"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The temporary link to access the file.", - )), + description: Some( + CowStr::new_static("The temporary link to access the file."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -252,4 +254,4 @@ fn lexicon_doc_app_rocksky_dropbox_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/dropbox/download_file.rs b/crates/jacquard-api/src/app_rocksky/dropbox/download_file.rs index 1b79951cf..7444fbd9b 100644 --- a/crates/jacquard-api/src/app_rocksky/dropbox/download_file.rs +++ b/crates/jacquard-api/src/app_rocksky/dropbox/download_file.rs @@ -10,22 +10,20 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DownloadFile { pub file_id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct DownloadFileOutput { @@ -81,7 +79,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DownloadFileRequest { pub mod download_file_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -184,4 +182,4 @@ where file_id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/dropbox/get_files.rs b/crates/jacquard-api/src/app_rocksky/dropbox/get_files.rs index 7db34dd63..14124c5b1 100644 --- a/crates/jacquard-api/src/app_rocksky/dropbox/get_files.rs +++ b/crates/jacquard-api/src/app_rocksky/dropbox/get_files.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::dropbox::FileListView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::dropbox::FileListView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFiles { #[serde(skip_serializing_if = "Option::is_none")] pub at: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFilesOutput { #[serde(flatten)] pub value: FileListView, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFilesRequest { pub mod get_files_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -150,4 +145,4 @@ where pub fn build(self) -> GetFiles { GetFiles { at: self._fields.0 } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/dropbox/get_metadata.rs b/crates/jacquard-api/src/app_rocksky/dropbox/get_metadata.rs index 106b0e718..afae5cb4d 100644 --- a/crates/jacquard-api/src/app_rocksky/dropbox/get_metadata.rs +++ b/crates/jacquard-api/src/app_rocksky/dropbox/get_metadata.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::dropbox::FileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::dropbox::FileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMetadata { pub path: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMetadataOutput { #[serde(flatten)] pub value: FileView, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetMetadataRequest { pub mod get_metadata_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -171,4 +166,4 @@ where path: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/dropbox/get_temporary_link.rs b/crates/jacquard-api/src/app_rocksky/dropbox/get_temporary_link.rs index 5766c4a5a..547e71282 100644 --- a/crates/jacquard-api/src/app_rocksky/dropbox/get_temporary_link.rs +++ b/crates/jacquard-api/src/app_rocksky/dropbox/get_temporary_link.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::dropbox::TemporaryLinkView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::dropbox::TemporaryLinkView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTemporaryLink { pub path: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTemporaryLinkOutput { #[serde(flatten)] pub value: TemporaryLinkView, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTemporaryLinkRequest { pub mod get_temporary_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_temporary_link_state { } /// Builder for constructing an instance of this type. -pub struct GetTemporaryLinkBuilder { +pub struct GetTemporaryLinkBuilder< + St: get_temporary_link_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -107,7 +105,10 @@ pub struct GetTemporaryLinkBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetTemporaryLinkBuilder { + pub fn new() -> GetTemporaryLinkBuilder< + get_temporary_link_state::Empty, + DefaultStr, + > { GetTemporaryLinkBuilder::new() } } @@ -171,4 +172,4 @@ where path: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed.rs b/crates/jacquard-api/src/app_rocksky/feed.rs index 82c914308..04ac76ccb 100644 --- a/crates/jacquard-api/src/app_rocksky/feed.rs +++ b/crates/jacquard-api/src/app_rocksky/feed.rs @@ -15,9 +15,10 @@ pub mod get_now_playings; pub mod get_stories; pub mod search; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -29,21 +30,18 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_rocksky::actor::ProfileViewBasic; use crate::app_rocksky::album::AlbumViewBasic; use crate::app_rocksky::artist::ArtistViewBasic; -use crate::app_rocksky::feed; use crate::app_rocksky::playlist::PlaylistViewBasic; use crate::app_rocksky::song::SongViewBasic; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_rocksky::feed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NowPlayingView { #[serde(skip_serializing_if = "Option::is_none")] pub album: Option, @@ -79,11 +77,9 @@ pub struct NowPlayingView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NowPlayingsView { #[serde(skip_serializing_if = "Option::is_none")] pub now_playings: Option>>, @@ -91,11 +87,9 @@ pub struct NowPlayingsView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchResultsView { #[serde(skip_serializing_if = "Option::is_none")] pub estimated_total_hits: Option, @@ -111,6 +105,7 @@ pub struct SearchResultsView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -173,10 +168,10 @@ impl LexiconSchema for SearchResultsView { } fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.feed.defs"), @@ -190,9 +185,7 @@ fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("album"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("albumArt"), @@ -203,9 +196,7 @@ fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("albumArtist"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("albumUri"), @@ -216,9 +207,7 @@ fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("artist"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("artistUri"), @@ -236,9 +225,7 @@ fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("createdAt"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("did"), @@ -249,27 +236,19 @@ fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("handle"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("title"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("trackId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("trackUri"), @@ -332,15 +311,9 @@ fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { refs: vec![ CowStr::new_static("app.rocksky.song.defs#songViewBasic"), CowStr::new_static("app.rocksky.album.defs#albumViewBasic"), - CowStr::new_static( - "app.rocksky.artist.defs#artistViewBasic", - ), - CowStr::new_static( - "app.rocksky.playlist.defs#playlistViewBasic", - ), - CowStr::new_static( - "app.rocksky.actor.defs#profileViewBasic", - ), + CowStr::new_static("app.rocksky.artist.defs#artistViewBasic"), + CowStr::new_static("app.rocksky.playlist.defs#playlistViewBasic"), + CowStr::new_static("app.rocksky.actor.defs#profileViewBasic") ], ..Default::default() }), @@ -374,4 +347,4 @@ fn lexicon_doc_app_rocksky_feed_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/generator.rs b/crates/jacquard-api/src/app_rocksky/feed/generator.rs index 9685459c7..a6b819978 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/generator.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/generator.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -120,20 +120,25 @@ impl LexiconSchema for Generator { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -191,7 +196,7 @@ impl LexiconSchema for Generator { pub mod generator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -398,7 +403,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Generator { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Generator { Generator { avatar: self._fields.0, created_at: self._fields.1.unwrap(), @@ -411,10 +419,10 @@ where } fn lexicon_doc_app_rocksky_feed_generator() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.feed.generator"), @@ -485,4 +493,4 @@ fn lexicon_doc_app_rocksky_feed_generator() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/get_feed.rs b/crates/jacquard-api/src/app_rocksky/feed/get_feed.rs index 27d5cee63..bc7a13133 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/get_feed.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/get_feed.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeed { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct GetFeed { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedOutput { #[serde(flatten)] pub value: Data, @@ -73,7 +68,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFeedRequest { pub mod get_feed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -204,4 +199,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/get_feed_generator.rs b/crates/jacquard-api/src/app_rocksky/feed/get_feed_generator.rs index 973b89911..ad1a14f09 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/get_feed_generator.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/get_feed_generator.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedGenerator { pub feed: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedGeneratorOutput { #[serde(skip_serializing_if = "Option::is_none")] pub view: Option>, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFeedGeneratorRequest { pub mod get_feed_generator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_feed_generator_state { } /// Builder for constructing an instance of this type. -pub struct GetFeedGeneratorBuilder { +pub struct GetFeedGeneratorBuilder< + St: get_feed_generator_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -107,7 +105,10 @@ pub struct GetFeedGeneratorBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetFeedGeneratorBuilder { + pub fn new() -> GetFeedGeneratorBuilder< + get_feed_generator_state::Empty, + DefaultStr, + > { GetFeedGeneratorBuilder::new() } } @@ -171,4 +172,4 @@ where feed: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/get_feed_generators.rs b/crates/jacquard-api/src/app_rocksky/feed/get_feed_generators.rs index 1dc4b247d..acc706d2b 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/get_feed_generators.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/get_feed_generators.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -24,11 +24,9 @@ pub struct GetFeedGenerators { pub size: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedGeneratorsOutput { #[serde(flatten)] pub value: Data, @@ -66,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFeedGeneratorsRequest { pub mod get_feed_generators_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -139,4 +137,4 @@ where size: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/get_feed_skeleton.rs b/crates/jacquard-api/src/app_rocksky/feed/get_feed_skeleton.rs index 53f7359d9..8d164e66b 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/get_feed_skeleton.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/get_feed_skeleton.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedSkeleton { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -35,11 +32,9 @@ pub struct GetFeedSkeleton { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFeedSkeletonOutput { ///The pagination cursor for the next set of results. #[serde(skip_serializing_if = "Option::is_none")] @@ -80,7 +75,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFeedSkeletonRequest { pub mod get_feed_skeleton_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -111,7 +106,10 @@ pub mod get_feed_skeleton_state { } /// Builder for constructing an instance of this type. -pub struct GetFeedSkeletonBuilder { +pub struct GetFeedSkeletonBuilder< + St: get_feed_skeleton_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option, Option), _type: PhantomData S>, @@ -225,4 +223,4 @@ where offset: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/get_now_playings.rs b/crates/jacquard-api/src/app_rocksky/feed/get_now_playings.rs index 0a3f95ae5..27bd80116 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/get_now_playings.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/get_now_playings.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::feed::NowPlayingsView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::feed::NowPlayingsView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -25,11 +25,9 @@ pub struct GetNowPlayings { pub size: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetNowPlayingsOutput { #[serde(flatten)] pub value: NowPlayingsView, @@ -67,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetNowPlayingsRequest { pub mod get_now_playings_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -140,4 +138,4 @@ where size: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/get_stories.rs b/crates/jacquard-api/src/app_rocksky/feed/get_stories.rs index fcac7cd55..7c399d47e 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/get_stories.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/get_stories.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -24,11 +24,9 @@ pub struct GetStories { pub size: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStoriesOutput { #[serde(flatten)] pub value: Data, @@ -66,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStoriesRequest { pub mod get_stories_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -135,8 +133,6 @@ where { /// Build the final struct. pub fn build(self) -> GetStories { - GetStories { - size: self._fields.0, - } + GetStories { size: self._fields.0 } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/feed/search.rs b/crates/jacquard-api/src/app_rocksky/feed/search.rs index 5561133fa..c40f799ef 100644 --- a/crates/jacquard-api/src/app_rocksky/feed/search.rs +++ b/crates/jacquard-api/src/app_rocksky/feed/search.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::feed::SearchResultsView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::feed::SearchResultsView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Search { pub query: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchOutput { #[serde(flatten)] pub value: SearchResultsView, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for SearchRequest { pub mod search_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -147,7 +142,10 @@ where St::Query: search_state::IsUnset, { /// Set the `query` field (required) - pub fn query(mut self, value: impl Into) -> SearchBuilder, S> { + pub fn query( + mut self, + value: impl Into, + ) -> SearchBuilder, S> { self._fields.0 = Option::Some(value.into()); SearchBuilder { _state: PhantomData, @@ -168,4 +166,4 @@ where query: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/googledrive.rs b/crates/jacquard-api/src/app_rocksky/googledrive.rs index 0db99a347..b1a689c7f 100644 --- a/crates/jacquard-api/src/app_rocksky/googledrive.rs +++ b/crates/jacquard-api/src/app_rocksky/googledrive.rs @@ -10,9 +10,10 @@ pub mod download_file; pub mod get_file; pub mod get_files; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,16 +23,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_rocksky::googledrive; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::googledrive; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FileListView { #[serde(skip_serializing_if = "Option::is_none")] pub files: Option>>, @@ -39,11 +37,9 @@ pub struct FileListView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FileView { ///The unique identifier of the file. #[serde(skip_serializing_if = "Option::is_none")] @@ -83,10 +79,10 @@ impl LexiconSchema for FileView { } fn lexicon_doc_app_rocksky_googledrive_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.googledrive.defs"), @@ -124,9 +120,9 @@ fn lexicon_doc_app_rocksky_googledrive_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the file.", - )), + description: Some( + CowStr::new_static("The unique identifier of the file."), + ), ..Default::default() }), ); @@ -139,4 +135,4 @@ fn lexicon_doc_app_rocksky_googledrive_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/googledrive/download_file.rs b/crates/jacquard-api/src/app_rocksky/googledrive/download_file.rs index 347321043..c1209859a 100644 --- a/crates/jacquard-api/src/app_rocksky/googledrive/download_file.rs +++ b/crates/jacquard-api/src/app_rocksky/googledrive/download_file.rs @@ -10,22 +10,20 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DownloadFile { pub file_id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct DownloadFileOutput { @@ -81,7 +79,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DownloadFileRequest { pub mod download_file_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -184,4 +182,4 @@ where file_id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/googledrive/get_file.rs b/crates/jacquard-api/src/app_rocksky/googledrive/get_file.rs index 38776c65b..a40dbc047 100644 --- a/crates/jacquard-api/src/app_rocksky/googledrive/get_file.rs +++ b/crates/jacquard-api/src/app_rocksky/googledrive/get_file.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::googledrive::FileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::googledrive::FileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFile { pub file_id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFileOutput { #[serde(flatten)] pub value: FileView, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFileRequest { pub mod get_file_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -171,4 +166,4 @@ where file_id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/googledrive/get_files.rs b/crates/jacquard-api/src/app_rocksky/googledrive/get_files.rs index 496bf9672..a3e6737c9 100644 --- a/crates/jacquard-api/src/app_rocksky/googledrive/get_files.rs +++ b/crates/jacquard-api/src/app_rocksky/googledrive/get_files.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::googledrive::FileListView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::googledrive::FileListView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFiles { #[serde(skip_serializing_if = "Option::is_none")] pub at: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFilesOutput { #[serde(flatten)] pub value: FileListView, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFilesRequest { pub mod get_files_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -150,4 +145,4 @@ where pub fn build(self) -> GetFiles { GetFiles { at: self._fields.0 } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/graph.rs b/crates/jacquard-api/src/app_rocksky/graph.rs index b51572a8b..85d8f05a2 100644 --- a/crates/jacquard-api/src/app_rocksky/graph.rs +++ b/crates/jacquard-api/src/app_rocksky/graph.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `app.rocksky.graph` Lexicon namespace/module. -pub mod follow; +pub mod follow; \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/graph/follow.rs b/crates/jacquard-api/src/app_rocksky/graph/follow.rs index 6219b6f1e..f695851c1 100644 --- a/crates/jacquard-api/src/app_rocksky/graph/follow.rs +++ b/crates/jacquard-api/src/app_rocksky/graph/follow.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Record declaring a social 'follow' relationship of another account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Follow { pub mod follow_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -270,10 +270,10 @@ where } fn lexicon_doc_app_rocksky_graph_follow() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.graph.follow"), @@ -282,15 +282,19 @@ fn lexicon_doc_app_rocksky_graph_follow() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record declaring a social 'follow' relationship of another account.", - )), + description: Some( + CowStr::new_static( + "Record declaring a social 'follow' relationship of another account.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("createdAt"), - SmolStr::new_static("subject"), - ]), + required: Some( + vec![ + SmolStr::new_static("createdAt"), + SmolStr::new_static("subject") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -326,4 +330,4 @@ fn lexicon_doc_app_rocksky_graph_follow() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/like.rs b/crates/jacquard-api/src/app_rocksky/like.rs index 6d583c3a2..79de828e3 100644 --- a/crates/jacquard-api/src/app_rocksky/like.rs +++ b/crates/jacquard-api/src/app_rocksky/like.rs @@ -11,12 +11,13 @@ pub mod dislike_song; pub mod like_shout; pub mod like_song; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -30,10 +31,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A declaration of a like. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -112,7 +113,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -260,10 +261,10 @@ where } fn lexicon_doc_app_rocksky_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.like"), @@ -275,19 +276,21 @@ fn lexicon_doc_app_rocksky_like() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A declaration of a like.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("createdAt"), - SmolStr::new_static("subject"), - ]), + required: Some( + vec![ + SmolStr::new_static("createdAt"), + SmolStr::new_static("subject") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date when the like was created.", - )), + description: Some( + CowStr::new_static("The date when the like was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -310,4 +313,4 @@ fn lexicon_doc_app_rocksky_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/like/dislike_shout.rs b/crates/jacquard-api/src/app_rocksky/like/dislike_shout.rs index bbfd5e4bc..714bfb0a4 100644 --- a/crates/jacquard-api/src/app_rocksky/like/dislike_shout.rs +++ b/crates/jacquard-api/src/app_rocksky/like/dislike_shout.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::shout::ShoutView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::shout::ShoutView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DislikeShout { ///The unique identifier of the shout to dislike #[serde(skip_serializing_if = "Option::is_none")] @@ -31,11 +28,9 @@ pub struct DislikeShout { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DislikeShoutOutput { #[serde(flatten)] pub value: ShoutView, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for DislikeShoutResponse { impl jacquard_common::xrpc::XrpcRequest for DislikeShout { const NSID: &'static str = "app.rocksky.like.dislikeShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DislikeShoutResponse; } @@ -67,8 +63,9 @@ Path: `/xrpc/app.rocksky.like.dislikeShout`. The request payload type is `Dislik pub struct DislikeShoutRequest; impl jacquard_common::xrpc::XrpcEndpoint for DislikeShoutRequest { const PATH: &'static str = "/xrpc/app.rocksky.like.dislikeShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DislikeShout; type Response = DislikeShoutResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/like/dislike_song.rs b/crates/jacquard-api/src/app_rocksky/like/dislike_song.rs index 0ea1d69ed..cc7ee5323 100644 --- a/crates/jacquard-api/src/app_rocksky/like/dislike_song.rs +++ b/crates/jacquard-api/src/app_rocksky/like/dislike_song.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DislikeSong { ///The unique identifier of the song to dislike #[serde(skip_serializing_if = "Option::is_none")] @@ -31,11 +28,9 @@ pub struct DislikeSong { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DislikeSongOutput { #[serde(flatten)] pub value: SongViewDetailed, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for DislikeSongResponse { impl jacquard_common::xrpc::XrpcRequest for DislikeSong { const NSID: &'static str = "app.rocksky.like.dislikeSong"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DislikeSongResponse; } @@ -67,8 +63,9 @@ Path: `/xrpc/app.rocksky.like.dislikeSong`. The request payload type is `Dislike pub struct DislikeSongRequest; impl jacquard_common::xrpc::XrpcEndpoint for DislikeSongRequest { const PATH: &'static str = "/xrpc/app.rocksky.like.dislikeSong"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DislikeSong; type Response = DislikeSongResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/like/like_shout.rs b/crates/jacquard-api/src/app_rocksky/like/like_shout.rs index 079762704..f33da50a3 100644 --- a/crates/jacquard-api/src/app_rocksky/like/like_shout.rs +++ b/crates/jacquard-api/src/app_rocksky/like/like_shout.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::shout::ShoutView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::shout::ShoutView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LikeShout { ///The unique identifier of the shout to like #[serde(skip_serializing_if = "Option::is_none")] @@ -31,11 +28,9 @@ pub struct LikeShout { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LikeShoutOutput { #[serde(flatten)] pub value: ShoutView, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for LikeShoutResponse { impl jacquard_common::xrpc::XrpcRequest for LikeShout { const NSID: &'static str = "app.rocksky.like.likeShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = LikeShoutResponse; } @@ -67,8 +63,9 @@ Path: `/xrpc/app.rocksky.like.likeShout`. The request payload type is `LikeShout pub struct LikeShoutRequest; impl jacquard_common::xrpc::XrpcEndpoint for LikeShoutRequest { const PATH: &'static str = "/xrpc/app.rocksky.like.likeShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = LikeShout; type Response = LikeShoutResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/like/like_song.rs b/crates/jacquard-api/src/app_rocksky/like/like_song.rs index dbb3d3d7c..5cc4e3793 100644 --- a/crates/jacquard-api/src/app_rocksky/like/like_song.rs +++ b/crates/jacquard-api/src/app_rocksky/like/like_song.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LikeSong { ///The unique identifier of the song to like #[serde(skip_serializing_if = "Option::is_none")] @@ -31,11 +28,9 @@ pub struct LikeSong { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LikeSongOutput { #[serde(flatten)] pub value: SongViewDetailed, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for LikeSongResponse { impl jacquard_common::xrpc::XrpcRequest for LikeSong { const NSID: &'static str = "app.rocksky.like.likeSong"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = LikeSongResponse; } @@ -67,8 +63,9 @@ Path: `/xrpc/app.rocksky.like.likeSong`. The request payload type is `LikeSong = LikeSong; type Response = LikeSongResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/player.rs b/crates/jacquard-api/src/app_rocksky/player.rs index a3bf82b28..4c4f91aa7 100644 --- a/crates/jacquard-api/src/app_rocksky/player.rs +++ b/crates/jacquard-api/src/app_rocksky/player.rs @@ -13,9 +13,10 @@ pub mod play; pub mod previous; pub mod seek; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,13 +28,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CurrentlyPlayingViewDetailed { ///The title of the currently playing track #[serde(skip_serializing_if = "Option::is_none")] @@ -58,10 +56,10 @@ impl LexiconSchema for CurrentlyPlayingViewDetailed { } fn lexicon_doc_app_rocksky_player_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.player.defs"), @@ -76,9 +74,11 @@ fn lexicon_doc_app_rocksky_player_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The title of the currently playing track", - )), + description: Some( + CowStr::new_static( + "The title of the currently playing track", + ), + ), ..Default::default() }), ); @@ -91,4 +91,4 @@ fn lexicon_doc_app_rocksky_player_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/player/get_currently_playing.rs b/crates/jacquard-api/src/app_rocksky/player/get_currently_playing.rs index d9eb15ff1..3df9135dc 100644 --- a/crates/jacquard-api/src/app_rocksky/player/get_currently_playing.rs +++ b/crates/jacquard-api/src/app_rocksky/player/get_currently_playing.rs @@ -8,31 +8,26 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::player::CurrentlyPlayingViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::player::CurrentlyPlayingViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetCurrentlyPlaying { #[serde(skip_serializing_if = "Option::is_none")] pub actor: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetCurrentlyPlayingOutput { #[serde(flatten)] pub value: CurrentlyPlayingViewDetailed, @@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetCurrentlyPlayingRequest { pub mod get_currently_playing_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,14 +94,20 @@ pub struct GetCurrentlyPlayingBuilder< impl GetCurrentlyPlaying { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetCurrentlyPlayingBuilder { + pub fn new() -> GetCurrentlyPlayingBuilder< + get_currently_playing_state::Empty, + DefaultStr, + > { GetCurrentlyPlayingBuilder::new() } } impl GetCurrentlyPlaying { /// Create a new builder for this type - pub fn builder() -> GetCurrentlyPlayingBuilder { + pub fn builder() -> GetCurrentlyPlayingBuilder< + get_currently_playing_state::Empty, + S, + > { GetCurrentlyPlayingBuilder::builder() } } @@ -133,7 +134,10 @@ impl GetCurrentlyPlayingBuilder GetCurrentlyPlayingBuilder { +impl< + St: get_currently_playing_state::State, + S: BosStr, +> GetCurrentlyPlayingBuilder { /// Set the `actor` field (optional) pub fn actor(mut self, value: impl Into>>) -> Self { self._fields.0 = value.into(); @@ -156,4 +160,4 @@ where actor: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/player/next.rs b/crates/jacquard-api/src/app_rocksky/player/next.rs index d40be572c..b16a269c0 100644 --- a/crates/jacquard-api/src/app_rocksky/player/next.rs +++ b/crates/jacquard-api/src/app_rocksky/player/next.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.player.next` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for NextResponse { impl jacquard_common::xrpc::XrpcRequest for Next { const NSID: &'static str = "app.rocksky.player.next"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = NextResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.player.next`. The request payload type is `Next`; use t pub struct NextRequest; impl jacquard_common::xrpc::XrpcEndpoint for NextRequest { const PATH: &'static str = "/xrpc/app.rocksky.player.next"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Next; type Response = NextResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/player/pause.rs b/crates/jacquard-api/src/app_rocksky/player/pause.rs index c6de106e7..1af6c81d6 100644 --- a/crates/jacquard-api/src/app_rocksky/player/pause.rs +++ b/crates/jacquard-api/src/app_rocksky/player/pause.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.player.pause` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for PauseResponse { impl jacquard_common::xrpc::XrpcRequest for Pause { const NSID: &'static str = "app.rocksky.player.pause"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PauseResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.player.pause`. The request payload type is `Pause`; use pub struct PauseRequest; impl jacquard_common::xrpc::XrpcEndpoint for PauseRequest { const PATH: &'static str = "/xrpc/app.rocksky.player.pause"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Pause; type Response = PauseResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/player/play.rs b/crates/jacquard-api/src/app_rocksky/player/play.rs index 73bba17e3..607a222b4 100644 --- a/crates/jacquard-api/src/app_rocksky/player/play.rs +++ b/crates/jacquard-api/src/app_rocksky/player/play.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.player.play` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for PlayResponse { impl jacquard_common::xrpc::XrpcRequest for Play { const NSID: &'static str = "app.rocksky.player.play"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PlayResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.player.play`. The request payload type is `Play`; use t pub struct PlayRequest; impl jacquard_common::xrpc::XrpcEndpoint for PlayRequest { const PATH: &'static str = "/xrpc/app.rocksky.player.play"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Play; type Response = PlayResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/player/previous.rs b/crates/jacquard-api/src/app_rocksky/player/previous.rs index f168b9e28..23cbe03fb 100644 --- a/crates/jacquard-api/src/app_rocksky/player/previous.rs +++ b/crates/jacquard-api/src/app_rocksky/player/previous.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.player.previous` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for PreviousResponse { impl jacquard_common::xrpc::XrpcRequest for Previous { const NSID: &'static str = "app.rocksky.player.previous"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PreviousResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.player.previous`. The request payload type is `Previous pub struct PreviousRequest; impl jacquard_common::xrpc::XrpcEndpoint for PreviousRequest { const PATH: &'static str = "/xrpc/app.rocksky.player.previous"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Previous; type Response = PreviousResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/player/seek.rs b/crates/jacquard-api/src/app_rocksky/player/seek.rs index 932833392..db164b678 100644 --- a/crates/jacquard-api/src/app_rocksky/player/seek.rs +++ b/crates/jacquard-api/src/app_rocksky/player/seek.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -41,8 +41,9 @@ impl jacquard_common::xrpc::XrpcResp for SeekResponse { impl jacquard_common::xrpc::XrpcRequest for Seek { const NSID: &'static str = "app.rocksky.player.seek"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SeekResponse; } @@ -52,15 +53,16 @@ Path: `/xrpc/app.rocksky.player.seek`. The request payload type is `Seek`; use t pub struct SeekRequest; impl jacquard_common::xrpc::XrpcEndpoint for SeekRequest { const PATH: &'static str = "/xrpc/app.rocksky.player.seek"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Seek; type Response = SeekResponse; } pub mod seek_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -152,4 +154,4 @@ where position: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/playlist.rs b/crates/jacquard-api/src/app_rocksky/playlist.rs index 742a89d76..0684c31c0 100644 --- a/crates/jacquard-api/src/app_rocksky/playlist.rs +++ b/crates/jacquard-api/src/app_rocksky/playlist.rs @@ -9,12 +9,13 @@ pub mod get_playlist; pub mod get_playlists; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -30,10 +31,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_rocksky::song::SongViewBasic; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewBasic; /// A declaration of a playlist. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -87,10 +88,7 @@ pub struct PlaylistGetRecordOutput { /// Basic view of a playlist, including its metadata #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PlaylistViewBasic { ///The URL of the cover image for the playlist. #[serde(skip_serializing_if = "Option::is_none")] @@ -132,10 +130,7 @@ pub struct PlaylistViewBasic { /// Detailed view of a playlist, including its tracks and metadata #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PlaylistViewDetailed { ///The URL of the cover image for the playlist. #[serde(skip_serializing_if = "Option::is_none")] @@ -276,20 +271,25 @@ impl LexiconSchema for Playlist { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("picture"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -340,7 +340,7 @@ impl LexiconSchema for PlaylistViewDetailed { pub mod playlist_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -486,7 +486,10 @@ where St::Name: playlist_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> PlaylistBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> PlaylistBuilder, S> { self._fields.3 = Option::Some(value.into()); PlaylistBuilder { _state: PhantomData, @@ -600,10 +603,10 @@ where } fn lexicon_doc_app_rocksky_playlist() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.playlist"), @@ -612,31 +615,35 @@ fn lexicon_doc_app_rocksky_playlist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A declaration of a playlist.")), + description: Some( + CowStr::new_static("A declaration of a playlist."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("appleMusicLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Apple Music link of the playlist.", - )), + description: Some( + CowStr::new_static("The Apple Music link of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date the playlist was created.", - )), + description: Some( + CowStr::new_static("The date the playlist was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -644,9 +651,9 @@ fn lexicon_doc_app_rocksky_playlist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The playlist description.", - )), + description: Some( + CowStr::new_static("The playlist description."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -655,9 +662,9 @@ fn lexicon_doc_app_rocksky_playlist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The name of the playlist.", - )), + description: Some( + CowStr::new_static("The name of the playlist."), + ), min_length: Some(1usize), max_length: Some(512usize), ..Default::default() @@ -665,34 +672,32 @@ fn lexicon_doc_app_rocksky_playlist() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("picture"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("spotifyLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Spotify link of the playlist.", - )), + description: Some( + CowStr::new_static("The Spotify link of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("tidalLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Tidal link of the playlist.", - )), + description: Some( + CowStr::new_static("The Tidal link of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("tracks"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "The tracks in the playlist.", - )), + description: Some( + CowStr::new_static("The tracks in the playlist."), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.rocksky.song#record"), ..Default::default() @@ -703,9 +708,9 @@ fn lexicon_doc_app_rocksky_playlist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("youtubeLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The YouTube link of the playlist.", - )), + description: Some( + CowStr::new_static("The YouTube link of the playlist."), + ), ..Default::default() }), ); @@ -723,10 +728,10 @@ fn lexicon_doc_app_rocksky_playlist() -> LexiconDoc<'static> { } fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.playlist.defs"), @@ -735,18 +740,22 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("playlistViewBasic"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Basic view of a playlist, including its metadata", - )), + description: Some( + CowStr::new_static( + "Basic view of a playlist, including its metadata", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("coverImageUrl"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the cover image for the playlist.", - )), + description: Some( + CowStr::new_static( + "The URL of the cover image for the playlist.", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -754,9 +763,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the playlist was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the playlist was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -764,9 +775,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorAvatarUrl"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the avatar image of the curator.", - )), + description: Some( + CowStr::new_static( + "The URL of the avatar image of the curator.", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -774,9 +787,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the curator of the playlist.", - )), + description: Some( + CowStr::new_static( + "The DID of the curator of the playlist.", + ), + ), format: Some(LexStringFormat::AtIdentifier), ..Default::default() }), @@ -784,9 +799,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorHandle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The handle of the curator of the playlist.", - )), + description: Some( + CowStr::new_static( + "The handle of the curator of the playlist.", + ), + ), format: Some(LexStringFormat::AtIdentifier), ..Default::default() }), @@ -794,34 +811,38 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The name of the curator of the playlist.", - )), + description: Some( + CowStr::new_static( + "The name of the curator of the playlist.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A description of the playlist.", - )), + description: Some( + CowStr::new_static("A description of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the playlist.", - )), + description: Some( + CowStr::new_static("The unique identifier of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the playlist.")), + description: Some( + CowStr::new_static("The title of the playlist."), + ), ..Default::default() }), ); @@ -835,7 +856,9 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the playlist.")), + description: Some( + CowStr::new_static("The URI of the playlist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -848,18 +871,22 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("playlistViewDetailed"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Detailed view of a playlist, including its tracks and metadata", - )), + description: Some( + CowStr::new_static( + "Detailed view of a playlist, including its tracks and metadata", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("coverImageUrl"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the cover image for the playlist.", - )), + description: Some( + CowStr::new_static( + "The URL of the cover image for the playlist.", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -867,9 +894,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the playlist was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the playlist was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -877,9 +906,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorAvatarUrl"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the avatar image of the curator.", - )), + description: Some( + CowStr::new_static( + "The URL of the avatar image of the curator.", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -887,9 +918,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the curator of the playlist.", - )), + description: Some( + CowStr::new_static( + "The DID of the curator of the playlist.", + ), + ), format: Some(LexStringFormat::AtIdentifier), ..Default::default() }), @@ -897,9 +930,11 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorHandle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The handle of the curator of the playlist.", - )), + description: Some( + CowStr::new_static( + "The handle of the curator of the playlist.", + ), + ), format: Some(LexStringFormat::AtIdentifier), ..Default::default() }), @@ -907,43 +942,47 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("curatorName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The name of the curator of the playlist.", - )), + description: Some( + CowStr::new_static( + "The name of the curator of the playlist.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A description of the playlist.", - )), + description: Some( + CowStr::new_static("A description of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the playlist.", - )), + description: Some( + CowStr::new_static("The unique identifier of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the playlist.")), + description: Some( + CowStr::new_static("The title of the playlist."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("tracks"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "A list of tracks in the playlist.", - )), + description: Some( + CowStr::new_static("A list of tracks in the playlist."), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static( "app.rocksky.song.defs#songViewBasic", @@ -956,7 +995,9 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the playlist.")), + description: Some( + CowStr::new_static("The URI of the playlist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -970,4 +1011,4 @@ fn lexicon_doc_app_rocksky_playlist_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/playlist/get_playlist.rs b/crates/jacquard-api/src/app_rocksky/playlist/get_playlist.rs index d93db128f..b8b38b12b 100644 --- a/crates/jacquard-api/src/app_rocksky/playlist/get_playlist.rs +++ b/crates/jacquard-api/src/app_rocksky/playlist/get_playlist.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::playlist::PlaylistViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::playlist::PlaylistViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPlaylist { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPlaylistOutput { #[serde(flatten)] pub value: PlaylistViewDetailed, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPlaylistRequest { pub mod get_playlist_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/playlist/get_playlists.rs b/crates/jacquard-api/src/app_rocksky/playlist/get_playlists.rs index 8258d2df2..a1e041532 100644 --- a/crates/jacquard-api/src/app_rocksky/playlist/get_playlists.rs +++ b/crates/jacquard-api/src/app_rocksky/playlist/get_playlists.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::playlist::PlaylistViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::playlist::PlaylistViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -26,11 +26,9 @@ pub struct GetPlaylists { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPlaylistsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub playlists: Option>>, @@ -68,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPlaylistsRequest { pub mod get_playlists_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -155,4 +153,4 @@ where offset: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/radio.rs b/crates/jacquard-api/src/app_rocksky/radio.rs index a52194178..b1141d3a1 100644 --- a/crates/jacquard-api/src/app_rocksky/radio.rs +++ b/crates/jacquard-api/src/app_rocksky/radio.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a radio station. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -71,11 +71,9 @@ pub struct RadioGetRecordOutput { pub value: Radio, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RadioViewBasic { ///The date and time when the radio was created. #[serde(skip_serializing_if = "Option::is_none")] @@ -93,11 +91,9 @@ pub struct RadioViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RadioViewDetailed { ///The date and time when the radio was created. #[serde(skip_serializing_if = "Option::is_none")] @@ -227,20 +223,25 @@ impl LexiconSchema for Radio { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("logo"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -304,7 +305,7 @@ impl LexiconSchema for RadioViewDetailed { pub mod radio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -475,7 +476,10 @@ where St::Name: radio_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> RadioBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> RadioBuilder, S> { self._fields.4 = Option::Some(value.into()); RadioBuilder { _state: PhantomData, @@ -553,10 +557,10 @@ where } fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.radio"), @@ -565,23 +569,28 @@ fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A declaration of a radio station.")), + description: Some( + CowStr::new_static("A declaration of a radio station."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("url"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("url"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date when the radio station was created.", - )), + description: Some( + CowStr::new_static( + "The date when the radio station was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -589,9 +598,9 @@ fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A description of the radio station.", - )), + description: Some( + CowStr::new_static("A description of the radio station."), + ), min_length: Some(1usize), max_length: Some(1000usize), ..Default::default() @@ -600,9 +609,9 @@ fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("genre"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The genre of the radio station.", - )), + description: Some( + CowStr::new_static("The genre of the radio station."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -610,16 +619,14 @@ fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("logo"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The name of the radio station.", - )), + description: Some( + CowStr::new_static("The name of the radio station."), + ), min_length: Some(1usize), max_length: Some(512usize), ..Default::default() @@ -628,9 +635,9 @@ fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the radio station.", - )), + description: Some( + CowStr::new_static("The URL of the radio station."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -638,9 +645,9 @@ fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("website"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The website of the radio station.", - )), + description: Some( + CowStr::new_static("The website of the radio station."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -659,10 +666,10 @@ fn lexicon_doc_app_rocksky_radio() -> LexiconDoc<'static> { } fn lexicon_doc_app_rocksky_radio_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.radio.defs"), @@ -677,9 +684,11 @@ fn lexicon_doc_app_rocksky_radio_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the radio was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the radio was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -687,25 +696,27 @@ fn lexicon_doc_app_rocksky_radio_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A brief description of the radio.", - )), + description: Some( + CowStr::new_static("A brief description of the radio."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the radio.", - )), + description: Some( + CowStr::new_static("The unique identifier of the radio."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the radio.")), + description: Some( + CowStr::new_static("The name of the radio."), + ), ..Default::default() }), ); @@ -723,9 +734,11 @@ fn lexicon_doc_app_rocksky_radio_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date and time when the radio was created.", - )), + description: Some( + CowStr::new_static( + "The date and time when the radio was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -733,50 +746,54 @@ fn lexicon_doc_app_rocksky_radio_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A brief description of the radio.", - )), + description: Some( + CowStr::new_static("A brief description of the radio."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("genre"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The genre of the radio.")), + description: Some( + CowStr::new_static("The genre of the radio."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the radio.", - )), + description: Some( + CowStr::new_static("The unique identifier of the radio."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("logo"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The logo of the radio station.", - )), + description: Some( + CowStr::new_static("The logo of the radio station."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the radio.")), + description: Some( + CowStr::new_static("The name of the radio."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The streaming URL of the radio.", - )), + description: Some( + CowStr::new_static("The streaming URL of the radio."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -784,7 +801,9 @@ fn lexicon_doc_app_rocksky_radio_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("website"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The website of the radio.")), + description: Some( + CowStr::new_static("The website of the radio."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -798,4 +817,4 @@ fn lexicon_doc_app_rocksky_radio_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/scrobble.rs b/crates/jacquard-api/src/app_rocksky/scrobble.rs index b446cf584..447c6c54a 100644 --- a/crates/jacquard-api/src/app_rocksky/scrobble.rs +++ b/crates/jacquard-api/src/app_rocksky/scrobble.rs @@ -10,12 +10,13 @@ pub mod create_scrobble; pub mod get_scrobble; pub mod get_scrobbles; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -32,7 +33,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a scrobble. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -121,11 +122,9 @@ pub struct ScrobbleGetRecordOutput { pub value: Scrobble, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScrobbleViewBasic { ///The album of the song. #[serde(skip_serializing_if = "Option::is_none")] @@ -164,11 +163,9 @@ pub struct ScrobbleViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScrobbleViewDetailed { ///The album of the song. #[serde(skip_serializing_if = "Option::is_none")] @@ -295,20 +292,25 @@ impl LexiconSchema for Scrobble { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("album_art"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -504,7 +506,7 @@ impl LexiconSchema for ScrobbleViewDetailed { pub mod scrobble_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -665,8 +667,29 @@ impl ScrobbleBuilder { ScrobbleBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -679,8 +702,29 @@ impl ScrobbleBuilder { ScrobbleBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1093,10 +1137,10 @@ where } fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.scrobble"), @@ -1105,24 +1149,29 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A declaration of a scrobble.")), + description: Some( + CowStr::new_static("A declaration of a scrobble."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("artist"), - SmolStr::new_static("album"), - SmolStr::new_static("albumArtist"), - SmolStr::new_static("duration"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), SmolStr::new_static("artist"), + SmolStr::new_static("album"), + SmolStr::new_static("albumArtist"), + SmolStr::new_static("duration"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("album"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The album of the song.")), + description: Some( + CowStr::new_static("The album of the song."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -1130,16 +1179,14 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("albumArt"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("albumArtist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The album artist of the song.", - )), + description: Some( + CowStr::new_static("The album artist of the song."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -1148,9 +1195,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("appleMusicLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Apple Music link of the song.", - )), + description: Some( + CowStr::new_static("The Apple Music link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1158,9 +1205,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The artist of the song.", - )), + description: Some( + CowStr::new_static("The artist of the song."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -1169,9 +1216,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("composer"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The composer of the song.", - )), + description: Some( + CowStr::new_static("The composer of the song."), + ), max_length: Some(256usize), ..Default::default() }), @@ -1179,9 +1226,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("copyrightMessage"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The copyright message of the song.", - )), + description: Some( + CowStr::new_static("The copyright message of the song."), + ), max_length: Some(256usize), ..Default::default() }), @@ -1189,9 +1236,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date when the song was created.", - )), + description: Some( + CowStr::new_static("The date when the song was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1213,7 +1260,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("genre"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The genre of the song.")), + description: Some( + CowStr::new_static("The genre of the song."), + ), max_length: Some(256usize), ..Default::default() }), @@ -1221,7 +1270,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("label"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The label of the song.")), + description: Some( + CowStr::new_static("The label of the song."), + ), max_length: Some(256usize), ..Default::default() }), @@ -1229,9 +1280,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("lyrics"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The lyrics of the song.", - )), + description: Some( + CowStr::new_static("The lyrics of the song."), + ), max_length: Some(10000usize), ..Default::default() }), @@ -1239,18 +1290,18 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("mbid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The MusicBrainz ID of the song.", - )), + description: Some( + CowStr::new_static("The MusicBrainz ID of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("releaseDate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The release date of the song.", - )), + description: Some( + CowStr::new_static("The release date of the song."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1258,9 +1309,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("spotifyLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Spotify link of the song.", - )), + description: Some( + CowStr::new_static("The Spotify link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1268,7 +1319,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("The tags of the song.")), + description: Some( + CowStr::new_static("The tags of the song."), + ), items: LexArrayItem::String(LexString { min_length: Some(1usize), max_length: Some(256usize), @@ -1280,9 +1333,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tidalLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Tidal link of the song.", - )), + description: Some( + CowStr::new_static("The Tidal link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1290,7 +1343,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the song.")), + description: Some( + CowStr::new_static("The title of the song."), + ), min_length: Some(1usize), max_length: Some(512usize), ..Default::default() @@ -1306,9 +1361,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("wiki"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Informations about the song", - )), + description: Some( + CowStr::new_static("Informations about the song"), + ), max_length: Some(10000usize), ..Default::default() }), @@ -1322,9 +1377,9 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("youtubeLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The YouTube link of the song.", - )), + description: Some( + CowStr::new_static("The YouTube link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1343,10 +1398,10 @@ fn lexicon_doc_app_rocksky_scrobble() -> LexiconDoc<'static> { } fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.scrobble.defs"), @@ -1361,14 +1416,18 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("album"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The album of the song.")), + description: Some( + CowStr::new_static("The album of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("albumUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the album.")), + description: Some( + CowStr::new_static("The URI of the album."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1376,14 +1435,18 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The artist of the song.")), + description: Some( + CowStr::new_static("The artist of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("artistUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the artist.")), + description: Some( + CowStr::new_static("The URI of the artist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1391,9 +1454,9 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cover"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The album art URL of the song.", - )), + description: Some( + CowStr::new_static("The album art URL of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1401,9 +1464,11 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("date"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The timestamp when the scrobble was created.", - )), + description: Some( + CowStr::new_static( + "The timestamp when the scrobble was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1411,32 +1476,36 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the scrobble.", - )), + description: Some( + CowStr::new_static("The unique identifier of the scrobble."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the scrobble data.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the scrobble data."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the scrobble.")), + description: Some( + CowStr::new_static("The title of the scrobble."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the scrobble.")), + description: Some( + CowStr::new_static("The URI of the scrobble."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1444,9 +1513,11 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("user"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The handle of the user who created the scrobble.", - )), + description: Some( + CowStr::new_static( + "The handle of the user who created the scrobble.", + ), + ), ..Default::default() }), ); @@ -1464,14 +1535,18 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("album"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The album of the song.")), + description: Some( + CowStr::new_static("The album of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("albumUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the album.")), + description: Some( + CowStr::new_static("The URI of the album."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1479,14 +1554,18 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The artist of the song.")), + description: Some( + CowStr::new_static("The artist of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("artistUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the artist.")), + description: Some( + CowStr::new_static("The URI of the artist."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1494,9 +1573,9 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cover"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The album art URL of the song.", - )), + description: Some( + CowStr::new_static("The album art URL of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1504,9 +1583,11 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("date"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The timestamp when the scrobble was created.", - )), + description: Some( + CowStr::new_static( + "The timestamp when the scrobble was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1514,9 +1595,9 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the scrobble.", - )), + description: Some( + CowStr::new_static("The unique identifier of the scrobble."), + ), ..Default::default() }), ); @@ -1535,23 +1616,27 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the scrobble data.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the scrobble data."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the scrobble.")), + description: Some( + CowStr::new_static("The title of the scrobble."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the scrobble.")), + description: Some( + CowStr::new_static("The URI of the scrobble."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1559,9 +1644,11 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("user"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The handle of the user who created the scrobble.", - )), + description: Some( + CowStr::new_static( + "The handle of the user who created the scrobble.", + ), + ), ..Default::default() }), ); @@ -1574,4 +1661,4 @@ fn lexicon_doc_app_rocksky_scrobble_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/scrobble/create_scrobble.rs b/crates/jacquard-api/src/app_rocksky/scrobble/create_scrobble.rs index a51889635..9fe2846b8 100644 --- a/crates/jacquard-api/src/app_rocksky/scrobble/create_scrobble.rs +++ b/crates/jacquard-api/src/app_rocksky/scrobble/create_scrobble.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::UriValue; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateScrobble { ///The album of the track being scrobbled #[serde(skip_serializing_if = "Option::is_none")] @@ -92,11 +89,9 @@ pub struct CreateScrobble { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateScrobbleOutput { #[serde(flatten)] pub value: ScrobbleViewBasic, @@ -117,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateScrobbleResponse { impl jacquard_common::xrpc::XrpcRequest for CreateScrobble { const NSID: &'static str = "app.rocksky.scrobble.createScrobble"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateScrobbleResponse; } @@ -128,8 +124,9 @@ Path: `/xrpc/app.rocksky.scrobble.createScrobble`. The request payload type is ` pub struct CreateScrobbleRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateScrobbleRequest { const PATH: &'static str = "/xrpc/app.rocksky.scrobble.createScrobble"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateScrobble; type Response = CreateScrobbleResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobble.rs b/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobble.rs index 773153b50..bb41de130 100644 --- a/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobble.rs +++ b/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobble.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::scrobble::ScrobbleViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::scrobble::ScrobbleViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetScrobble { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetScrobbleOutput { #[serde(flatten)] pub value: ScrobbleViewDetailed, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetScrobbleRequest { pub mod get_scrobble_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobbles.rs b/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobbles.rs index 77e826cae..31cbec550 100644 --- a/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobbles.rs +++ b/crates/jacquard-api/src/app_rocksky/scrobble/get_scrobbles.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::scrobble::ScrobbleViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetScrobbles { #[serde(skip_serializing_if = "Option::is_none")] pub did: Option>, @@ -34,11 +31,9 @@ pub struct GetScrobbles { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetScrobblesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub scrobbles: Option>>, @@ -76,7 +71,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetScrobblesRequest { pub mod get_scrobbles_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -187,4 +182,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout.rs b/crates/jacquard-api/src/app_rocksky/shout.rs index 5244fa31c..403f92805 100644 --- a/crates/jacquard-api/src/app_rocksky/shout.rs +++ b/crates/jacquard-api/src/app_rocksky/shout.rs @@ -16,12 +16,13 @@ pub mod remove_shout; pub mod reply_shout; pub mod report_shout; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -36,11 +37,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_rocksky::shout; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::app_rocksky::shout; /// A declaration of a shout. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -73,11 +74,9 @@ pub struct ShoutGetRecordOutput { pub value: Shout, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Author { ///The URL of the author's avatar image. #[serde(skip_serializing_if = "Option::is_none")] @@ -98,11 +97,9 @@ pub struct Author { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ShoutView { ///The author of the shout. #[serde(skip_serializing_if = "Option::is_none")] @@ -225,7 +222,7 @@ impl LexiconSchema for ShoutView { pub mod shout_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -284,12 +281,7 @@ pub mod shout_state { /// Builder for constructing an instance of this type. pub struct ShoutBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - ), + _fields: (Option, Option, Option>, Option>), _type: PhantomData S>, } @@ -354,7 +346,10 @@ where St::Message: shout_state::IsUnset, { /// Set the `message` field (required) - pub fn message(mut self, value: impl Into) -> ShoutBuilder, S> { + pub fn message( + mut self, + value: impl Into, + ) -> ShoutBuilder, S> { self._fields.1 = Option::Some(value.into()); ShoutBuilder { _state: PhantomData, @@ -426,10 +421,10 @@ where } fn lexicon_doc_app_rocksky_shout() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.shout"), @@ -441,20 +436,22 @@ fn lexicon_doc_app_rocksky_shout() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A declaration of a shout.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("message"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("subject"), - ]), + required: Some( + vec![ + SmolStr::new_static("message"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("subject") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date when the shout was created.", - )), + description: Some( + CowStr::new_static("The date when the shout was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -462,9 +459,9 @@ fn lexicon_doc_app_rocksky_shout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("message"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The message of the shout.", - )), + description: Some( + CowStr::new_static("The message of the shout."), + ), min_length: Some(1usize), max_length: Some(1000usize), ..Default::default() @@ -498,10 +495,10 @@ fn lexicon_doc_app_rocksky_shout() -> LexiconDoc<'static> { } fn lexicon_doc_app_rocksky_shout_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.shout.defs"), @@ -516,9 +513,9 @@ fn lexicon_doc_app_rocksky_shout_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("avatar"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the author's avatar image.", - )), + description: Some( + CowStr::new_static("The URL of the author's avatar image."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -526,9 +523,11 @@ fn lexicon_doc_app_rocksky_shout_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The decentralized identifier (DID) of the author.", - )), + description: Some( + CowStr::new_static( + "The decentralized identifier (DID) of the author.", + ), + ), format: Some(LexStringFormat::AtIdentifier), ..Default::default() }), @@ -536,16 +535,18 @@ fn lexicon_doc_app_rocksky_shout_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("displayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The display name of the author.", - )), + description: Some( + CowStr::new_static("The display name of the author."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("handle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The handle of the author.")), + description: Some( + CowStr::new_static("The handle of the author."), + ), format: Some(LexStringFormat::AtIdentifier), ..Default::default() }), @@ -553,9 +554,9 @@ fn lexicon_doc_app_rocksky_shout_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the author.", - )), + description: Some( + CowStr::new_static("The unique identifier of the author."), + ), ..Default::default() }), ); @@ -627,4 +628,4 @@ fn lexicon_doc_app_rocksky_shout_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/create_shout.rs b/crates/jacquard-api/src/app_rocksky/shout/create_shout.rs index bf83adce1..2dd711b38 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/create_shout.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/create_shout.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::shout::ShoutView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::shout::ShoutView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateShout { ///The content of the shout #[serde(skip_serializing_if = "Option::is_none")] @@ -30,11 +27,9 @@ pub struct CreateShout { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateShoutOutput { #[serde(flatten)] pub value: ShoutView, @@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateShoutResponse { impl jacquard_common::xrpc::XrpcRequest for CreateShout { const NSID: &'static str = "app.rocksky.shout.createShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateShoutResponse; } @@ -66,8 +62,9 @@ Path: `/xrpc/app.rocksky.shout.createShout`. The request payload type is `Create pub struct CreateShoutRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateShoutRequest { const PATH: &'static str = "/xrpc/app.rocksky.shout.createShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateShout; type Response = CreateShoutResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/get_album_shouts.rs b/crates/jacquard-api/src/app_rocksky/shout/get_album_shouts.rs index b9b8071c2..7d3e59d52 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/get_album_shouts.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/get_album_shouts.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAlbumShouts { /// (min: 1) #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetAlbumShouts { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAlbumShoutsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub shouts: Option>>, @@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAlbumShoutsRequest { pub mod get_album_shouts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,7 +100,10 @@ pub mod get_album_shouts_state { } /// Builder for constructing an instance of this type. -pub struct GetAlbumShoutsBuilder { +pub struct GetAlbumShoutsBuilder< + St: get_album_shouts_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -205,4 +203,4 @@ where uri: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/get_artist_shouts.rs b/crates/jacquard-api/src/app_rocksky/shout/get_artist_shouts.rs index 1bfff1f83..3a2c94327 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/get_artist_shouts.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/get_artist_shouts.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistShouts { /// (min: 1) #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetArtistShouts { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetArtistShoutsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub shouts: Option>>, @@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetArtistShoutsRequest { pub mod get_artist_shouts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,7 +100,10 @@ pub mod get_artist_shouts_state { } /// Builder for constructing an instance of this type. -pub struct GetArtistShoutsBuilder { +pub struct GetArtistShoutsBuilder< + St: get_artist_shouts_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -205,4 +203,4 @@ where uri: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/get_profile_shouts.rs b/crates/jacquard-api/src/app_rocksky/shout/get_profile_shouts.rs index 531f3b919..c15e8fc93 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/get_profile_shouts.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/get_profile_shouts.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfileShouts { pub did: AtIdentifier, /// (min: 1) @@ -32,11 +29,9 @@ pub struct GetProfileShouts { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfileShoutsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub shouts: Option>>, @@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileShoutsRequest { pub mod get_profile_shouts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,7 +100,10 @@ pub mod get_profile_shouts_state { } /// Builder for constructing an instance of this type. -pub struct GetProfileShoutsBuilder { +pub struct GetProfileShoutsBuilder< + St: get_profile_shouts_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -113,7 +111,10 @@ pub struct GetProfileShoutsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetProfileShoutsBuilder { + pub fn new() -> GetProfileShoutsBuilder< + get_profile_shouts_state::Empty, + DefaultStr, + > { GetProfileShoutsBuilder::new() } } @@ -205,4 +206,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/get_shout_replies.rs b/crates/jacquard-api/src/app_rocksky/shout/get_shout_replies.rs index 58263d8ab..15367013c 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/get_shout_replies.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/get_shout_replies.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetShoutReplies { /// (min: 1) #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetShoutReplies { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetShoutRepliesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub shouts: Option>>, @@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetShoutRepliesRequest { pub mod get_shout_replies_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,7 +100,10 @@ pub mod get_shout_replies_state { } /// Builder for constructing an instance of this type. -pub struct GetShoutRepliesBuilder { +pub struct GetShoutRepliesBuilder< + St: get_shout_replies_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -205,4 +203,4 @@ where uri: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/get_track_shouts.rs b/crates/jacquard-api/src/app_rocksky/shout/get_track_shouts.rs index bf9b2c8aa..10a9df41a 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/get_track_shouts.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/get_track_shouts.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTrackShouts { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTrackShoutsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub shouts: Option>>, @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTrackShoutsRequest { pub mod get_track_shouts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_track_shouts_state { } /// Builder for constructing an instance of this type. -pub struct GetTrackShoutsBuilder { +pub struct GetTrackShoutsBuilder< + St: get_track_shouts_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -171,4 +169,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/remove_shout.rs b/crates/jacquard-api/src/app_rocksky/shout/remove_shout.rs index ef7d1a08b..665eb9630 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/remove_shout.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/remove_shout.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::shout::ShoutView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::shout::ShoutView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveShoutParams { pub id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveShoutOutput { #[serde(flatten)] pub value: ShoutView, @@ -57,8 +52,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveShoutResponse { impl jacquard_common::xrpc::XrpcRequest for RemoveShout { const NSID: &'static str = "app.rocksky.shout.removeShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RemoveShoutResponse; } @@ -68,15 +64,16 @@ Path: `/xrpc/app.rocksky.shout.removeShout`. The request payload type is `Remove pub struct RemoveShoutRequest; impl jacquard_common::xrpc::XrpcEndpoint for RemoveShoutRequest { const PATH: &'static str = "/xrpc/app.rocksky.shout.removeShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RemoveShout; type Response = RemoveShoutResponse; } pub mod remove_shout_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -107,7 +104,10 @@ pub mod remove_shout_params_state { } /// Builder for constructing an instance of this type. -pub struct RemoveShoutParamsBuilder { +pub struct RemoveShoutParamsBuilder< + St: remove_shout_params_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -115,7 +115,10 @@ pub struct RemoveShoutParamsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RemoveShoutParamsBuilder { + pub fn new() -> RemoveShoutParamsBuilder< + remove_shout_params_state::Empty, + DefaultStr, + > { RemoveShoutParamsBuilder::new() } } @@ -179,4 +182,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/reply_shout.rs b/crates/jacquard-api/src/app_rocksky/shout/reply_shout.rs index 84f0181b7..8ac43308a 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/reply_shout.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/reply_shout.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::shout::ShoutView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::shout::ShoutView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyShout { ///The content of the reply pub message: S, @@ -31,11 +28,9 @@ pub struct ReplyShout { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyShoutOutput { #[serde(flatten)] pub value: ShoutView, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for ReplyShoutResponse { impl jacquard_common::xrpc::XrpcRequest for ReplyShout { const NSID: &'static str = "app.rocksky.shout.replyShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ReplyShoutResponse; } @@ -67,8 +63,9 @@ Path: `/xrpc/app.rocksky.shout.replyShout`. The request payload type is `ReplySh pub struct ReplyShoutRequest; impl jacquard_common::xrpc::XrpcEndpoint for ReplyShoutRequest { const PATH: &'static str = "/xrpc/app.rocksky.shout.replyShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ReplyShout; type Response = ReplyShoutResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/shout/report_shout.rs b/crates/jacquard-api/src/app_rocksky/shout/report_shout.rs index 17fbc161c..50a8a46fb 100644 --- a/crates/jacquard-api/src/app_rocksky/shout/report_shout.rs +++ b/crates/jacquard-api/src/app_rocksky/shout/report_shout.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::shout::ShoutView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::shout::ShoutView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReportShout { ///The reason for reporting the shout #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct ReportShout { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReportShoutOutput { #[serde(flatten)] pub value: ShoutView, @@ -57,8 +52,9 @@ impl jacquard_common::xrpc::XrpcResp for ReportShoutResponse { impl jacquard_common::xrpc::XrpcRequest for ReportShout { const NSID: &'static str = "app.rocksky.shout.reportShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ReportShoutResponse; } @@ -68,8 +64,9 @@ Path: `/xrpc/app.rocksky.shout.reportShout`. The request payload type is `Report pub struct ReportShoutRequest; impl jacquard_common::xrpc::XrpcEndpoint for ReportShoutRequest { const PATH: &'static str = "/xrpc/app.rocksky.shout.reportShout"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ReportShout; type Response = ReportShoutResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/song.rs b/crates/jacquard-api/src/app_rocksky/song.rs index 432c07ca5..816e3e1fe 100644 --- a/crates/jacquard-api/src/app_rocksky/song.rs +++ b/crates/jacquard-api/src/app_rocksky/song.rs @@ -11,12 +11,13 @@ pub mod get_song; pub mod get_songs; pub mod match_song; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -33,7 +34,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a song. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -122,11 +123,9 @@ pub struct SongGetRecordOutput { pub value: Song, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SongViewBasic { ///The album of the song. #[serde(skip_serializing_if = "Option::is_none")] @@ -180,11 +179,9 @@ pub struct SongViewBasic { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SongViewDetailed { ///The album of the song. #[serde(skip_serializing_if = "Option::is_none")] @@ -320,20 +317,25 @@ impl LexiconSchema for Song { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("album_art"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -575,7 +577,7 @@ impl LexiconSchema for SongViewDetailed { pub mod song_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -736,8 +738,29 @@ impl SongBuilder { SongBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -750,8 +773,29 @@ impl SongBuilder { SongBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -764,7 +808,10 @@ where St::Album: song_state::IsUnset, { /// Set the `album` field (required) - pub fn album(mut self, value: impl Into) -> SongBuilder, S> { + pub fn album( + mut self, + value: impl Into, + ) -> SongBuilder, S> { self._fields.0 = Option::Some(value.into()); SongBuilder { _state: PhantomData, @@ -825,7 +872,10 @@ where St::Artist: song_state::IsUnset, { /// Set the `artist` field (required) - pub fn artist(mut self, value: impl Into) -> SongBuilder, S> { + pub fn artist( + mut self, + value: impl Into, + ) -> SongBuilder, S> { self._fields.4 = Option::Some(value.into()); SongBuilder { _state: PhantomData, @@ -1022,7 +1072,10 @@ where St::Title: song_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> SongBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> SongBuilder, S> { self._fields.18 = Option::Some(value.into()); SongBuilder { _state: PhantomData, @@ -1155,10 +1208,10 @@ where } fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.song"), @@ -1170,21 +1223,24 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A declaration of a song.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("artist"), - SmolStr::new_static("album"), - SmolStr::new_static("albumArtist"), - SmolStr::new_static("duration"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), SmolStr::new_static("artist"), + SmolStr::new_static("album"), + SmolStr::new_static("albumArtist"), + SmolStr::new_static("duration"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("album"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The album of the song.")), + description: Some( + CowStr::new_static("The album of the song."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -1192,16 +1248,14 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("albumArt"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("albumArtist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The album artist of the song.", - )), + description: Some( + CowStr::new_static("The album artist of the song."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -1210,9 +1264,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("appleMusicLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Apple Music link of the song.", - )), + description: Some( + CowStr::new_static("The Apple Music link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1220,9 +1274,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The artist of the song.", - )), + description: Some( + CowStr::new_static("The artist of the song."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -1231,9 +1285,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("composer"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The composer of the song.", - )), + description: Some( + CowStr::new_static("The composer of the song."), + ), max_length: Some(256usize), ..Default::default() }), @@ -1241,9 +1295,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("copyrightMessage"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The copyright message of the song.", - )), + description: Some( + CowStr::new_static("The copyright message of the song."), + ), max_length: Some(256usize), ..Default::default() }), @@ -1251,9 +1305,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date when the song was created.", - )), + description: Some( + CowStr::new_static("The date when the song was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1275,7 +1329,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("genre"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The genre of the song.")), + description: Some( + CowStr::new_static("The genre of the song."), + ), min_length: Some(1usize), max_length: Some(256usize), ..Default::default() @@ -1284,7 +1340,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("label"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The label of the song.")), + description: Some( + CowStr::new_static("The label of the song."), + ), max_length: Some(256usize), ..Default::default() }), @@ -1292,9 +1350,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("lyrics"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The lyrics of the song.", - )), + description: Some( + CowStr::new_static("The lyrics of the song."), + ), max_length: Some(10000usize), ..Default::default() }), @@ -1302,18 +1360,18 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("mbid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The MusicBrainz ID of the song.", - )), + description: Some( + CowStr::new_static("The MusicBrainz ID of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("releaseDate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The release date of the song.", - )), + description: Some( + CowStr::new_static("The release date of the song."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1321,9 +1379,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("spotifyLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Spotify link of the song.", - )), + description: Some( + CowStr::new_static("The Spotify link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1331,7 +1389,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("The tags of the song.")), + description: Some( + CowStr::new_static("The tags of the song."), + ), items: LexArrayItem::String(LexString { min_length: Some(1usize), max_length: Some(256usize), @@ -1343,9 +1403,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tidalLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The Tidal link of the song.", - )), + description: Some( + CowStr::new_static("The Tidal link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1353,7 +1413,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the song.")), + description: Some( + CowStr::new_static("The title of the song."), + ), min_length: Some(1usize), max_length: Some(512usize), ..Default::default() @@ -1369,9 +1431,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("wiki"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Informations about the song", - )), + description: Some( + CowStr::new_static("Informations about the song"), + ), max_length: Some(10000usize), ..Default::default() }), @@ -1385,9 +1447,9 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("youtubeLink"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The YouTube link of the song.", - )), + description: Some( + CowStr::new_static("The YouTube link of the song."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1406,10 +1468,10 @@ fn lexicon_doc_app_rocksky_song() -> LexiconDoc<'static> { } fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.song.defs"), @@ -1424,16 +1486,18 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("album"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The album of the song.")), + description: Some( + CowStr::new_static("The album of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("albumArt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the album art image.", - )), + description: Some( + CowStr::new_static("The URL of the album art image."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1441,18 +1505,22 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("albumArtist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The artist of the album the song belongs to.", - )), + description: Some( + CowStr::new_static( + "The artist of the album the song belongs to.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("albumUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the album the song belongs to.", - )), + description: Some( + CowStr::new_static( + "The URI of the album the song belongs to.", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1460,16 +1528,18 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The artist of the song.")), + description: Some( + CowStr::new_static("The artist of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("artistUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the artist of the song.", - )), + description: Some( + CowStr::new_static("The URI of the artist of the song."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1477,9 +1547,11 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The timestamp when the song was created.", - )), + description: Some( + CowStr::new_static( + "The timestamp when the song was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1499,9 +1571,9 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the song.", - )), + description: Some( + CowStr::new_static("The unique identifier of the song."), + ), ..Default::default() }), ); @@ -1515,16 +1587,18 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the song.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the song.")), + description: Some( + CowStr::new_static("The title of the song."), + ), ..Default::default() }), ); @@ -1544,7 +1618,9 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the song.")), + description: Some( + CowStr::new_static("The URI of the song."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1563,16 +1639,18 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("album"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The album of the song.")), + description: Some( + CowStr::new_static("The album of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("albumArt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the album art image.", - )), + description: Some( + CowStr::new_static("The URL of the album art image."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1580,18 +1658,22 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("albumArtist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The artist of the album the song belongs to.", - )), + description: Some( + CowStr::new_static( + "The artist of the album the song belongs to.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("albumUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the album the song belongs to.", - )), + description: Some( + CowStr::new_static( + "The URI of the album the song belongs to.", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1599,16 +1681,18 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The artist of the song.")), + description: Some( + CowStr::new_static("The artist of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("artistUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URI of the artist of the song.", - )), + description: Some( + CowStr::new_static("The URI of the artist of the song."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1616,9 +1700,11 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The timestamp when the song was created.", - )), + description: Some( + CowStr::new_static( + "The timestamp when the song was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1638,9 +1724,9 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the song.", - )), + description: Some( + CowStr::new_static("The unique identifier of the song."), + ), ..Default::default() }), ); @@ -1654,16 +1740,18 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sha256"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The SHA256 hash of the song.", - )), + description: Some( + CowStr::new_static("The SHA256 hash of the song."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the song.")), + description: Some( + CowStr::new_static("The title of the song."), + ), ..Default::default() }), ); @@ -1683,7 +1771,9 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URI of the song.")), + description: Some( + CowStr::new_static("The URI of the song."), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1697,4 +1787,4 @@ fn lexicon_doc_app_rocksky_song_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/song/create_song.rs b/crates/jacquard-api/src/app_rocksky/song/create_song.rs index cfcfdb851..edb6eb7bf 100644 --- a/crates/jacquard-api/src/app_rocksky/song/create_song.rs +++ b/crates/jacquard-api/src/app_rocksky/song/create_song.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::UriValue; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateSong { ///The album of the song, if applicable pub album: S, @@ -60,11 +57,9 @@ pub struct CreateSong { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateSongOutput { #[serde(flatten)] pub value: SongViewDetailed, @@ -85,8 +80,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateSongResponse { impl jacquard_common::xrpc::XrpcRequest for CreateSong { const NSID: &'static str = "app.rocksky.song.createSong"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateSongResponse; } @@ -96,8 +92,9 @@ Path: `/xrpc/app.rocksky.song.createSong`. The request payload type is `CreateSo pub struct CreateSongRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateSongRequest { const PATH: &'static str = "/xrpc/app.rocksky.song.createSong"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateSong; type Response = CreateSongResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/song/get_song.rs b/crates/jacquard-api/src/app_rocksky/song/get_song.rs index 14f38d447..3129a4b29 100644 --- a/crates/jacquard-api/src/app_rocksky/song/get_song.rs +++ b/crates/jacquard-api/src/app_rocksky/song/get_song.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSong { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSongOutput { #[serde(flatten)] pub value: SongViewDetailed, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSongRequest { pub mod get_song_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/song/get_songs.rs b/crates/jacquard-api/src/app_rocksky/song/get_songs.rs index d40647ca1..1be59de00 100644 --- a/crates/jacquard-api/src/app_rocksky/song/get_songs.rs +++ b/crates/jacquard-api/src/app_rocksky/song/get_songs.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -28,11 +28,9 @@ pub struct GetSongs { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSongsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub songs: Option>>, @@ -70,7 +68,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSongsRequest { pub mod get_songs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -157,4 +155,4 @@ where offset: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/song/match_song.rs b/crates/jacquard-api/src/app_rocksky/song/match_song.rs index 31a708ed3..3a6012a05 100644 --- a/crates/jacquard-api/src/app_rocksky/song/match_song.rs +++ b/crates/jacquard-api/src/app_rocksky/song/match_song.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::song::SongViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::song::SongViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MatchSong { pub artist: S, pub title: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MatchSongOutput { #[serde(flatten)] pub value: SongViewDetailed, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for MatchSongRequest { pub mod match_song_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -205,4 +200,4 @@ where title: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/spotify.rs b/crates/jacquard-api/src/app_rocksky/spotify.rs index 461a03267..c88347ffe 100644 --- a/crates/jacquard-api/src/app_rocksky/spotify.rs +++ b/crates/jacquard-api/src/app_rocksky/spotify.rs @@ -13,9 +13,10 @@ pub mod play; pub mod previous; pub mod seek; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,13 +28,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SpotifyTrackView { ///The name of the album. #[serde(skip_serializing_if = "Option::is_none")] @@ -73,10 +71,10 @@ impl LexiconSchema for SpotifyTrackView { } fn lexicon_doc_app_rocksky_spotify_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.spotify.defs"), @@ -91,14 +89,18 @@ fn lexicon_doc_app_rocksky_spotify_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("album"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the album.")), + description: Some( + CowStr::new_static("The name of the album."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("artist"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the artist.")), + description: Some( + CowStr::new_static("The name of the artist."), + ), ..Default::default() }), ); @@ -111,25 +113,29 @@ fn lexicon_doc_app_rocksky_spotify_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The unique identifier of the Spotify track.", - )), + description: Some( + CowStr::new_static( + "The unique identifier of the Spotify track.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The name of the track.")), + description: Some( + CowStr::new_static("The name of the track."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("previewUrl"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A URL to a preview of the track.", - )), + description: Some( + CowStr::new_static("A URL to a preview of the track."), + ), ..Default::default() }), ); @@ -142,4 +148,4 @@ fn lexicon_doc_app_rocksky_spotify_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/spotify/get_currently_playing.rs b/crates/jacquard-api/src/app_rocksky/spotify/get_currently_playing.rs index a9d0bfa86..f61dbb0dd 100644 --- a/crates/jacquard-api/src/app_rocksky/spotify/get_currently_playing.rs +++ b/crates/jacquard-api/src/app_rocksky/spotify/get_currently_playing.rs @@ -8,31 +8,26 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::player::CurrentlyPlayingViewDetailed; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::player::CurrentlyPlayingViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetCurrentlyPlaying { #[serde(skip_serializing_if = "Option::is_none")] pub actor: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetCurrentlyPlayingOutput { #[serde(flatten)] pub value: CurrentlyPlayingViewDetailed, @@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetCurrentlyPlayingRequest { pub mod get_currently_playing_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,14 +94,20 @@ pub struct GetCurrentlyPlayingBuilder< impl GetCurrentlyPlaying { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetCurrentlyPlayingBuilder { + pub fn new() -> GetCurrentlyPlayingBuilder< + get_currently_playing_state::Empty, + DefaultStr, + > { GetCurrentlyPlayingBuilder::new() } } impl GetCurrentlyPlaying { /// Create a new builder for this type - pub fn builder() -> GetCurrentlyPlayingBuilder { + pub fn builder() -> GetCurrentlyPlayingBuilder< + get_currently_playing_state::Empty, + S, + > { GetCurrentlyPlayingBuilder::builder() } } @@ -133,7 +134,10 @@ impl GetCurrentlyPlayingBuilder GetCurrentlyPlayingBuilder { +impl< + St: get_currently_playing_state::State, + S: BosStr, +> GetCurrentlyPlayingBuilder { /// Set the `actor` field (optional) pub fn actor(mut self, value: impl Into>>) -> Self { self._fields.0 = value.into(); @@ -156,4 +160,4 @@ where actor: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/spotify/next.rs b/crates/jacquard-api/src/app_rocksky/spotify/next.rs index 57261c0b4..ba1118193 100644 --- a/crates/jacquard-api/src/app_rocksky/spotify/next.rs +++ b/crates/jacquard-api/src/app_rocksky/spotify/next.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.spotify.next` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for NextResponse { impl jacquard_common::xrpc::XrpcRequest for Next { const NSID: &'static str = "app.rocksky.spotify.next"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = NextResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.spotify.next`. The request payload type is `Next`; use pub struct NextRequest; impl jacquard_common::xrpc::XrpcEndpoint for NextRequest { const PATH: &'static str = "/xrpc/app.rocksky.spotify.next"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Next; type Response = NextResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/spotify/pause.rs b/crates/jacquard-api/src/app_rocksky/spotify/pause.rs index 979aacfc1..07822ba2a 100644 --- a/crates/jacquard-api/src/app_rocksky/spotify/pause.rs +++ b/crates/jacquard-api/src/app_rocksky/spotify/pause.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.spotify.pause` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for PauseResponse { impl jacquard_common::xrpc::XrpcRequest for Pause { const NSID: &'static str = "app.rocksky.spotify.pause"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PauseResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.spotify.pause`. The request payload type is `Pause`; us pub struct PauseRequest; impl jacquard_common::xrpc::XrpcEndpoint for PauseRequest { const PATH: &'static str = "/xrpc/app.rocksky.spotify.pause"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Pause; type Response = PauseResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/spotify/play.rs b/crates/jacquard-api/src/app_rocksky/spotify/play.rs index 03432c281..a2f7c3bd4 100644 --- a/crates/jacquard-api/src/app_rocksky/spotify/play.rs +++ b/crates/jacquard-api/src/app_rocksky/spotify/play.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.spotify.play` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for PlayResponse { impl jacquard_common::xrpc::XrpcRequest for Play { const NSID: &'static str = "app.rocksky.spotify.play"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PlayResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.spotify.play`. The request payload type is `Play`; use pub struct PlayRequest; impl jacquard_common::xrpc::XrpcEndpoint for PlayRequest { const PATH: &'static str = "/xrpc/app.rocksky.spotify.play"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Play; type Response = PlayResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/spotify/previous.rs b/crates/jacquard-api/src/app_rocksky/spotify/previous.rs index 83f9ff487..dd8666f3d 100644 --- a/crates/jacquard-api/src/app_rocksky/spotify/previous.rs +++ b/crates/jacquard-api/src/app_rocksky/spotify/previous.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `app.rocksky.spotify.previous` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for PreviousResponse { impl jacquard_common::xrpc::XrpcRequest for Previous { const NSID: &'static str = "app.rocksky.spotify.previous"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PreviousResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/app.rocksky.spotify.previous`. The request payload type is `Previou pub struct PreviousRequest; impl jacquard_common::xrpc::XrpcEndpoint for PreviousRequest { const PATH: &'static str = "/xrpc/app.rocksky.spotify.previous"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Previous; type Response = PreviousResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/spotify/seek.rs b/crates/jacquard-api/src/app_rocksky/spotify/seek.rs index cbce6c63e..84f075791 100644 --- a/crates/jacquard-api/src/app_rocksky/spotify/seek.rs +++ b/crates/jacquard-api/src/app_rocksky/spotify/seek.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -41,8 +41,9 @@ impl jacquard_common::xrpc::XrpcResp for SeekResponse { impl jacquard_common::xrpc::XrpcRequest for Seek { const NSID: &'static str = "app.rocksky.spotify.seek"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SeekResponse; } @@ -52,15 +53,16 @@ Path: `/xrpc/app.rocksky.spotify.seek`. The request payload type is `Seek`; use pub struct SeekRequest; impl jacquard_common::xrpc::XrpcEndpoint for SeekRequest { const PATH: &'static str = "/xrpc/app.rocksky.spotify.seek"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Seek; type Response = SeekResponse; } pub mod seek_params_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -152,4 +154,4 @@ where position: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/stats.rs b/crates/jacquard-api/src/app_rocksky/stats.rs index 5455239a8..1a22ef1aa 100644 --- a/crates/jacquard-api/src/app_rocksky/stats.rs +++ b/crates/jacquard-api/src/app_rocksky/stats.rs @@ -8,6 +8,7 @@ //! Generated bindings for the `app.rocksky.stats` Lexicon namespace/module. pub mod get_stats; + #[allow(unused_imports)] use alloc::collections::BTreeMap; use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; @@ -22,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StatsView { ///The total number of unique albums scrobbled. #[serde(skip_serializing_if = "Option::is_none")] @@ -65,10 +63,10 @@ impl LexiconSchema for StatsView { } fn lexicon_doc_app_rocksky_stats_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("app.rocksky.stats.defs"), @@ -119,4 +117,4 @@ fn lexicon_doc_app_rocksky_stats_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/app_rocksky/stats/get_stats.rs b/crates/jacquard-api/src/app_rocksky/stats/get_stats.rs index 235474e55..ab295a13a 100644 --- a/crates/jacquard-api/src/app_rocksky/stats/get_stats.rs +++ b/crates/jacquard-api/src/app_rocksky/stats/get_stats.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::app_rocksky::stats::StatsView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_rocksky::stats::StatsView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStats { pub did: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStatsOutput { #[serde(flatten)] pub value: StatsView, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStatsRequest { pub mod get_stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv.rs b/crates/jacquard-api/src/art_cllctv.rs index 621a408e8..d8d5557fa 100644 --- a/crates/jacquard-api/src/art_cllctv.rs +++ b/crates/jacquard-api/src/art_cllctv.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `art.cllctv` Lexicon namespace/module. pub mod content; pub mod embed; -pub mod feed; +pub mod feed; \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/content.rs b/crates/jacquard-api/src/art_cllctv/content.rs index 34bc11877..de7a65a2f 100644 --- a/crates/jacquard-api/src/art_cllctv/content.rs +++ b/crates/jacquard-api/src/art_cllctv/content.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `art.cllctv.content` Lexicon namespace/module. pub mod markdoc; -pub mod plaintext; +pub mod plaintext; \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/content/markdoc.rs b/crates/jacquard-api/src/art_cllctv/content/markdoc.rs index f005bec33..f6699b3d4 100644 --- a/crates/jacquard-api/src/art_cllctv/content/markdoc.rs +++ b/crates/jacquard-api/src/art_cllctv/content/markdoc.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::richtext::facet::Facet; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Markdoc { #[serde(skip_serializing_if = "Option::is_none")] pub facets: Option>>, @@ -51,10 +48,10 @@ impl LexiconSchema for Markdoc { } fn lexicon_doc_art_cllctv_content_markdoc() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.content.markdoc"), @@ -79,9 +76,7 @@ fn lexicon_doc_art_cllctv_content_markdoc() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("markdoc"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -92,4 +87,4 @@ fn lexicon_doc_art_cllctv_content_markdoc() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/content/plaintext.rs b/crates/jacquard-api/src/art_cllctv/content/plaintext.rs index 88b35772c..17368227f 100644 --- a/crates/jacquard-api/src/art_cllctv/content/plaintext.rs +++ b/crates/jacquard-api/src/art_cllctv/content/plaintext.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::richtext::facet::Facet; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Plaintext { #[serde(skip_serializing_if = "Option::is_none")] pub facets: Option>>, @@ -51,10 +48,10 @@ impl LexiconSchema for Plaintext { } fn lexicon_doc_art_cllctv_content_plaintext() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.content.plaintext"), @@ -79,9 +76,7 @@ fn lexicon_doc_art_cllctv_content_plaintext() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("plaintext"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -92,4 +87,4 @@ fn lexicon_doc_art_cllctv_content_plaintext() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/embed.rs b/crates/jacquard-api/src/art_cllctv/embed.rs index fc8bdb291..65586d0dc 100644 --- a/crates/jacquard-api/src/art_cllctv/embed.rs +++ b/crates/jacquard-api/src/art_cllctv/embed.rs @@ -10,9 +10,10 @@ pub mod external; pub mod external_video; pub mod images; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,16 +23,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::art_cllctv::embed; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::art_cllctv::embed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Tombstone { #[serde(skip_serializing_if = "Option::is_none")] pub camera: Option>, @@ -45,11 +43,9 @@ pub struct Tombstone { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TombstoneCamera { #[serde(skip_serializing_if = "Option::is_none")] pub make: Option, @@ -59,11 +55,9 @@ pub struct TombstoneCamera { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TombstoneDimensions { #[serde(skip_serializing_if = "Option::is_none")] pub depth: Option, @@ -77,11 +71,9 @@ pub struct TombstoneDimensions { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TombstoneLens { #[serde(skip_serializing_if = "Option::is_none")] pub exposure_time: Option, @@ -156,10 +148,10 @@ impl LexiconSchema for TombstoneLens { } fn lexicon_doc_art_cllctv_embed_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.embed.defs"), @@ -214,15 +206,11 @@ fn lexicon_doc_art_cllctv_embed_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("make"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("model"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -249,9 +237,7 @@ fn lexicon_doc_art_cllctv_embed_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("unit"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("width"), @@ -272,27 +258,19 @@ fn lexicon_doc_art_cllctv_embed_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("exposureTime"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("fnumber"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("focalLength"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("iso"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -303,4 +281,4 @@ fn lexicon_doc_art_cllctv_embed_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/embed/external.rs b/crates/jacquard-api/src/art_cllctv/embed/external.rs index c6e1c83f9..690486cd8 100644 --- a/crates/jacquard-api/src/art_cllctv/embed/external.rs +++ b/crates/jacquard-api/src/art_cllctv/embed/external.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,13 +24,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct External { pub description: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -43,11 +40,9 @@ pub struct External { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub description: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -85,16 +80,19 @@ impl LexiconSchema for External { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumb"), @@ -147,7 +145,7 @@ impl LexiconSchema for View { pub mod external_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -206,13 +204,7 @@ pub mod external_state { /// Builder for constructing an instance of this type. pub struct ExternalBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option, - Option>, - ), + _fields: (Option, Option>, Option, Option, Option>), _type: PhantomData S>, } @@ -367,10 +359,10 @@ where } fn lexicon_doc_art_cllctv_embed_external() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.embed.external"), @@ -379,25 +371,22 @@ fn lexicon_doc_art_cllctv_embed_external() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("title"), - SmolStr::new_static("description"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("title"), + SmolStr::new_static("description") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("thumb"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("thumbHash"), @@ -409,9 +398,7 @@ fn lexicon_doc_art_cllctv_embed_external() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("title"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("uri"), @@ -428,19 +415,18 @@ fn lexicon_doc_art_cllctv_embed_external() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("view"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("title"), - SmolStr::new_static("description"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("title"), + SmolStr::new_static("description") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("thumb"), @@ -451,9 +437,7 @@ fn lexicon_doc_art_cllctv_embed_external() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("title"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("uri"), @@ -475,7 +459,7 @@ fn lexicon_doc_art_cllctv_embed_external() -> LexiconDoc<'static> { pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -534,12 +518,7 @@ pub mod view_state { /// Builder for constructing an instance of this type. pub struct ViewBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option>, - ), + _fields: (Option, Option>, Option, Option>), _type: PhantomData S>, } @@ -617,7 +596,10 @@ where St::Title: view_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ViewBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ViewBuilder, S> { self._fields.2 = Option::Some(value.into()); ViewBuilder { _state: PhantomData, @@ -633,7 +615,10 @@ where St::Uri: view_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> ViewBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> ViewBuilder, S> { self._fields.3 = Option::Some(value.into()); ViewBuilder { _state: PhantomData, @@ -670,4 +655,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/embed/external_video.rs b/crates/jacquard-api/src/art_cllctv/embed/external_video.rs index a838959e1..68585b2a8 100644 --- a/crates/jacquard-api/src/art_cllctv/embed/external_video.rs +++ b/crates/jacquard-api/src/art_cllctv/embed/external_video.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,13 +24,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ExternalVideo { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, @@ -45,11 +42,9 @@ pub struct ExternalVideo { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, @@ -89,16 +84,19 @@ impl LexiconSchema for ExternalVideo { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumb"), @@ -151,7 +149,7 @@ impl LexiconSchema for View { pub mod external_video_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -182,15 +180,12 @@ pub mod external_video_state { } /// Builder for constructing an instance of this type. -pub struct ExternalVideoBuilder { +pub struct ExternalVideoBuilder< + St: external_video_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option, - Option>, - ), + _fields: (Option, Option, Option>, Option, Option>), _type: PhantomData S>, } @@ -318,7 +313,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ExternalVideo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ExternalVideo { ExternalVideo { id: self._fields.0, service: self._fields.1, @@ -331,10 +329,10 @@ where } fn lexicon_doc_art_cllctv_embed_externalVideo() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.embed.externalVideo"), @@ -349,21 +347,15 @@ fn lexicon_doc_art_cllctv_embed_externalVideo() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("service"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("thumb"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("thumbHash"), @@ -394,15 +386,11 @@ fn lexicon_doc_art_cllctv_embed_externalVideo() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("service"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("thumb"), @@ -431,7 +419,7 @@ fn lexicon_doc_art_cllctv_embed_externalVideo() -> LexiconDoc<'static> { pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -464,12 +452,7 @@ pub mod view_state { /// Builder for constructing an instance of this type. pub struct ViewBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - ), + _fields: (Option, Option, Option>, Option>), _type: PhantomData S>, } @@ -554,7 +537,10 @@ where St::Uri: view_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> ViewBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> ViewBuilder, S> { self._fields.3 = Option::Some(value.into()); ViewBuilder { _state: PhantomData, @@ -589,4 +575,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/embed/images.rs b/crates/jacquard-api/src/art_cllctv/embed/images.rs index d0574b251..e2d57d306 100644 --- a/crates/jacquard-api/src/art_cllctv/embed/images.rs +++ b/crates/jacquard-api/src/art_cllctv/embed/images.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,18 +22,15 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::AspectRatio; use crate::art_cllctv::embed::Tombstone; use crate::art_cllctv::embed::images; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Image { ///Alt text description of the image, for accessibility. pub alt: S, @@ -48,33 +45,27 @@ pub struct Image { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Images { pub images: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub images: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewImage { ///Alt text description of the image, for accessibility. pub alt: S, @@ -119,16 +110,19 @@ impl LexiconSchema for Image { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -233,7 +227,7 @@ impl LexiconSchema for ViewImage { pub mod image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -330,7 +324,10 @@ where St::Alt: image_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> ImageBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> ImageBuilder, S> { self._fields.0 = Option::Some(value.into()); ImageBuilder { _state: PhantomData, @@ -429,10 +426,10 @@ where } fn lexicon_doc_art_cllctv_embed_images() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.embed.images"), @@ -441,34 +438,35 @@ fn lexicon_doc_art_cllctv_embed_images() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("image"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("image"), - SmolStr::new_static("alt"), - ]), + required: Some( + vec![SmolStr::new_static("image"), SmolStr::new_static("alt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text description of the image, for accessibility.", - )), + description: Some( + CowStr::new_static( + "Alt text description of the image, for accessibility.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("aspectRatio"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.embed.defs#aspectRatio"), + r#ref: CowStr::new_static( + "app.bsky.embed.defs#aspectRatio", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("imageHash"), @@ -481,7 +479,9 @@ fn lexicon_doc_art_cllctv_embed_images() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tombstone"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("art.cllctv.embed.defs#tombstone"), + r#ref: CowStr::new_static( + "art.cllctv.embed.defs#tombstone", + ), ..Default::default() }), ); @@ -614,7 +614,7 @@ fn lexicon_doc_art_cllctv_embed_images() -> LexiconDoc<'static> { pub mod images_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -729,7 +729,7 @@ where pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -844,7 +844,7 @@ where pub mod view_image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -955,7 +955,10 @@ where St::Alt: view_image_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> ViewImageBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> ViewImageBuilder, S> { self._fields.0 = Option::Some(value.into()); ViewImageBuilder { _state: PhantomData, @@ -1048,7 +1051,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewImage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ViewImage { ViewImage { alt: self._fields.0.unwrap(), aspect_ratio: self._fields.1, @@ -1058,4 +1064,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/feed.rs b/crates/jacquard-api/src/art_cllctv/feed.rs index 80142db13..19def6b36 100644 --- a/crates/jacquard-api/src/art_cllctv/feed.rs +++ b/crates/jacquard-api/src/art_cllctv/feed.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `art.cllctv.feed` Lexicon namespace/module. pub mod pin; -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/feed/pin.rs b/crates/jacquard-api/src/art_cllctv/feed/pin.rs index 715d510a3..567256b6a 100644 --- a/crates/jacquard-api/src/art_cllctv/feed/pin.rs +++ b/crates/jacquard-api/src/art_cllctv/feed/pin.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -104,7 +104,7 @@ impl LexiconSchema for Pin { pub mod pin_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -252,10 +252,10 @@ where } fn lexicon_doc_art_cllctv_feed_pin() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.feed.pin"), @@ -266,10 +266,12 @@ fn lexicon_doc_art_cllctv_feed_pin() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -298,4 +300,4 @@ fn lexicon_doc_art_cllctv_feed_pin() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/art_cllctv/feed/post.rs b/crates/jacquard-api/src/art_cllctv/feed/post.rs index 62afbb380..d8cfad23f 100644 --- a/crates/jacquard-api/src/art_cllctv/feed/post.rs +++ b/crates/jacquard-api/src/art_cllctv/feed/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,23 +25,20 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::art_cllctv::content::markdoc::Markdoc; use crate::art_cllctv::content::plaintext::Plaintext; use crate::art_cllctv::embed::Tombstone; use crate::art_cllctv::embed::external::External; use crate::art_cllctv::embed::external_video::ExternalVideo; use crate::art_cllctv::embed::images::Images; -use crate::art_cllctv::feed::post; use crate::com_atproto::label::SelfLabels; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::art_cllctv::feed::post; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Category { pub group: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -87,6 +84,7 @@ pub struct Post { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -97,6 +95,7 @@ pub enum PostContent { Markdoc(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -227,16 +226,19 @@ impl LexiconSchema for Post { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("og_image"), @@ -273,10 +275,10 @@ impl LexiconSchema for Post { } fn lexicon_doc_art_cllctv_feed_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("art.cllctv.feed.post"), @@ -291,9 +293,7 @@ fn lexicon_doc_art_cllctv_feed_post() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("group"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("labels"), @@ -437,7 +437,7 @@ fn lexicon_doc_art_cllctv_feed_post() -> LexiconDoc<'static> { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -505,9 +505,7 @@ impl PostBuilder { pub fn new() -> Self { PostBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -518,9 +516,7 @@ impl PostBuilder { pub fn builder() -> Self { PostBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -714,4 +710,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_dropb.rs b/crates/jacquard-api/src/at_dropb.rs index 6fa2947c4..f593a6fd1 100644 --- a/crates/jacquard-api/src/at_dropb.rs +++ b/crates/jacquard-api/src/at_dropb.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `at.dropb` Lexicon namespace/module. -pub mod file; +pub mod file; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_dropb/file.rs b/crates/jacquard-api/src/at_dropb/file.rs index 349d8d8c8..eb31e0e87 100644 --- a/crates/jacquard-api/src/at_dropb/file.rs +++ b/crates/jacquard-api/src/at_dropb/file.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A file #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -111,16 +111,19 @@ impl LexiconSchema for File { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["*/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blob"), @@ -156,16 +159,19 @@ impl LexiconSchema for File { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumbnail"), @@ -181,7 +187,7 @@ impl LexiconSchema for File { pub mod file_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -266,7 +272,10 @@ where St::Blob: file_state::IsUnset, { /// Set the `blob` field (required) - pub fn blob(mut self, value: impl Into>) -> FileBuilder, S> { + pub fn blob( + mut self, + value: impl Into>, + ) -> FileBuilder, S> { self._fields.0 = Option::Some(value.into()); FileBuilder { _state: PhantomData, @@ -358,10 +367,10 @@ where } fn lexicon_doc_at_dropb_file() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.dropb.file"), @@ -379,9 +388,7 @@ fn lexicon_doc_at_dropb_file() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("blob"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -399,9 +406,7 @@ fn lexicon_doc_at_dropb_file() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("thumbnail"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), @@ -421,4 +426,4 @@ fn lexicon_doc_at_dropb_file() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay.rs b/crates/jacquard-api/src/at_inlay.rs index 6bbe796e9..52900de07 100644 --- a/crates/jacquard-api/src/at_inlay.rs +++ b/crates/jacquard-api/src/at_inlay.rs @@ -17,12 +17,13 @@ pub mod placeholder; pub mod slot; pub mod throw; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -33,17 +34,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::at_inlay; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay; /// Cache lifetime and invalidation tags returned by XRPC components. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CachePolicy { ///How frequently the underlying data changes #[serde(skip_serializing_if = "Option::is_none")] @@ -142,6 +140,7 @@ where } } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -155,10 +154,7 @@ pub enum CachePolicyTagsItem { /// A renderable Inlay element. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Element { ///Stable key that identifies the component among its siblings. #[serde(skip_serializing_if = "Option::is_none")] @@ -175,10 +171,7 @@ pub struct Element { /// Standard response from a component render call. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Response { ///Cache lifetime and invalidation tags pub cache: at_inlay::CachePolicy, @@ -191,10 +184,7 @@ pub struct Response { /// Cache tag: depend on backlink relationships to a subject. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TagLink { ///Collection NSID of the linking records. Omit for any collection. #[serde(skip_serializing_if = "Option::is_none")] @@ -208,10 +198,7 @@ pub struct TagLink { /// Cache tag: depend on a specific record, collection, or identity. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TagRecord { ///AT URI at record, collection, or identity granularity pub uri: AtUri, @@ -219,11 +206,9 @@ pub struct TagRecord { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViaValtown { ///Val Town val UUID pub val_id: S, @@ -353,10 +338,10 @@ impl LexiconSchema for ViaValtown { } fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.inlay.defs"), @@ -365,18 +350,22 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cachePolicy"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Cache lifetime and invalidation tags returned by XRPC components.", - )), + description: Some( + CowStr::new_static( + "Cache lifetime and invalidation tags returned by XRPC components.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("life"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "How frequently the underlying data changes", - )), + description: Some( + CowStr::new_static( + "How frequently the underlying data changes", + ), + ), max_length: Some(32usize), ..Default::default() }), @@ -384,13 +373,15 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Data dependencies for cache invalidation", - )), + description: Some( + CowStr::new_static( + "Data dependencies for cache invalidation", + ), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("#tagRecord"), - CowStr::new_static("#tagLink"), + CowStr::new_static("#tagLink") ], ..Default::default() }), @@ -413,9 +404,11 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("key"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Stable key that identifies the component among its siblings.", - )), + description: Some( + CowStr::new_static( + "Stable key that identifies the component among its siblings.", + ), + ), max_length: Some(256usize), ..Default::default() }), @@ -429,9 +422,9 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "NSID of the component to render.", - )), + description: Some( + CowStr::new_static("NSID of the component to render."), + ), format: Some(LexStringFormat::Nsid), ..Default::default() }), @@ -444,13 +437,14 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("response"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Standard response from a component render call.", - )), - required: Some(vec![ - SmolStr::new_static("node"), - SmolStr::new_static("cache"), - ]), + description: Some( + CowStr::new_static( + "Standard response from a component render call.", + ), + ), + required: Some( + vec![SmolStr::new_static("node"), SmolStr::new_static("cache")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -515,9 +509,11 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tagRecord"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Cache tag: depend on a specific record, collection, or identity.", - )), + description: Some( + CowStr::new_static( + "Cache tag: depend on a specific record, collection, or identity.", + ), + ), required: Some(vec![SmolStr::new_static("uri")]), properties: { #[allow(unused_mut)] @@ -525,9 +521,11 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT URI at record, collection, or identity granularity", - )), + description: Some( + CowStr::new_static( + "AT URI at record, collection, or identity granularity", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -565,7 +563,7 @@ fn lexicon_doc_at_inlay_defs() -> LexiconDoc<'static> { pub mod element_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -710,7 +708,7 @@ where pub mod response_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -755,10 +753,7 @@ pub mod response_state { /// Builder for constructing an instance of this type. pub struct ResponseBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - ), + _fields: (Option>, Option>), _type: PhantomData S>, } @@ -862,7 +857,7 @@ where pub mod tag_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -992,7 +987,7 @@ where pub mod tag_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1097,10 +1092,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TagRecord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TagRecord { TagRecord { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/binding.rs b/crates/jacquard-api/src/at_inlay/binding.rs index 084461649..53c87cf28 100644 --- a/crates/jacquard-api/src/at_inlay/binding.rs +++ b/crates/jacquard-api/src/at_inlay/binding.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Binding { ///Path segments to resolve against scope pub path: Vec, @@ -29,11 +26,9 @@ pub struct Binding { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BindingOutput { #[serde(flatten)] pub value: Response, @@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for BindingResponse { impl jacquard_common::xrpc::XrpcRequest for Binding { const NSID: &'static str = "at.inlay.Binding"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = BindingResponse; } @@ -65,15 +61,16 @@ Path: `/xrpc/at.inlay.Binding`. The request payload type is `Binding`; send t pub struct BindingRequest; impl jacquard_common::xrpc::XrpcEndpoint for BindingRequest { const PATH: &'static str = "/xrpc/at.inlay.Binding"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Binding; type Response = BindingResponse; } pub mod binding_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -184,4 +181,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/component.rs b/crates/jacquard-api/src/at_inlay/component.rs index 83b29afdf..a415496dc 100644 --- a/crates/jacquard-api/src/at_inlay/component.rs +++ b/crates/jacquard-api/src/at_inlay/component.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, Nsid}; +use jacquard_common::types::string::{Did, AtUri, Nsid, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::at_inlay::ViaValtown; -use crate::at_inlay::component; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::ViaValtown; +use crate::at_inlay::component; /// Component rendered by calling a remote XRPC endpoint #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BodyExternal { ///DID of the service hosting this component pub did: Did, @@ -46,10 +43,7 @@ pub struct BodyExternal { /// Component rendered by the host from a serialized element tree #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BodyTemplate { ///Serialized element tree with bindings pub node: Data, @@ -92,6 +86,7 @@ pub struct Component { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -116,10 +111,7 @@ pub struct ComponentGetRecordOutput { /// Declares what data this component views and which prop receives it. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { ///Data types this view accepts. pub accepts: Vec>, @@ -129,6 +121,7 @@ pub struct View { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -142,10 +135,7 @@ pub enum ViewAcceptsItem { /// View accepts a primitive value type. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewPrimitive { ///String format constraint. Only applies when type is 'string'. #[serde(skip_serializing_if = "Option::is_none")] @@ -369,10 +359,7 @@ where /// View accepts individual records of a collection. Omit collection for a generic record view. When rkey is present, the component accepts bare DIDs (expanded to full AT URIs) and appears on identity pages. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewRecord { ///The collection this component views. Omit for any-collection. #[serde(skip_serializing_if = "Option::is_none")] @@ -584,7 +571,7 @@ impl LexiconSchema for ViewRecord { pub mod body_external_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -689,7 +676,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BodyExternal { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BodyExternal { BodyExternal { did: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -698,10 +688,10 @@ where } fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.inlay.component"), @@ -710,9 +700,11 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bodyExternal"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Component rendered by calling a remote XRPC endpoint", - )), + description: Some( + CowStr::new_static( + "Component rendered by calling a remote XRPC endpoint", + ), + ), required: Some(vec![SmolStr::new_static("did")]), properties: { #[allow(unused_mut)] @@ -720,9 +712,11 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the service hosting this component", - )), + description: Some( + CowStr::new_static( + "DID of the service hosting this component", + ), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -735,9 +729,11 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bodyTemplate"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Component rendered by the host from a serialized element tree", - )), + description: Some( + CowStr::new_static( + "Component rendered by the host from a serialized element tree", + ), + ), required: Some(vec![SmolStr::new_static("node")]), properties: { #[allow(unused_mut)] @@ -863,26 +859,27 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("view"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Declares what data this component views and which prop receives it.", - )), - required: Some(vec![ - SmolStr::new_static("prop"), - SmolStr::new_static("accepts"), - ]), + description: Some( + CowStr::new_static( + "Declares what data this component views and which prop receives it.", + ), + ), + required: Some( + vec![SmolStr::new_static("prop"), SmolStr::new_static("accepts")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("accepts"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Data types this view accepts.", - )), + description: Some( + CowStr::new_static("Data types this view accepts."), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("#viewRecord"), - CowStr::new_static("#viewPrimitive"), + CowStr::new_static("#viewPrimitive") ], ..Default::default() }), @@ -893,9 +890,11 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("prop"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Which component prop receives the view data.", - )), + description: Some( + CowStr::new_static( + "Which component prop receives the view data.", + ), + ), max_length: Some(256usize), ..Default::default() }), @@ -908,7 +907,9 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("viewPrimitive"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("View accepts a primitive value type.")), + description: Some( + CowStr::new_static("View accepts a primitive value type."), + ), required: Some(vec![SmolStr::new_static("type")]), properties: { #[allow(unused_mut)] @@ -916,9 +917,11 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("format"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "String format constraint. Only applies when type is 'string'.", - )), + description: Some( + CowStr::new_static( + "String format constraint. Only applies when type is 'string'.", + ), + ), max_length: Some(64usize), ..Default::default() }), @@ -926,7 +929,9 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Lexicon primitive type.")), + description: Some( + CowStr::new_static("Lexicon primitive type."), + ), max_length: Some(128usize), ..Default::default() }), @@ -984,7 +989,7 @@ fn lexicon_doc_at_inlay_component() -> LexiconDoc<'static> { pub mod body_template_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1089,7 +1094,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BodyTemplate { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BodyTemplate { BodyTemplate { node: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1099,7 +1107,7 @@ where pub mod component_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1311,7 +1319,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Component { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Component { Component { body: self._fields.0, created_at: self._fields.1, @@ -1328,7 +1339,7 @@ where pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1438,7 +1449,10 @@ where St::Prop: view_state::IsUnset, { /// Set the `prop` field (required) - pub fn prop(mut self, value: impl Into) -> ViewBuilder, S> { + pub fn prop( + mut self, + value: impl Into, + ) -> ViewBuilder, S> { self._fields.1 = Option::Some(value.into()); ViewBuilder { _state: PhantomData, @@ -1470,4 +1484,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/fragment.rs b/crates/jacquard-api/src/at_inlay/fragment.rs index 6abc65ead..9340ee17e 100644 --- a/crates/jacquard-api/src/at_inlay/fragment.rs +++ b/crates/jacquard-api/src/at_inlay/fragment.rs @@ -8,31 +8,26 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Fragment { pub children: Data, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FragmentOutput { #[serde(flatten)] pub value: Response, @@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for FragmentResponse { impl jacquard_common::xrpc::XrpcRequest for Fragment { const NSID: &'static str = "at.inlay.Fragment"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = FragmentResponse; } @@ -64,15 +60,16 @@ Path: `/xrpc/at.inlay.Fragment`. The request payload type is `Fragment`; send pub struct FragmentRequest; impl jacquard_common::xrpc::XrpcEndpoint for FragmentRequest { const PATH: &'static str = "/xrpc/at.inlay.Fragment"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Fragment; type Response = FragmentResponse; } pub mod fragment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -183,4 +180,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/loading.rs b/crates/jacquard-api/src/at_inlay/loading.rs index eb0aa175b..7cb559b4e 100644 --- a/crates/jacquard-api/src/at_inlay/loading.rs +++ b/crates/jacquard-api/src/at_inlay/loading.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Element; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Element; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Loading { pub children: Data, pub fallback: Element, @@ -30,11 +27,9 @@ pub struct Loading { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LoadingOutput { #[serde(flatten)] pub value: Response, @@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for LoadingResponse { impl jacquard_common::xrpc::XrpcRequest for Loading { const NSID: &'static str = "at.inlay.Loading"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = LoadingResponse; } @@ -66,15 +62,16 @@ Path: `/xrpc/at.inlay.Loading`. The request payload type is `Loading`; send t pub struct LoadingRequest; impl jacquard_common::xrpc::XrpcEndpoint for LoadingRequest { const PATH: &'static str = "/xrpc/at.inlay.Loading"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Loading; type Response = LoadingResponse; } pub mod loading_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -219,4 +216,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/maybe.rs b/crates/jacquard-api/src/at_inlay/maybe.rs index 6184cd2d8..260001e76 100644 --- a/crates/jacquard-api/src/at_inlay/maybe.rs +++ b/crates/jacquard-api/src/at_inlay/maybe.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Element; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Element; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Maybe { pub children: Data, #[serde(skip_serializing_if = "Option::is_none")] @@ -31,11 +28,9 @@ pub struct Maybe { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MaybeOutput { #[serde(flatten)] pub value: Response, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for MaybeResponse { impl jacquard_common::xrpc::XrpcRequest for Maybe { const NSID: &'static str = "at.inlay.Maybe"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = MaybeResponse; } @@ -67,15 +63,16 @@ Path: `/xrpc/at.inlay.Maybe`. The request payload type is `Maybe`; send that pub struct MaybeRequest; impl jacquard_common::xrpc::XrpcEndpoint for MaybeRequest { const PATH: &'static str = "/xrpc/at.inlay.Maybe"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Maybe; type Response = MaybeResponse; } pub mod maybe_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -201,4 +198,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/missing.rs b/crates/jacquard-api/src/at_inlay/missing.rs index 351a1af82..53b1722af 100644 --- a/crates/jacquard-api/src/at_inlay/missing.rs +++ b/crates/jacquard-api/src/at_inlay/missing.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Missing { ///Path segments identifying what is missing pub path: Vec, @@ -29,11 +26,9 @@ pub struct Missing { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MissingOutput { #[serde(flatten)] pub value: Response, @@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for MissingResponse { impl jacquard_common::xrpc::XrpcRequest for Missing { const NSID: &'static str = "at.inlay.Missing"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = MissingResponse; } @@ -65,15 +61,16 @@ Path: `/xrpc/at.inlay.Missing`. The request payload type is `Missing`; send t pub struct MissingRequest; impl jacquard_common::xrpc::XrpcEndpoint for MissingRequest { const PATH: &'static str = "/xrpc/at.inlay.Missing"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Missing; type Response = MissingResponse; } pub mod missing_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -184,4 +181,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/pack.rs b/crates/jacquard-api/src/at_inlay/pack.rs index 8a618ef40..fc71e19eb 100644 --- a/crates/jacquard-api/src/at_inlay/pack.rs +++ b/crates/jacquard-api/src/at_inlay/pack.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Nsid}; +use jacquard_common::types::string::{AtUri, Nsid, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::at_inlay::pack; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::pack; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Export { ///AT-URI of the component record pub component: AtUri, @@ -150,7 +147,7 @@ impl LexiconSchema for Pack { pub mod export_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -298,10 +295,10 @@ where } fn lexicon_doc_at_inlay_pack() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.inlay.pack"), @@ -310,19 +307,20 @@ fn lexicon_doc_at_inlay_pack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("export"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("type"), - SmolStr::new_static("component"), - ]), + required: Some( + vec![ + SmolStr::new_static("type"), SmolStr::new_static("component") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("component"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the component record", - )), + description: Some( + CowStr::new_static("AT-URI of the component record"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -330,9 +328,9 @@ fn lexicon_doc_at_inlay_pack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "NSID of the type being exported", - )), + description: Some( + CowStr::new_static("NSID of the type being exported"), + ), format: Some(LexStringFormat::Nsid), ..Default::default() }), @@ -345,13 +343,16 @@ fn lexicon_doc_at_inlay_pack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A list of type to component exports")), + description: Some( + CowStr::new_static("A list of type to component exports"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("exports"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("exports") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -365,9 +366,9 @@ fn lexicon_doc_at_inlay_pack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("exports"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Type to component mappings", - )), + description: Some( + CowStr::new_static("Type to component mappings"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#export"), ..Default::default() @@ -378,9 +379,11 @@ fn lexicon_doc_at_inlay_pack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Short slug for the pack (e.g. \"core\", \"ui\")", - )), + description: Some( + CowStr::new_static( + "Short slug for the pack (e.g. \"core\", \"ui\")", + ), + ), max_length: Some(64usize), ..Default::default() }), @@ -400,7 +403,7 @@ fn lexicon_doc_at_inlay_pack() -> LexiconDoc<'static> { pub mod pack_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -523,7 +526,10 @@ where St::Name: pack_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> PackBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> PackBuilder, S> { self._fields.2 = Option::Some(value.into()); PackBuilder { _state: PhantomData, @@ -557,4 +563,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/placeholder.rs b/crates/jacquard-api/src/at_inlay/placeholder.rs index 66ac8e83d..8ce6bdd1b 100644 --- a/crates/jacquard-api/src/at_inlay/placeholder.rs +++ b/crates/jacquard-api/src/at_inlay/placeholder.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Element; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Element; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Placeholder { pub children: Vec>, pub fallback: Element, @@ -30,11 +27,9 @@ pub struct Placeholder { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PlaceholderOutput { #[serde(flatten)] pub value: Response, @@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for PlaceholderResponse { impl jacquard_common::xrpc::XrpcRequest for Placeholder { const NSID: &'static str = "at.inlay.Placeholder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PlaceholderResponse; } @@ -66,15 +62,16 @@ Path: `/xrpc/at.inlay.Placeholder`. The request payload type is `Placeholder` pub struct PlaceholderRequest; impl jacquard_common::xrpc::XrpcEndpoint for PlaceholderRequest { const PATH: &'static str = "/xrpc/at.inlay.Placeholder"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Placeholder; type Response = PlaceholderResponse; } pub mod placeholder_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,11 +209,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Placeholder { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Placeholder { Placeholder { children: self._fields.0.unwrap(), fallback: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/slot.rs b/crates/jacquard-api/src/at_inlay/slot.rs index b70beabe1..ad5715aba 100644 --- a/crates/jacquard-api/src/at_inlay/slot.rs +++ b/crates/jacquard-api/src/at_inlay/slot.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Slot { ///Key into the host's stash map pub id: S, @@ -29,11 +26,9 @@ pub struct Slot { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SlotOutput { #[serde(flatten)] pub value: Response, @@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for SlotResponse { impl jacquard_common::xrpc::XrpcRequest for Slot { const NSID: &'static str = "at.inlay.Slot"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SlotResponse; } @@ -65,8 +61,9 @@ Path: `/xrpc/at.inlay.Slot`. The request payload type is `Slot`; send that re pub struct SlotRequest; impl jacquard_common::xrpc::XrpcEndpoint for SlotRequest { const PATH: &'static str = "/xrpc/at.inlay.Slot"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Slot; type Response = SlotResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_inlay/throw.rs b/crates/jacquard-api/src/at_inlay/throw.rs index 1ac3f8213..51b21ec4b 100644 --- a/crates/jacquard-api/src/at_inlay/throw.rs +++ b/crates/jacquard-api/src/at_inlay/throw.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_inlay::Response; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_inlay::Response; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Throw { ///Human-readable error message pub message: S, @@ -32,11 +29,9 @@ pub struct Throw { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThrowOutput { #[serde(flatten)] pub value: Response, @@ -57,8 +52,9 @@ impl jacquard_common::xrpc::XrpcResp for ThrowResponse { impl jacquard_common::xrpc::XrpcRequest for Throw { const NSID: &'static str = "at.inlay.Throw"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ThrowResponse; } @@ -68,8 +64,9 @@ Path: `/xrpc/at.inlay.Throw`. The request payload type is `Throw`; send that pub struct ThrowRequest; impl jacquard_common::xrpc::XrpcEndpoint for ThrowRequest { const PATH: &'static str = "/xrpc/at.inlay.Throw"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Throw; type Response = ThrowResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin.rs b/crates/jacquard-api/src/at_margin.rs index a59bf62d3..65821c3c2 100644 --- a/crates/jacquard-api/src/at_margin.rs +++ b/crates/jacquard-api/src/at_margin.rs @@ -11,4 +11,4 @@ pub mod collection_item; pub mod like; pub mod preferences; pub mod profile; -pub mod reply; +pub mod reply; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/annotation.rs b/crates/jacquard-api/src/at_margin/annotation.rs index c61c4aa5a..8cddcd907 100644 --- a/crates/jacquard-api/src/at_margin/annotation.rs +++ b/crates/jacquard-api/src/at_margin/annotation.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::at_margin::annotation; -use crate::com_atproto::label::SelfLabels; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::label::SelfLabels; +use crate::at_margin::annotation; /// Annotation body - the content of the annotation #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Body { ///MIME type of the body content Defaults to `"text/plain"`. #[serde(skip_serializing_if = "Option::is_none")] @@ -57,10 +54,7 @@ pub struct Body { /// W3C CssSelector - select DOM elements by CSS selector #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CssSelector { #[serde(skip_serializing_if = "Option::is_none")] pub r#type: Option, @@ -73,10 +67,7 @@ pub struct CssSelector { /// W3C FragmentSelector - select by URI fragment #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FragmentSelector { ///Specification the fragment conforms to #[serde(skip_serializing_if = "Option::is_none")] @@ -92,10 +83,7 @@ pub struct FragmentSelector { /// The client/agent that created this record #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Generator { #[serde(skip_serializing_if = "Option::is_none")] pub homepage: Option>, @@ -248,7 +236,9 @@ where AnnotationMotivation::Editing => AnnotationMotivation::Editing, AnnotationMotivation::Questioning => AnnotationMotivation::Questioning, AnnotationMotivation::Assessing => AnnotationMotivation::Assessing, - AnnotationMotivation::Other(v) => AnnotationMotivation::Other(v.into_static()), + AnnotationMotivation::Other(v) => { + AnnotationMotivation::Other(v.into_static()) + } } } } @@ -267,10 +257,7 @@ pub struct AnnotationGetRecordOutput { /// W3C RangeSelector - select range between two selectors #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RangeSelector { ///Selector for range end pub end_selector: RangeSelectorEndSelector, @@ -282,6 +269,7 @@ pub struct RangeSelector { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -296,6 +284,7 @@ pub enum RangeSelectorEndSelector { XpathSelector(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -313,10 +302,7 @@ pub enum RangeSelectorStartSelector { /// W3C SpecificResource - the target with optional selector #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Target { ///Selector to identify the specific segment #[serde(skip_serializing_if = "Option::is_none")] @@ -336,6 +322,7 @@ pub struct Target { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -357,10 +344,7 @@ pub enum TargetSelector { /// W3C TextPositionSelector - select by character offsets #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TextPositionSelector { ///Ending character position (exclusive) pub end: i64, @@ -375,10 +359,7 @@ pub struct TextPositionSelector { /// W3C TextQuoteSelector - select text by quoting it with context #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TextQuoteSelector { ///The exact text to match pub exact: S, @@ -397,10 +378,7 @@ pub struct TextQuoteSelector { /// W3C TimeState - record when content was captured #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TimeState { ///URL to cached/archived version #[serde(skip_serializing_if = "Option::is_none")] @@ -415,10 +393,7 @@ pub struct TimeState { /// W3C XPathSelector - select by XPath expression #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct XpathSelector { #[serde(skip_serializing_if = "Option::is_none")] pub r#type: Option, @@ -806,10 +781,10 @@ impl Default for Body { } fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.annotation"), @@ -818,18 +793,20 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("body"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Annotation body - the content of the annotation", - )), + description: Some( + CowStr::new_static( + "Annotation body - the content of the annotation", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("format"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "MIME type of the body content", - )), + description: Some( + CowStr::new_static("MIME type of the body content"), + ), ..Default::default() }), ); @@ -843,9 +820,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Reference to external body content", - )), + description: Some( + CowStr::new_static("Reference to external body content"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -853,9 +830,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("value"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Text content of the annotation", - )), + description: Some( + CowStr::new_static("Text content of the annotation"), + ), max_length: Some(10000usize), max_graphemes: Some(3000usize), ..Default::default() @@ -869,23 +846,25 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cssSelector"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C CssSelector - select DOM elements by CSS selector", - )), + description: Some( + CowStr::new_static( + "W3C CssSelector - select DOM elements by CSS selector", + ), + ), required: Some(vec![SmolStr::new_static("value")]), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("value"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("CSS selector string")), + description: Some( + CowStr::new_static("CSS selector string"), + ), max_length: Some(2000usize), ..Default::default() }), @@ -898,9 +877,11 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("fragmentSelector"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C FragmentSelector - select by URI fragment", - )), + description: Some( + CowStr::new_static( + "W3C FragmentSelector - select by URI fragment", + ), + ), required: Some(vec![SmolStr::new_static("value")]), properties: { #[allow(unused_mut)] @@ -908,23 +889,23 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("conformsTo"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Specification the fragment conforms to", - )), + description: Some( + CowStr::new_static("Specification the fragment conforms to"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), ); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("value"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Fragment identifier value")), + description: Some( + CowStr::new_static("Fragment identifier value"), + ), max_length: Some(1000usize), ..Default::default() }), @@ -937,9 +918,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("generator"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "The client/agent that created this record", - )), + description: Some( + CowStr::new_static("The client/agent that created this record"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -959,9 +940,7 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1070,25 +1049,31 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("rangeSelector"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C RangeSelector - select range between two selectors", - )), - required: Some(vec![ - SmolStr::new_static("startSelector"), - SmolStr::new_static("endSelector"), - ]), + description: Some( + CowStr::new_static( + "W3C RangeSelector - select range between two selectors", + ), + ), + required: Some( + vec![ + SmolStr::new_static("startSelector"), + SmolStr::new_static("endSelector") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("endSelector"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static("Selector for range end")), + description: Some( + CowStr::new_static("Selector for range end"), + ), refs: vec![ CowStr::new_static("#textQuoteSelector"), CowStr::new_static("#textPositionSelector"), CowStr::new_static("#cssSelector"), - CowStr::new_static("#xpathSelector"), + CowStr::new_static("#xpathSelector") ], ..Default::default() }), @@ -1096,21 +1081,21 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("startSelector"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static("Selector for range start")), + description: Some( + CowStr::new_static("Selector for range start"), + ), refs: vec![ CowStr::new_static("#textQuoteSelector"), CowStr::new_static("#textPositionSelector"), CowStr::new_static("#cssSelector"), - CowStr::new_static("#xpathSelector"), + CowStr::new_static("#xpathSelector") ], ..Default::default() }), ); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1120,9 +1105,11 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("target"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C SpecificResource - the target with optional selector", - )), + description: Some( + CowStr::new_static( + "W3C SpecificResource - the target with optional selector", + ), + ), required: Some(vec![SmolStr::new_static("source")]), properties: { #[allow(unused_mut)] @@ -1130,16 +1117,18 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("selector"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static( - "Selector to identify the specific segment", - )), + description: Some( + CowStr::new_static( + "Selector to identify the specific segment", + ), + ), refs: vec![ CowStr::new_static("#textQuoteSelector"), CowStr::new_static("#textPositionSelector"), CowStr::new_static("#cssSelector"), CowStr::new_static("#xpathSelector"), CowStr::new_static("#fragmentSelector"), - CowStr::new_static("#rangeSelector"), + CowStr::new_static("#rangeSelector") ], ..Default::default() }), @@ -1147,7 +1136,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("source"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URL being annotated")), + description: Some( + CowStr::new_static("The URL being annotated"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1155,9 +1146,11 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sourceHash"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "SHA256 hash of normalized URL for indexing", - )), + description: Some( + CowStr::new_static( + "SHA256 hash of normalized URL for indexing", + ), + ), ..Default::default() }), ); @@ -1171,9 +1164,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Page title at time of annotation", - )), + description: Some( + CowStr::new_static("Page title at time of annotation"), + ), max_length: Some(500usize), ..Default::default() }), @@ -1186,13 +1179,14 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("textPositionSelector"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C TextPositionSelector - select by character offsets", - )), - required: Some(vec![ - SmolStr::new_static("start"), - SmolStr::new_static("end"), - ]), + description: Some( + CowStr::new_static( + "W3C TextPositionSelector - select by character offsets", + ), + ), + required: Some( + vec![SmolStr::new_static("start"), SmolStr::new_static("end")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1212,9 +1206,7 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1224,9 +1216,11 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("textQuoteSelector"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C TextQuoteSelector - select text by quoting it with context", - )), + description: Some( + CowStr::new_static( + "W3C TextQuoteSelector - select text by quoting it with context", + ), + ), required: Some(vec![SmolStr::new_static("exact")]), properties: { #[allow(unused_mut)] @@ -1234,7 +1228,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("exact"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The exact text to match")), + description: Some( + CowStr::new_static("The exact text to match"), + ), max_length: Some(5000usize), max_graphemes: Some(1500usize), ..Default::default() @@ -1243,9 +1239,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("prefix"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Text immediately before the selection", - )), + description: Some( + CowStr::new_static("Text immediately before the selection"), + ), max_length: Some(500usize), max_graphemes: Some(150usize), ..Default::default() @@ -1254,9 +1250,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("suffix"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Text immediately after the selection", - )), + description: Some( + CowStr::new_static("Text immediately after the selection"), + ), max_length: Some(500usize), max_graphemes: Some(150usize), ..Default::default() @@ -1264,9 +1260,7 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1276,18 +1270,20 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("timeState"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C TimeState - record when content was captured", - )), + description: Some( + CowStr::new_static( + "W3C TimeState - record when content was captured", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("cached"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "URL to cached/archived version", - )), + description: Some( + CowStr::new_static("URL to cached/archived version"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -1295,9 +1291,9 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sourceDate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the source was accessed", - )), + description: Some( + CowStr::new_static("When the source was accessed"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1310,18 +1306,18 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("xpathSelector"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "W3C XPathSelector - select by XPath expression", - )), + description: Some( + CowStr::new_static( + "W3C XPathSelector - select by XPath expression", + ), + ), required: Some(vec![SmolStr::new_static("value")]), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("value"), @@ -1344,7 +1340,7 @@ fn lexicon_doc_at_margin_annotation() -> LexiconDoc<'static> { pub mod annotation_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1472,7 +1468,10 @@ where impl AnnotationBuilder { /// Set the `generator` field (optional) - pub fn generator(mut self, value: impl Into>>) -> Self { + pub fn generator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -1498,7 +1497,10 @@ impl AnnotationBuilder { impl AnnotationBuilder { /// Set the `motivation` field (optional) - pub fn motivation(mut self, value: impl Into>>) -> Self { + pub fn motivation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -1575,7 +1577,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Annotation { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Annotation { Annotation { body: self._fields.0, created_at: self._fields.1.unwrap(), @@ -1592,7 +1597,7 @@ where pub mod range_selector_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1635,7 +1640,10 @@ pub mod range_selector_state { } /// Builder for constructing an instance of this type. -pub struct RangeSelectorBuilder { +pub struct RangeSelectorBuilder< + St: range_selector_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -1748,7 +1756,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RangeSelector { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RangeSelector { RangeSelector { end_selector: self._fields.0.unwrap(), start_selector: self._fields.1.unwrap(), @@ -1760,7 +1771,7 @@ where pub mod target_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1941,7 +1952,7 @@ where pub mod text_position_selector_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1995,14 +2006,20 @@ pub struct TextPositionSelectorBuilder< impl TextPositionSelector { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> TextPositionSelectorBuilder { + pub fn new() -> TextPositionSelectorBuilder< + text_position_selector_state::Empty, + DefaultStr, + > { TextPositionSelectorBuilder::new() } } impl TextPositionSelector { /// Create a new builder for this type - pub fn builder() -> TextPositionSelectorBuilder { + pub fn builder() -> TextPositionSelectorBuilder< + text_position_selector_state::Empty, + S, + > { TextPositionSelectorBuilder::builder() } } @@ -2067,7 +2084,10 @@ where } } -impl TextPositionSelectorBuilder { +impl< + St: text_position_selector_state::State, + S: BosStr, +> TextPositionSelectorBuilder { /// Set the `type` field (optional) pub fn r#type(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -2107,4 +2127,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/apikey.rs b/crates/jacquard-api/src/at_margin/apikey.rs index c654e3daa..bdc59887d 100644 --- a/crates/jacquard-api/src/at_margin/apikey.rs +++ b/crates/jacquard-api/src/at_margin/apikey.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// An API key hash for the Margin application. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -118,7 +118,7 @@ impl LexiconSchema for Apikey { pub mod apikey_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -261,7 +261,10 @@ where St::Name: apikey_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ApikeyBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ApikeyBuilder, S> { self._fields.2 = Option::Some(value.into()); ApikeyBuilder { _state: PhantomData, @@ -299,10 +302,10 @@ where } fn lexicon_doc_at_margin_apikey() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.apikey"), @@ -311,16 +314,17 @@ fn lexicon_doc_at_margin_apikey() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "An API key hash for the Margin application.", - )), + description: Some( + CowStr::new_static("An API key hash for the Margin application."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("keyHash"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("keyHash"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -334,18 +338,18 @@ fn lexicon_doc_at_margin_apikey() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("keyHash"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "SHA256 hash of the API key.", - )), + description: Some( + CowStr::new_static("SHA256 hash of the API key."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Human-readable name for the API key.", - )), + description: Some( + CowStr::new_static("Human-readable name for the API key."), + ), max_length: Some(64usize), ..Default::default() }), @@ -361,4 +365,4 @@ fn lexicon_doc_at_margin_apikey() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/collection.rs b/crates/jacquard-api/src/at_margin/collection.rs index 6507fc0fb..e8ff741cf 100644 --- a/crates/jacquard-api/src/at_margin/collection.rs +++ b/crates/jacquard-api/src/at_margin/collection.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A named collection for organizing annotations #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -179,7 +179,7 @@ impl LexiconSchema for Collection { pub mod collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -345,7 +345,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Collection { Collection { created_at: self._fields.0.unwrap(), description: self._fields.1, @@ -357,10 +360,10 @@ where } fn lexicon_doc_at_margin_collection() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.collection"), @@ -369,15 +372,19 @@ fn lexicon_doc_at_margin_collection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A named collection for organizing annotations", - )), + description: Some( + CowStr::new_static( + "A named collection for organizing annotations", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -391,7 +398,9 @@ fn lexicon_doc_at_margin_collection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Collection description")), + description: Some( + CowStr::new_static("Collection description"), + ), max_length: Some(500usize), max_graphemes: Some(150usize), ..Default::default() @@ -400,9 +409,11 @@ fn lexicon_doc_at_margin_collection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("icon"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Emoji icon or icon identifier for the collection", - )), + description: Some( + CowStr::new_static( + "Emoji icon or icon identifier for the collection", + ), + ), max_length: Some(100usize), max_graphemes: Some(100usize), ..Default::default() @@ -428,4 +439,4 @@ fn lexicon_doc_at_margin_collection() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/collection_item.rs b/crates/jacquard-api/src/at_margin/collection_item.rs index c250b227b..d37013425 100644 --- a/crates/jacquard-api/src/at_margin/collection_item.rs +++ b/crates/jacquard-api/src/at_margin/collection_item.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Associates an annotation with a collection #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -119,7 +119,7 @@ impl LexiconSchema for CollectionItem { pub mod collection_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -176,14 +176,12 @@ pub mod collection_item_state { } /// Builder for constructing an instance of this type. -pub struct CollectionItemBuilder { +pub struct CollectionItemBuilder< + St: collection_item_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - Option, - Option, - ), + _fields: (Option>, Option>, Option, Option), _type: PhantomData S>, } @@ -311,7 +309,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CollectionItem { CollectionItem { annotation: self._fields.0.unwrap(), collection: self._fields.1.unwrap(), @@ -323,10 +324,10 @@ where } fn lexicon_doc_at_margin_collectionItem() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.collectionItem"), @@ -335,25 +336,29 @@ fn lexicon_doc_at_margin_collectionItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Associates an annotation with a collection", - )), + description: Some( + CowStr::new_static("Associates an annotation with a collection"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("collection"), - SmolStr::new_static("annotation"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("collection"), + SmolStr::new_static("annotation"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("annotation"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT URI of the annotation, highlight, or bookmark", - )), + description: Some( + CowStr::new_static( + "AT URI of the annotation, highlight, or bookmark", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -361,9 +366,9 @@ fn lexicon_doc_at_margin_collectionItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("collection"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT URI of the collection", - )), + description: Some( + CowStr::new_static("AT URI of the collection"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -393,4 +398,4 @@ fn lexicon_doc_at_margin_collectionItem() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/like.rs b/crates/jacquard-api/src/at_margin/like.rs index 859dac5dc..087ce2ec9 100644 --- a/crates/jacquard-api/src/at_margin/like.rs +++ b/crates/jacquard-api/src/at_margin/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::at_margin::like; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_margin::like; /// A like on an annotation or reply #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -56,11 +56,9 @@ pub struct LikeGetRecordOutput { pub value: Like, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubjectRef { pub cid: Cid, pub uri: AtUri, @@ -133,7 +131,7 @@ impl LexiconSchema for SubjectRef { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -281,10 +279,10 @@ where } fn lexicon_doc_at_margin_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.like"), @@ -293,13 +291,17 @@ fn lexicon_doc_at_margin_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A like on an annotation or reply")), + description: Some( + CowStr::new_static("A like on an annotation or reply"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -327,7 +329,9 @@ fn lexicon_doc_at_margin_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subjectRef"), LexUserType::Object(LexObject { - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -358,7 +362,7 @@ fn lexicon_doc_at_margin_like() -> LexiconDoc<'static> { pub mod subject_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -496,11 +500,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SubjectRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SubjectRef { SubjectRef { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/preferences.rs b/crates/jacquard-api/src/at_margin/preferences.rs index 91758eddb..ccd532828 100644 --- a/crates/jacquard-api/src/at_margin/preferences.rs +++ b/crates/jacquard-api/src/at_margin/preferences.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::at_margin::preferences; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_margin::preferences; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelPreference { ///The label identifier (e.g. sexual, violence, spam). pub label: S, @@ -96,7 +93,8 @@ impl Serialize for LabelPreferenceVisibility { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for LabelPreferenceVisibility { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for LabelPreferenceVisibility { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -130,11 +128,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelerSubscription { ///DID of the labeler service. pub did: S, @@ -289,10 +285,10 @@ impl LexiconSchema for Preferences { } fn lexicon_doc_at_margin_preferences() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.preferences"), @@ -301,38 +297,44 @@ fn lexicon_doc_at_margin_preferences() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("labelPreference"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("labelerDid"), - SmolStr::new_static("label"), - SmolStr::new_static("visibility"), - ]), + required: Some( + vec![ + SmolStr::new_static("labelerDid"), + SmolStr::new_static("label"), + SmolStr::new_static("visibility") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("label"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The label identifier (e.g. sexual, violence, spam).", - )), + description: Some( + CowStr::new_static( + "The label identifier (e.g. sexual, violence, spam).", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("labelerDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the labeler service.", - )), + description: Some( + CowStr::new_static("DID of the labeler service."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("visibility"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "How to handle content with this label: hide, warn, or ignore.", - )), + description: Some( + CowStr::new_static( + "How to handle content with this label: hide, warn, or ignore.", + ), + ), ..Default::default() }), ); @@ -351,9 +353,9 @@ fn lexicon_doc_at_margin_preferences() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the labeler service.", - )), + description: Some( + CowStr::new_static("DID of the labeler service."), + ), ..Default::default() }), ); @@ -452,7 +454,7 @@ fn lexicon_doc_at_margin_preferences() -> LexiconDoc<'static> { pub mod preferences_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -552,7 +554,10 @@ where impl PreferencesBuilder { /// Set the `disableExternalLinkWarning` field (optional) - pub fn disable_external_link_warning(mut self, value: impl Into>) -> Self { + pub fn disable_external_link_warning( + mut self, + value: impl Into>, + ) -> Self { self._fields.1 = value.into(); self } @@ -565,12 +570,18 @@ impl PreferencesBuilder { impl PreferencesBuilder { /// Set the `externalLinkSkippedHostnames` field (optional) - pub fn external_link_skipped_hostnames(mut self, value: impl Into>>) -> Self { + pub fn external_link_skipped_hostnames( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `externalLinkSkippedHostnames` field to an Option value (optional) - pub fn maybe_external_link_skipped_hostnames(mut self, value: Option>) -> Self { + pub fn maybe_external_link_skipped_hostnames( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -631,7 +642,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Preferences { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Preferences { Preferences { created_at: self._fields.0.unwrap(), disable_external_link_warning: self._fields.1, @@ -641,4 +655,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/profile.rs b/crates/jacquard-api/src/at_margin/profile.rs index 135d62169..75d318b6c 100644 --- a/crates/jacquard-api/src/at_margin/profile.rs +++ b/crates/jacquard-api/src/at_margin/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A profile for a user on the Margin network. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,20 +129,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -194,7 +199,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -390,10 +395,10 @@ where } fn lexicon_doc_at_margin_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.profile"), @@ -402,9 +407,9 @@ fn lexicon_doc_at_margin_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A profile for a user on the Margin network.", - )), + description: Some( + CowStr::new_static("A profile for a user on the Margin network."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("createdAt")]), @@ -413,16 +418,14 @@ fn lexicon_doc_at_margin_profile() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("bio"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "User biography or description.", - )), + description: Some( + CowStr::new_static("User biography or description."), + ), max_length: Some(5000usize), ..Default::default() }), @@ -437,9 +440,9 @@ fn lexicon_doc_at_margin_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("displayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name for the user.", - )), + description: Some( + CowStr::new_static("Display name for the user."), + ), max_length: Some(640usize), ..Default::default() }), @@ -447,9 +450,11 @@ fn lexicon_doc_at_margin_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("links"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "List of other relevant links (e.g. GitHub, Bluesky, etc).", - )), + description: Some( + CowStr::new_static( + "List of other relevant links (e.g. GitHub, Bluesky, etc).", + ), + ), items: LexArrayItem::String(LexString { max_length: Some(1000usize), ..Default::default() @@ -477,4 +482,4 @@ fn lexicon_doc_at_margin_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_margin/reply.rs b/crates/jacquard-api/src/at_margin/reply.rs index 71715c861..93a5dd8e9 100644 --- a/crates/jacquard-api/src/at_margin/reply.rs +++ b/crates/jacquard-api/src/at_margin/reply.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::at_margin::reply; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_margin::reply; /// A reply to an annotation (motivation: replying) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -67,10 +67,7 @@ pub struct ReplyGetRecordOutput { /// Strong reference to an annotation or reply #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyRef { pub cid: Cid, pub uri: AtUri, @@ -171,7 +168,7 @@ fn _default_reply_format() -> ::core::option::Option { pub mod reply_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -368,7 +365,10 @@ where St::Text: reply_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> ReplyBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> ReplyBuilder, S> { self._fields.4 = Option::Some(value.into()); ReplyBuilder { _state: PhantomData, @@ -390,10 +390,7 @@ where pub fn build(self) -> Reply { Reply { created_at: self._fields.0.unwrap(), - format: self - ._fields - .1 - .or_else(|| Some(S::from_static("text/plain"))), + format: self._fields.1.or_else(|| Some(S::from_static("text/plain"))), parent: self._fields.2.unwrap(), root: self._fields.3.unwrap(), text: self._fields.4.unwrap(), @@ -404,10 +401,7 @@ where pub fn build_with_data(self, extra_data: BTreeMap>) -> Reply { Reply { created_at: self._fields.0.unwrap(), - format: self - ._fields - .1 - .or_else(|| Some(S::from_static("text/plain"))), + format: self._fields.1.or_else(|| Some(S::from_static("text/plain"))), parent: self._fields.2.unwrap(), root: self._fields.3.unwrap(), text: self._fields.4.unwrap(), @@ -417,10 +411,10 @@ where } fn lexicon_doc_at_margin_reply() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.margin.reply"), @@ -429,17 +423,20 @@ fn lexicon_doc_at_margin_reply() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A reply to an annotation (motivation: replying)", - )), + description: Some( + CowStr::new_static( + "A reply to an annotation (motivation: replying)", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("parent"), - SmolStr::new_static("root"), - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("parent"), SmolStr::new_static("root"), + SmolStr::new_static("text"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -453,9 +450,9 @@ fn lexicon_doc_at_margin_reply() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("format"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "MIME type of the text content", - )), + description: Some( + CowStr::new_static("MIME type of the text content"), + ), ..Default::default() }), ); @@ -492,10 +489,12 @@ fn lexicon_doc_at_margin_reply() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("replyRef"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Strong reference to an annotation or reply", - )), - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + description: Some( + CowStr::new_static("Strong reference to an annotation or reply"), + ), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -526,7 +525,7 @@ fn lexicon_doc_at_margin_reply() -> LexiconDoc<'static> { pub mod reply_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -671,4 +670,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_noted.rs b/crates/jacquard-api/src/at_noted.rs index 26cdf7736..63954a145 100644 --- a/crates/jacquard-api/src/at_noted.rs +++ b/crates/jacquard-api/src/at_noted.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `at.noted` Lexicon namespace/module. pub mod link; -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_noted/link.rs b/crates/jacquard-api/src/at_noted/link.rs index 23e50214f..35d0e6753 100644 --- a/crates/jacquard-api/src/at_noted/link.rs +++ b/crates/jacquard-api/src/at_noted/link.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -109,7 +109,7 @@ impl LexiconSchema for Link { pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -264,7 +264,10 @@ where St::Url: link_state::IsUnset, { /// Set the `url` field (required) - pub fn url(mut self, value: impl Into>) -> LinkBuilder, S> { + pub fn url( + mut self, + value: impl Into>, + ) -> LinkBuilder, S> { self._fields.4 = Option::Some(value.into()); LinkBuilder { _state: PhantomData, @@ -305,10 +308,10 @@ where } fn lexicon_doc_at_noted_link() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.noted.link"), @@ -319,10 +322,11 @@ fn lexicon_doc_at_noted_link() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("url"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("url"), SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -372,4 +376,4 @@ fn lexicon_doc_at_noted_link() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_noted/post.rs b/crates/jacquard-api/src/at_noted/post.rs index 0686f852a..a68adf742 100644 --- a/crates/jacquard-api/src/at_noted/post.rs +++ b/crates/jacquard-api/src/at_noted/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -111,7 +111,7 @@ impl LexiconSchema for Post { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -248,7 +248,10 @@ where St::Slug: post_state::IsUnset, { /// Set the `slug` field (required) - pub fn slug(mut self, value: impl Into) -> PostBuilder, S> { + pub fn slug( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.3 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -277,7 +280,10 @@ where St::Title: post_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> PostBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.5 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -320,10 +326,10 @@ where } fn lexicon_doc_at_noted_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.noted.post"), @@ -334,10 +340,11 @@ fn lexicon_doc_at_noted_post() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("slug"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), SmolStr::new_static("slug") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -392,4 +399,4 @@ fn lexicon_doc_at_noted_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_pasteb.rs b/crates/jacquard-api/src/at_pasteb.rs index d1ddd6742..a4f258ce3 100644 --- a/crates/jacquard-api/src/at_pasteb.rs +++ b/crates/jacquard-api/src/at_pasteb.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `at.pasteb` Lexicon namespace/module. -pub mod paste; +pub mod paste; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_pasteb/paste.rs b/crates/jacquard-api/src/at_pasteb/paste.rs index c875a0eda..262c290e9 100644 --- a/crates/jacquard-api/src/at_pasteb/paste.rs +++ b/crates/jacquard-api/src/at_pasteb/paste.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A paste #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -116,16 +116,19 @@ impl LexiconSchema for Paste { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["*/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("content"), @@ -183,16 +186,19 @@ impl LexiconSchema for Paste { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("thumbnail"), @@ -218,7 +224,7 @@ impl LexiconSchema for Paste { pub mod paste_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -449,10 +455,10 @@ where } fn lexicon_doc_at_pasteb_paste() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.pasteb.paste"), @@ -464,18 +470,18 @@ fn lexicon_doc_at_pasteb_paste() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A paste")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("content"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("content"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("content"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -487,9 +493,9 @@ fn lexicon_doc_at_pasteb_paste() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional description of the paste", - )), + description: Some( + CowStr::new_static("Optional description of the paste"), + ), max_length: Some(2048usize), max_graphemes: Some(1024usize), ..Default::default() @@ -498,18 +504,18 @@ fn lexicon_doc_at_pasteb_paste() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("lang"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Language/syntax identifier for highlighting", - )), + description: Some( + CowStr::new_static( + "Language/syntax identifier for highlighting", + ), + ), max_length: Some(32usize), ..Default::default() }), ); map.insert( SmolStr::new_static("thumbnail"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("title"), @@ -536,4 +542,4 @@ fn lexicon_doc_at_pasteb_paste() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_podping.rs b/crates/jacquard-api/src/at_podping.rs index 7bde4b568..79ce7b20f 100644 --- a/crates/jacquard-api/src/at_podping.rs +++ b/crates/jacquard-api/src/at_podping.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `at.podping` Lexicon namespace/module. -pub mod records; +pub mod records; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_podping/records.rs b/crates/jacquard-api/src/at_podping/records.rs index 6a6c34193..092907415 100644 --- a/crates/jacquard-api/src/at_podping/records.rs +++ b/crates/jacquard-api/src/at_podping/records.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `at.podping.records` Lexicon namespace/module. pub mod podping; -pub mod startup; +pub mod startup; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_podping/records/podping.rs b/crates/jacquard-api/src/at_podping/records/podping.rs index 0559b94c3..85e72a793 100644 --- a/crates/jacquard-api/src/at_podping/records/podping.rs +++ b/crates/jacquard-api/src/at_podping/records/podping.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Normalized podping fields, supporting podping v0 through v1.1. Record TID timestamp should represent when the event was received, useful for global ordering. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -118,7 +118,7 @@ impl LexiconSchema for Podping { pub mod podping_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -418,10 +418,10 @@ where } fn lexicon_doc_at_podping_records_podping() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.podping.records.podping"), @@ -535,4 +535,4 @@ fn lexicon_doc_at_podping_records_podping() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_podping/records/startup.rs b/crates/jacquard-api/src/at_podping/records/startup.rs index c0f215f58..9f582cbe1 100644 --- a/crates/jacquard-api/src/at_podping/records/startup.rs +++ b/crates/jacquard-api/src/at_podping/records/startup.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Normalized podping startup fields. Record TID timestamp should represent when the event was received, useful for global ordering. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -132,7 +132,7 @@ impl LexiconSchema for Startup { pub mod startup_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -226,9 +226,7 @@ impl StartupBuilder { pub fn new() -> Self { StartupBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -239,9 +237,7 @@ impl StartupBuilder { pub fn builder() -> Self { StartupBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -452,10 +448,10 @@ where } fn lexicon_doc_at_podping_records_startup() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.podping.records.startup"), @@ -596,4 +592,4 @@ fn lexicon_doc_at_podping_records_startup() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_unthread.rs b/crates/jacquard-api/src/at_unthread.rs index ea934d549..740ce9e92 100644 --- a/crates/jacquard-api/src/at_unthread.rs +++ b/crates/jacquard-api/src/at_unthread.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `at.unthread` Lexicon namespace/module. -pub mod document; +pub mod document; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_unthread/document.rs b/crates/jacquard-api/src/at_unthread/document.rs index 36605f807..1baa28632 100644 --- a/crates/jacquard-api/src/at_unthread/document.rs +++ b/crates/jacquard-api/src/at_unthread/document.rs @@ -7,4 +7,4 @@ pub mod delete_draft; pub mod get_draft; pub mod list_drafts; -pub mod put_draft; +pub mod put_draft; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_unthread/document/delete_draft.rs b/crates/jacquard-api/src/at_unthread/document/delete_draft.rs index 1cf628e3c..fd2b29736 100644 --- a/crates/jacquard-api/src/at_unthread/document/delete_draft.rs +++ b/crates/jacquard-api/src/at_unthread/document/delete_draft.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteDraft { ///TID of the draft to delete. pub tid: S, @@ -28,30 +25,34 @@ pub struct DeleteDraft { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteDraftOutput { pub success: bool, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteDraftError { #[serde(rename = "DraftNotFound")] DraftNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteDraftError { @@ -88,8 +89,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteDraftResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteDraft { const NSID: &'static str = "at.unthread.document.deleteDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteDraftResponse; } @@ -99,8 +101,9 @@ Path: `/xrpc/at.unthread.document.deleteDraft`. The request payload type is `Del pub struct DeleteDraftRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteDraftRequest { const PATH: &'static str = "/xrpc/at.unthread.document.deleteDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteDraft; type Response = DeleteDraftResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_unthread/document/get_draft.rs b/crates/jacquard-api/src/at_unthread/document/get_draft.rs index bab512ae3..2eedf1c90 100644 --- a/crates/jacquard-api/src/at_unthread/document/get_draft.rs +++ b/crates/jacquard-api/src/at_unthread/document/get_draft.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_unthread::document::put_draft::DraftView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_unthread::document::put_draft::DraftView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetDraft { pub tid: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetDraftOutput { #[serde(flatten)] pub value: DraftView, @@ -38,19 +33,25 @@ pub struct GetDraftOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetDraftError { #[serde(rename = "DraftNotFound")] DraftNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetDraftError { @@ -104,7 +105,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetDraftRequest { pub mod get_draft_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -183,7 +184,10 @@ where St::Tid: get_draft_state::IsUnset, { /// Set the `tid` field (required) - pub fn tid(mut self, value: impl Into) -> GetDraftBuilder, S> { + pub fn tid( + mut self, + value: impl Into, + ) -> GetDraftBuilder, S> { self._fields.0 = Option::Some(value.into()); GetDraftBuilder { _state: PhantomData, @@ -204,4 +208,4 @@ where tid: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_unthread/document/list_drafts.rs b/crates/jacquard-api/src/at_unthread/document/list_drafts.rs index 96828e223..2b93aebee 100644 --- a/crates/jacquard-api/src/at_unthread/document/list_drafts.rs +++ b/crates/jacquard-api/src/at_unthread/document/list_drafts.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::at_unthread::document::put_draft::DraftView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::at_unthread::document::put_draft::DraftView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListDrafts { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -31,11 +28,9 @@ pub struct ListDrafts { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListDraftsOutput { ///Pagination cursor for the next page. #[serde(skip_serializing_if = "Option::is_none")] @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod list_drafts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -176,4 +171,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_unthread/document/put_draft.rs b/crates/jacquard-api/src/at_unthread/document/put_draft.rs index b967f85cf..3007dd37f 100644 --- a/crates/jacquard-api/src/at_unthread/document/put_draft.rs +++ b/crates/jacquard-api/src/at_unthread/document/put_draft.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DraftView { pub content: S, pub created_at: Datetime, @@ -39,11 +36,9 @@ pub struct DraftView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutDraft { ///Markdown content of the draft. pub content: S, @@ -54,11 +49,9 @@ pub struct PutDraft { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutDraftOutput { #[serde(flatten)] pub value: Data, @@ -66,19 +59,25 @@ pub struct PutDraftOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum PutDraftError { #[serde(rename = "DraftNotFound")] DraftNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for PutDraftError { @@ -130,8 +129,9 @@ impl jacquard_common::xrpc::XrpcResp for PutDraftResponse { impl jacquard_common::xrpc::XrpcRequest for PutDraft { const NSID: &'static str = "at.unthread.document.putDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutDraftResponse; } @@ -141,15 +141,16 @@ Path: `/xrpc/at.unthread.document.putDraft`. The request payload type is `PutDra pub struct PutDraftRequest; impl jacquard_common::xrpc::XrpcEndpoint for PutDraftRequest { const PATH: &'static str = "/xrpc/at.unthread.document.putDraft"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutDraft; type Response = PutDraftResponse; } pub mod draft_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -308,7 +309,10 @@ where St::Tid: draft_view_state::IsUnset, { /// Set the `tid` field (required) - pub fn tid(mut self, value: impl Into) -> DraftViewBuilder, S> { + pub fn tid( + mut self, + value: impl Into, + ) -> DraftViewBuilder, S> { self._fields.2 = Option::Some(value.into()); DraftViewBuilder { _state: PhantomData, @@ -356,7 +360,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DraftView { DraftView { content: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -368,10 +375,10 @@ where } fn lexicon_doc_at_unthread_document_putDraft() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.unthread.document.putDraft"), @@ -380,20 +387,19 @@ fn lexicon_doc_at_unthread_document_putDraft() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("draftView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("tid"), - SmolStr::new_static("content"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("updatedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("tid"), SmolStr::new_static("content"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("updatedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("content"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -404,9 +410,7 @@ fn lexicon_doc_at_unthread_document_putDraft() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("tid"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), @@ -465,4 +469,4 @@ fn lexicon_doc_at_unthread_document_putDraft() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/at_youandme.rs b/crates/jacquard-api/src/at_youandme.rs index 39a1e29fa..3b080694a 100644 --- a/crates/jacquard-api/src/at_youandme.rs +++ b/crates/jacquard-api/src/at_youandme.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `at.youandme` Lexicon namespace/module. -pub mod connection; +pub mod connection; \ No newline at end of file diff --git a/crates/jacquard-api/src/at_youandme/connection.rs b/crates/jacquard-api/src/at_youandme/connection.rs index 2b9dc51d4..0b5435cc6 100644 --- a/crates/jacquard-api/src/at_youandme/connection.rs +++ b/crates/jacquard-api/src/at_youandme/connection.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A connection created by scanning someone's QR code #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Connection { pub mod connection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -243,7 +243,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Connection { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Connection { Connection { created_at: self._fields.0.unwrap(), subject: self._fields.1.unwrap(), @@ -253,10 +256,10 @@ where } fn lexicon_doc_at_youandme_connection() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("at.youandme.connection"), @@ -265,15 +268,19 @@ fn lexicon_doc_at_youandme_connection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A connection created by scanning someone's QR code", - )), + description: Some( + CowStr::new_static( + "A connection created by scanning someone's QR code", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -287,9 +294,9 @@ fn lexicon_doc_at_youandme_connection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the connected user", - )), + description: Some( + CowStr::new_static("DID of the connected user"), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -305,4 +312,4 @@ fn lexicon_doc_at_youandme_connection() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/beauty_cybernetic.rs b/crates/jacquard-api/src/beauty_cybernetic.rs index 0ddfdc433..32d458674 100644 --- a/crates/jacquard-api/src/beauty_cybernetic.rs +++ b/crates/jacquard-api/src/beauty_cybernetic.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `beauty.cybernetic` Lexicon namespace/module. -pub mod trustcow; +pub mod trustcow; \ No newline at end of file diff --git a/crates/jacquard-api/src/beauty_cybernetic/trustcow.rs b/crates/jacquard-api/src/beauty_cybernetic/trustcow.rs index 8cfd239fd..a45970130 100644 --- a/crates/jacquard-api/src/beauty_cybernetic/trustcow.rs +++ b/crates/jacquard-api/src/beauty_cybernetic/trustcow.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `beauty.cybernetic.trustcow` Lexicon namespace/module. pub mod review; pub mod transaction; -pub mod warrant; +pub mod warrant; \ No newline at end of file diff --git a/crates/jacquard-api/src/beauty_cybernetic/trustcow/review.rs b/crates/jacquard-api/src/beauty_cybernetic/trustcow/review.rs index aa4c9ce69..0d1a5eb5e 100644 --- a/crates/jacquard-api/src/beauty_cybernetic/trustcow/review.rs +++ b/crates/jacquard-api/src/beauty_cybernetic/trustcow/review.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A review connected to a verified transaction, can only be created by one of the transaction parties #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -236,7 +236,7 @@ impl LexiconSchema for Review { pub mod review_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -395,7 +395,10 @@ where impl ReviewBuilder { /// Set the `reviewerRole` field (optional) - pub fn reviewer_role(mut self, value: impl Into>>) -> Self { + pub fn reviewer_role( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } @@ -472,10 +475,10 @@ where } fn lexicon_doc_beauty_cybernetic_trustcow_review() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("beauty.cybernetic.trustcow.review"), @@ -571,4 +574,4 @@ fn lexicon_doc_beauty_cybernetic_trustcow_review() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/beauty_cybernetic/trustcow/transaction.rs b/crates/jacquard-api/src/beauty_cybernetic/trustcow/transaction.rs index 455ab6940..3eec87450 100644 --- a/crates/jacquard-api/src/beauty_cybernetic/trustcow/transaction.rs +++ b/crates/jacquard-api/src/beauty_cybernetic/trustcow/transaction.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A verified transaction between two ATProto identities that must be stored in both parties' PDS #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -150,7 +150,7 @@ impl LexiconSchema for Transaction { pub mod transaction_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -410,7 +410,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Transaction { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Transaction { Transaction { amount: self._fields.0, created_at: self._fields.1.unwrap(), @@ -425,10 +428,10 @@ where } fn lexicon_doc_beauty_cybernetic_trustcow_transaction() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("beauty.cybernetic.trustcow.transaction"), @@ -540,4 +543,4 @@ fn lexicon_doc_beauty_cybernetic_trustcow_transaction() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/beauty_cybernetic/trustcow/warrant.rs b/crates/jacquard-api/src/beauty_cybernetic/trustcow/warrant.rs index 1c3eebdde..a6ae58105 100644 --- a/crates/jacquard-api/src/beauty_cybernetic/trustcow/warrant.rs +++ b/crates/jacquard-api/src/beauty_cybernetic/trustcow/warrant.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A warrant where one ATProto identity vouches for the trustworthiness of another identity #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -306,7 +306,7 @@ impl LexiconSchema for Warrant { pub mod warrant_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -464,7 +464,10 @@ where impl WarrantBuilder { /// Set the `trustLevel` field (optional) - pub fn trust_level(mut self, value: impl Into>>) -> Self { + pub fn trust_level( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -477,7 +480,10 @@ impl WarrantBuilder { impl WarrantBuilder { /// Set the `warrantType` field (optional) - pub fn warrant_type(mut self, value: impl Into>>) -> Self { + pub fn warrant_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.5 = value.into(); self } @@ -521,10 +527,10 @@ where } fn lexicon_doc_beauty_cybernetic_trustcow_warrant() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("beauty.cybernetic.trustcow.warrant"), @@ -622,4 +628,4 @@ fn lexicon_doc_beauty_cybernetic_trustcow_warrant() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt.rs b/crates/jacquard-api/src/blog_pckt.rs index 8560a76c2..c2db12195 100644 --- a/crates/jacquard-api/src/blog_pckt.rs +++ b/crates/jacquard-api/src/blog_pckt.rs @@ -13,4 +13,4 @@ pub mod mark; pub mod post; pub mod publication; pub mod richtext; -pub mod theme; +pub mod theme; \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block.rs b/crates/jacquard-api/src/blog_pckt/block.rs index 3d7f67fed..51e8ab338 100644 --- a/crates/jacquard-api/src/blog_pckt/block.rs +++ b/crates/jacquard-api/src/blog_pckt/block.rs @@ -25,4 +25,4 @@ pub mod table_row; pub mod task_item; pub mod task_list; pub mod text; -pub mod website; +pub mod website; \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/blockquote.rs b/crates/jacquard-api/src/blog_pckt/block/blockquote.rs index 21dd3490d..b028d9836 100644 --- a/crates/jacquard-api/src/blog_pckt/block/blockquote.rs +++ b/crates/jacquard-api/src/blog_pckt/block/blockquote.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::text::Text; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Blockquote { ///Array of text blocks pub content: Vec>, @@ -54,7 +51,7 @@ impl LexiconSchema for Blockquote { pub mod blockquote_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -159,7 +156,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Blockquote { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Blockquote { Blockquote { content: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -168,10 +168,10 @@ where } fn lexicon_doc_blog_pckt_block_blockquote() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.blockquote"), @@ -187,7 +187,9 @@ fn lexicon_doc_blog_pckt_block_blockquote() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Array of text blocks")), + description: Some( + CowStr::new_static("Array of text blocks"), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![CowStr::new_static("blog.pckt.block.text")], closed: Some(false), @@ -205,4 +207,4 @@ fn lexicon_doc_blog_pckt_block_blockquote() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/bluesky_embed.rs b/crates/jacquard-api/src/blog_pckt/block/bluesky_embed.rs index b9ccdeb62..9ed416acd 100644 --- a/crates/jacquard-api/src/blog_pckt/block/bluesky_embed.rs +++ b/crates/jacquard-api/src/blog_pckt/block/bluesky_embed.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BlueskyEmbed { ///Strong reference to the Bluesky post pub post_ref: StrongRef, @@ -54,7 +51,7 @@ impl LexiconSchema for BlueskyEmbed { pub mod bluesky_embed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -159,7 +156,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BlueskyEmbed { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BlueskyEmbed { BlueskyEmbed { post_ref: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -168,10 +168,10 @@ where } fn lexicon_doc_blog_pckt_block_blueskyEmbed() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.blueskyEmbed"), @@ -200,4 +200,4 @@ fn lexicon_doc_blog_pckt_block_blueskyEmbed() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/bullet_list.rs b/crates/jacquard-api/src/blog_pckt/block/bullet_list.rs index 1f83075be..d05683b04 100644 --- a/crates/jacquard-api/src/blog_pckt/block/bullet_list.rs +++ b/crates/jacquard-api/src/blog_pckt/block/bullet_list.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::list_item::ListItem; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::list_item::ListItem; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BulletList { ///Array of list items pub content: Vec>, @@ -54,7 +51,7 @@ impl LexiconSchema for BulletList { pub mod bullet_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -159,7 +156,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BulletList { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BulletList { BulletList { content: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -168,10 +168,10 @@ where } fn lexicon_doc_blog_pckt_block_bulletList() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.bulletList"), @@ -187,7 +187,9 @@ fn lexicon_doc_blog_pckt_block_bulletList() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Array of list items")), + description: Some( + CowStr::new_static("Array of list items"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blog.pckt.block.listItem"), ..Default::default() @@ -204,4 +206,4 @@ fn lexicon_doc_blog_pckt_block_bulletList() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/code_block.rs b/crates/jacquard-api/src/blog_pckt/block/code_block.rs index 85e3692d8..58ddedb13 100644 --- a/crates/jacquard-api/src/blog_pckt/block/code_block.rs +++ b/crates/jacquard-api/src/blog_pckt/block/code_block.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CodeBlock { ///Programming language for syntax highlighting #[serde(skip_serializing_if = "Option::is_none")] @@ -62,10 +59,10 @@ impl LexiconSchema for CodeBlock { } fn lexicon_doc_blog_pckt_block_codeBlock() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.codeBlock"), @@ -81,9 +78,11 @@ fn lexicon_doc_blog_pckt_block_codeBlock() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("language"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Programming language for syntax highlighting", - )), + description: Some( + CowStr::new_static( + "Programming language for syntax highlighting", + ), + ), max_length: Some(50usize), ..Default::default() }), @@ -104,4 +103,4 @@ fn lexicon_doc_blog_pckt_block_codeBlock() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/gallery.rs b/crates/jacquard-api/src/blog_pckt/block/gallery.rs index 582bd6002..7e8d99ea4 100644 --- a/crates/jacquard-api/src/blog_pckt/block/gallery.rs +++ b/crates/jacquard-api/src/blog_pckt/block/gallery.rs @@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Gallery { ///Reference to a blog.pckt.gallery record pub r#ref: AtUri, @@ -54,7 +51,7 @@ impl LexiconSchema for Gallery { pub mod gallery_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,10 +165,10 @@ where } fn lexicon_doc_blog_pckt_block_gallery() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.gallery"), @@ -187,9 +184,11 @@ fn lexicon_doc_blog_pckt_block_gallery() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("ref"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Reference to a blog.pckt.gallery record", - )), + description: Some( + CowStr::new_static( + "Reference to a blog.pckt.gallery record", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -203,4 +202,4 @@ fn lexicon_doc_blog_pckt_block_gallery() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/hard_break.rs b/crates/jacquard-api/src/blog_pckt/block/hard_break.rs index 7eacf61ed..1a0c45aba 100644 --- a/crates/jacquard-api/src/blog_pckt/block/hard_break.rs +++ b/crates/jacquard-api/src/blog_pckt/block/hard_break.rs @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HardBreak { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -47,10 +44,10 @@ impl LexiconSchema for HardBreak { } fn lexicon_doc_blog_pckt_block_hardBreak() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.hardBreak"), @@ -72,4 +69,4 @@ fn lexicon_doc_blog_pckt_block_hardBreak() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/heading.rs b/crates/jacquard-api/src/blog_pckt/block/heading.rs index 484213952..110169cd0 100644 --- a/crates/jacquard-api/src/blog_pckt/block/heading.rs +++ b/crates/jacquard-api/src/blog_pckt/block/heading.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::richtext::facet::Facet; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Heading { ///Facets for text formatting and features #[serde(skip_serializing_if = "Option::is_none")] @@ -74,10 +71,10 @@ impl LexiconSchema for Heading { } fn lexicon_doc_blog_pckt_block_heading() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.heading"), @@ -93,9 +90,11 @@ fn lexicon_doc_blog_pckt_block_heading() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Facets for text formatting and features", - )), + description: Some( + CowStr::new_static( + "Facets for text formatting and features", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blog.pckt.richtext.facet"), ..Default::default() @@ -114,9 +113,9 @@ fn lexicon_doc_blog_pckt_block_heading() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("plaintext"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The plain text content of the heading", - )), + description: Some( + CowStr::new_static("The plain text content of the heading"), + ), ..Default::default() }), ); @@ -129,4 +128,4 @@ fn lexicon_doc_blog_pckt_block_heading() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/horizontal_rule.rs b/crates/jacquard-api/src/blog_pckt/block/horizontal_rule.rs index dee858a14..df92ad3ee 100644 --- a/crates/jacquard-api/src/blog_pckt/block/horizontal_rule.rs +++ b/crates/jacquard-api/src/blog_pckt/block/horizontal_rule.rs @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HorizontalRule { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -47,10 +44,10 @@ impl LexiconSchema for HorizontalRule { } fn lexicon_doc_blog_pckt_block_horizontalRule() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.horizontalRule"), @@ -72,4 +69,4 @@ fn lexicon_doc_blog_pckt_block_horizontalRule() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/iframe.rs b/crates/jacquard-api/src/blog_pckt/block/iframe.rs index 200a27ea4..8aee1a445 100644 --- a/crates/jacquard-api/src/blog_pckt/block/iframe.rs +++ b/crates/jacquard-api/src/blog_pckt/block/iframe.rs @@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Iframe { ///Height of the embed in pixels #[serde(skip_serializing_if = "Option::is_none")] @@ -75,7 +72,7 @@ impl LexiconSchema for Iframe { pub mod iframe_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -204,10 +201,10 @@ where } fn lexicon_doc_blog_pckt_block_iframe() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.iframe"), @@ -231,9 +228,9 @@ fn lexicon_doc_blog_pckt_block_iframe() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL of the content to embed", - )), + description: Some( + CowStr::new_static("The URL of the content to embed"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -247,4 +244,4 @@ fn lexicon_doc_blog_pckt_block_iframe() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/image.rs b/crates/jacquard-api/src/blog_pckt/block/image.rs index 2b1f6c16d..fb7a66b4a 100644 --- a/crates/jacquard-api/src/blog_pckt/block/image.rs +++ b/crates/jacquard-api/src/blog_pckt/block/image.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::image; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::image; /// Image aspect ratio represented as width and height dimensions #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { ///Height component of aspect ratio pub height: i64, @@ -44,10 +41,7 @@ pub struct AspectRatio { /// Image attributes #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageAttrs { ///Horizontal alignment of the image within its container #[serde(skip_serializing_if = "Option::is_none")] @@ -70,11 +64,9 @@ pub struct ImageAttrs { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Image { ///Image attributes pub attrs: image::ImageAttrs, @@ -166,16 +158,19 @@ impl LexiconSchema for ImageAttrs { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blob"), @@ -239,7 +234,7 @@ impl LexiconSchema for Image { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -377,7 +372,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -387,10 +385,10 @@ where } fn lexicon_doc_blog_pckt_block_image() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.image"), @@ -399,13 +397,14 @@ fn lexicon_doc_blog_pckt_block_image() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Image aspect ratio represented as width and height dimensions", - )), - required: Some(vec![ - SmolStr::new_static("width"), - SmolStr::new_static("height"), - ]), + description: Some( + CowStr::new_static( + "Image aspect ratio represented as width and height dimensions", + ), + ), + required: Some( + vec![SmolStr::new_static("width"), SmolStr::new_static("height")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -528,7 +527,7 @@ fn lexicon_doc_blog_pckt_block_image() -> LexiconDoc<'static> { pub mod image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -639,4 +638,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/list_item.rs b/crates/jacquard-api/src/blog_pckt/block/list_item.rs index 8ad92556e..18871b569 100644 --- a/crates/jacquard-api/src/blog_pckt/block/list_item.rs +++ b/crates/jacquard-api/src/blog_pckt/block/list_item.rs @@ -20,18 +20,15 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::blog_pckt::block::bullet_list::BulletList; use crate::blog_pckt::block::ordered_list::OrderedList; use crate::blog_pckt::block::text::Text; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListItem { ///Array of block content (text or nested lists) pub content: Vec>, @@ -39,6 +36,7 @@ pub struct ListItem { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -68,7 +66,7 @@ impl LexiconSchema for ListItem { pub mod list_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -182,10 +180,10 @@ where } fn lexicon_doc_blog_pckt_block_listItem() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.listItem"), @@ -201,14 +199,16 @@ fn lexicon_doc_blog_pckt_block_listItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of block content (text or nested lists)", - )), + description: Some( + CowStr::new_static( + "Array of block content (text or nested lists)", + ), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("blog.pckt.block.text"), CowStr::new_static("blog.pckt.block.bulletList"), - CowStr::new_static("blog.pckt.block.orderedList"), + CowStr::new_static("blog.pckt.block.orderedList") ], closed: Some(false), ..Default::default() @@ -225,4 +225,4 @@ fn lexicon_doc_blog_pckt_block_listItem() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/mention.rs b/crates/jacquard-api/src/blog_pckt/block/mention.rs index b1a4f59fb..074fd7ec8 100644 --- a/crates/jacquard-api/src/blog_pckt/block/mention.rs +++ b/crates/jacquard-api/src/blog_pckt/block/mention.rs @@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Mention { ///The DID of the mentioned user (e.g., did:plc:abc123xyz). This is the canonical reference that persists even if the user changes their handle, following app.bsky.richtext.facet#mention pub did: Did, @@ -67,7 +64,7 @@ impl LexiconSchema for Mention { pub mod mention_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -158,7 +155,10 @@ where St::Did: mention_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> MentionBuilder, S> { self._fields.0 = Option::Some(value.into()); MentionBuilder { _state: PhantomData, @@ -212,10 +212,10 @@ where } fn lexicon_doc_blog_pckt_block_mention() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.mention"), @@ -264,4 +264,4 @@ fn lexicon_doc_blog_pckt_block_mention() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/ordered_list.rs b/crates/jacquard-api/src/blog_pckt/block/ordered_list.rs index 269f2f597..bba3c2c53 100644 --- a/crates/jacquard-api/src/blog_pckt/block/ordered_list.rs +++ b/crates/jacquard-api/src/blog_pckt/block/ordered_list.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::list_item::ListItem; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::list_item::ListItem; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct OrderedList { ///Array of list items pub content: Vec>, @@ -66,7 +63,7 @@ impl LexiconSchema for OrderedList { pub mod ordered_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -185,7 +182,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> OrderedList { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> OrderedList { OrderedList { content: self._fields.0.unwrap(), start: self._fields.1, @@ -195,10 +195,10 @@ where } fn lexicon_doc_blog_pckt_block_orderedList() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.orderedList"), @@ -214,7 +214,9 @@ fn lexicon_doc_blog_pckt_block_orderedList() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Array of list items")), + description: Some( + CowStr::new_static("Array of list items"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blog.pckt.block.listItem"), ..Default::default() @@ -238,4 +240,4 @@ fn lexicon_doc_blog_pckt_block_orderedList() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/paragraph.rs b/crates/jacquard-api/src/blog_pckt/block/paragraph.rs index 8eaf67c3a..e1347604b 100644 --- a/crates/jacquard-api/src/blog_pckt/block/paragraph.rs +++ b/crates/jacquard-api/src/blog_pckt/block/paragraph.rs @@ -17,19 +17,16 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::blog_pckt::block::hard_break::HardBreak; use crate::blog_pckt::block::mention::Mention; use crate::blog_pckt::block::text::Text; use crate::blog_pckt::richtext::facet::Facet; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Paragraph { ///Array of inline content nodes (text, hard breaks, and mentions) #[serde(skip_serializing_if = "Option::is_none")] @@ -41,6 +38,7 @@ pub struct Paragraph { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -69,10 +67,10 @@ impl LexiconSchema for Paragraph { } fn lexicon_doc_blog_pckt_block_paragraph() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.paragraph"), @@ -128,4 +126,4 @@ fn lexicon_doc_blog_pckt_block_paragraph() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/table.rs b/crates/jacquard-api/src/blog_pckt/block/table.rs index d2ef65155..acea7cade 100644 --- a/crates/jacquard-api/src/blog_pckt/block/table.rs +++ b/crates/jacquard-api/src/blog_pckt/block/table.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::table_row::TableRow; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::table_row::TableRow; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Table { ///Array of table rows pub content: Vec>, @@ -54,7 +51,7 @@ impl LexiconSchema for Table { pub mod table_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,10 +165,10 @@ where } fn lexicon_doc_blog_pckt_block_table() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.table"), @@ -187,7 +184,9 @@ fn lexicon_doc_blog_pckt_block_table() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Array of table rows")), + description: Some( + CowStr::new_static("Array of table rows"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blog.pckt.block.tableRow"), ..Default::default() @@ -204,4 +203,4 @@ fn lexicon_doc_blog_pckt_block_table() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/table_cell.rs b/crates/jacquard-api/src/blog_pckt/block/table_cell.rs index aed046191..825db742f 100644 --- a/crates/jacquard-api/src/blog_pckt/block/table_cell.rs +++ b/crates/jacquard-api/src/blog_pckt/block/table_cell.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::text::Text; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TableCell { ///Number of columns this cell spans #[serde(skip_serializing_if = "Option::is_none")] @@ -78,7 +75,7 @@ impl LexiconSchema for TableCell { pub mod table_cell_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -211,7 +208,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TableCell { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TableCell { TableCell { colspan: self._fields.0, content: self._fields.1.unwrap(), @@ -222,10 +222,10 @@ where } fn lexicon_doc_blog_pckt_block_tableCell() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.tableCell"), @@ -248,9 +248,11 @@ fn lexicon_doc_blog_pckt_block_tableCell() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of block content (typically text)", - )), + description: Some( + CowStr::new_static( + "Array of block content (typically text)", + ), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![CowStr::new_static("blog.pckt.block.text")], closed: Some(false), @@ -275,4 +277,4 @@ fn lexicon_doc_blog_pckt_block_tableCell() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/table_header.rs b/crates/jacquard-api/src/blog_pckt/block/table_header.rs index 92d0da44f..823e137e7 100644 --- a/crates/jacquard-api/src/blog_pckt/block/table_header.rs +++ b/crates/jacquard-api/src/blog_pckt/block/table_header.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::text::Text; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TableHeader { ///Number of columns this cell spans #[serde(skip_serializing_if = "Option::is_none")] @@ -78,7 +75,7 @@ impl LexiconSchema for TableHeader { pub mod table_header_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -211,7 +208,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TableHeader { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TableHeader { TableHeader { colspan: self._fields.0, content: self._fields.1.unwrap(), @@ -222,10 +222,10 @@ where } fn lexicon_doc_blog_pckt_block_tableHeader() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.tableHeader"), @@ -248,9 +248,11 @@ fn lexicon_doc_blog_pckt_block_tableHeader() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of block content (typically text)", - )), + description: Some( + CowStr::new_static( + "Array of block content (typically text)", + ), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![CowStr::new_static("blog.pckt.block.text")], closed: Some(false), @@ -275,4 +277,4 @@ fn lexicon_doc_blog_pckt_block_tableHeader() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/table_row.rs b/crates/jacquard-api/src/blog_pckt/block/table_row.rs index b4ed129a9..3ace8c0f4 100644 --- a/crates/jacquard-api/src/blog_pckt/block/table_row.rs +++ b/crates/jacquard-api/src/blog_pckt/block/table_row.rs @@ -20,17 +20,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::table_cell::TableCell; -use crate::blog_pckt::block::table_header::TableHeader; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::table_cell::TableCell; +use crate::blog_pckt::block::table_header::TableHeader; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TableRow { ///Array of table cells or header cells pub content: Vec>, @@ -38,6 +35,7 @@ pub struct TableRow { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -65,7 +63,7 @@ impl LexiconSchema for TableRow { pub mod table_row_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -179,10 +177,10 @@ where } fn lexicon_doc_blog_pckt_block_tableRow() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.tableRow"), @@ -198,13 +196,13 @@ fn lexicon_doc_blog_pckt_block_tableRow() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of table cells or header cells", - )), + description: Some( + CowStr::new_static("Array of table cells or header cells"), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("blog.pckt.block.tableCell"), - CowStr::new_static("blog.pckt.block.tableHeader"), + CowStr::new_static("blog.pckt.block.tableHeader") ], closed: Some(false), ..Default::default() @@ -221,4 +219,4 @@ fn lexicon_doc_blog_pckt_block_tableRow() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/task_item.rs b/crates/jacquard-api/src/blog_pckt/block/task_item.rs index 2f3c5f3c4..c78f343bf 100644 --- a/crates/jacquard-api/src/blog_pckt/block/task_item.rs +++ b/crates/jacquard-api/src/blog_pckt/block/task_item.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::text::Text; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::text::Text; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TaskItem { ///Whether the task is completed pub checked: bool, @@ -56,7 +53,7 @@ impl LexiconSchema for TaskItem { pub mod task_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -204,10 +201,10 @@ where } fn lexicon_doc_blog_pckt_block_taskItem() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.taskItem"), @@ -216,10 +213,12 @@ fn lexicon_doc_blog_pckt_block_taskItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("checked"), - SmolStr::new_static("content"), - ]), + required: Some( + vec![ + SmolStr::new_static("checked"), + SmolStr::new_static("content") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -232,7 +231,9 @@ fn lexicon_doc_blog_pckt_block_taskItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Array of text blocks")), + description: Some( + CowStr::new_static("Array of text blocks"), + ), items: LexArrayItem::Union(LexRefUnion { refs: vec![CowStr::new_static("blog.pckt.block.text")], closed: Some(false), @@ -250,4 +251,4 @@ fn lexicon_doc_blog_pckt_block_taskItem() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/task_list.rs b/crates/jacquard-api/src/blog_pckt/block/task_list.rs index 59b0307c6..613a06ac2 100644 --- a/crates/jacquard-api/src/blog_pckt/block/task_list.rs +++ b/crates/jacquard-api/src/blog_pckt/block/task_list.rs @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::task_item::TaskItem; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::task_item::TaskItem; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TaskList { ///Array of task items pub content: Vec>, @@ -54,7 +51,7 @@ impl LexiconSchema for TaskList { pub mod task_list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,10 +165,10 @@ where } fn lexicon_doc_blog_pckt_block_taskList() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.taskList"), @@ -187,7 +184,9 @@ fn lexicon_doc_blog_pckt_block_taskList() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("content"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Array of task items")), + description: Some( + CowStr::new_static("Array of task items"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blog.pckt.block.taskItem"), ..Default::default() @@ -204,4 +203,4 @@ fn lexicon_doc_blog_pckt_block_taskList() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/text.rs b/crates/jacquard-api/src/blog_pckt/block/text.rs index 6e09375d0..d83a0e925 100644 --- a/crates/jacquard-api/src/blog_pckt/block/text.rs +++ b/crates/jacquard-api/src/blog_pckt/block/text.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::richtext::facet::Facet; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Text { ///Facets for text formatting and features #[serde(skip_serializing_if = "Option::is_none")] @@ -53,10 +50,10 @@ impl LexiconSchema for Text { } fn lexicon_doc_blog_pckt_block_text() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.text"), @@ -72,9 +69,11 @@ fn lexicon_doc_blog_pckt_block_text() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Facets for text formatting and features", - )), + description: Some( + CowStr::new_static( + "Facets for text formatting and features", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blog.pckt.richtext.facet"), ..Default::default() @@ -85,7 +84,9 @@ fn lexicon_doc_blog_pckt_block_text() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("plaintext"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The plain text content")), + description: Some( + CowStr::new_static("The plain text content"), + ), ..Default::default() }), ); @@ -98,4 +99,4 @@ fn lexicon_doc_blog_pckt_block_text() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/block/website.rs b/crates/jacquard-api/src/blog_pckt/block/website.rs index 99fe44a4b..55f2f8142 100644 --- a/crates/jacquard-api/src/blog_pckt/block/website.rs +++ b/crates/jacquard-api/src/blog_pckt/block/website.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Website { ///A brief description of the website or page #[serde(skip_serializing_if = "Option::is_none")] @@ -63,7 +60,7 @@ impl LexiconSchema for Website { pub mod website_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -96,12 +93,7 @@ pub mod website_state { /// Builder for constructing an instance of this type. pub struct WebsiteBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -227,10 +219,10 @@ where } fn lexicon_doc_blog_pckt_block_website() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.block.website"), @@ -246,16 +238,20 @@ fn lexicon_doc_blog_pckt_block_website() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "A brief description of the website or page", - )), + description: Some( + CowStr::new_static( + "A brief description of the website or page", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("previewImage"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("URL of the preview image")), + description: Some( + CowStr::new_static("URL of the preview image"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -263,7 +259,9 @@ fn lexicon_doc_blog_pckt_block_website() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("src"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The URL of the website")), + description: Some( + CowStr::new_static("The URL of the website"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -271,9 +269,9 @@ fn lexicon_doc_blog_pckt_block_website() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The title of the website or page", - )), + description: Some( + CowStr::new_static("The title of the website or page"), + ), ..Default::default() }), ); @@ -286,4 +284,4 @@ fn lexicon_doc_blog_pckt_block_website() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/blog.rs b/crates/jacquard-api/src/blog_pckt/blog.rs index a88169249..5a7256228 100644 --- a/crates/jacquard-api/src/blog_pckt/blog.rs +++ b/crates/jacquard-api/src/blog_pckt/blog.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::blog; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::blog; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -66,11 +66,9 @@ pub struct BlogGetRecordOutput { pub value: Blog, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Palette { #[serde(skip_serializing_if = "Option::is_none")] pub accent: Option, @@ -86,11 +84,9 @@ pub struct Palette { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Theme { #[serde(skip_serializing_if = "Option::is_none")] pub dark: Option>, @@ -150,16 +146,19 @@ impl LexiconSchema for Blog { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("icon"), @@ -205,7 +204,7 @@ impl LexiconSchema for Theme { pub mod blog_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -318,7 +317,10 @@ where St::Name: blog_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> BlogBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> BlogBuilder, S> { self._fields.2 = Option::Some(value.into()); BlogBuilder { _state: PhantomData, @@ -414,10 +416,10 @@ where } fn lexicon_doc_blog_pckt_blog() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.blog"), @@ -440,9 +442,7 @@ fn lexicon_doc_blog_pckt_blog() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("icon"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), @@ -493,33 +493,23 @@ fn lexicon_doc_blog_pckt_blog() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("accent"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("background"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("link"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("surfaceHover"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("text"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -541,9 +531,7 @@ fn lexicon_doc_blog_pckt_blog() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("font"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("light"), @@ -561,4 +549,4 @@ fn lexicon_doc_blog_pckt_blog() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/content.rs b/crates/jacquard-api/src/blog_pckt/content.rs index 9c0641c51..5d2cc0861 100644 --- a/crates/jacquard-api/src/blog_pckt/content.rs +++ b/crates/jacquard-api/src/blog_pckt/content.rs @@ -20,14 +20,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Hybrid content storage: inline for small content (≤20KB), blob for large content (>20KB) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Content { ///Reference to external JSON blob containing content (extended mode, used when content > 20KB) #[serde(skip_serializing_if = "Option::is_none")] @@ -58,10 +55,10 @@ impl LexiconSchema for Content { } fn lexicon_doc_blog_pckt_content() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.content"), @@ -119,4 +116,4 @@ fn lexicon_doc_blog_pckt_content() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/document.rs b/crates/jacquard-api/src/blog_pckt/document.rs index ba6c9b75b..bd896c981 100644 --- a/crates/jacquard-api/src/blog_pckt/document.rs +++ b/crates/jacquard-api/src/blog_pckt/document.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -104,7 +104,7 @@ impl LexiconSchema for Document { pub mod document_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -252,10 +252,10 @@ where } fn lexicon_doc_blog_pckt_document() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.document"), @@ -266,10 +266,11 @@ fn lexicon_doc_blog_pckt_document() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("document"), - SmolStr::new_static("site"), - ]), + required: Some( + vec![ + SmolStr::new_static("document"), SmolStr::new_static("site") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -298,4 +299,4 @@ fn lexicon_doc_blog_pckt_document() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/gallery.rs b/crates/jacquard-api/src/blog_pckt/gallery.rs index a9d22e3b8..417ebdd82 100644 --- a/crates/jacquard-api/src/blog_pckt/gallery.rs +++ b/crates/jacquard-api/src/blog_pckt/gallery.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::block::image::ImageAttrs; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::block::image::ImageAttrs; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -177,7 +177,7 @@ impl LexiconSchema for Gallery { pub mod gallery_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -336,10 +336,10 @@ where } fn lexicon_doc_blog_pckt_gallery() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.gallery"), @@ -417,4 +417,4 @@ fn lexicon_doc_blog_pckt_gallery() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/mark.rs b/crates/jacquard-api/src/blog_pckt/mark.rs index c014d1fa0..bdf3803d4 100644 --- a/crates/jacquard-api/src/blog_pckt/mark.rs +++ b/crates/jacquard-api/src/blog_pckt/mark.rs @@ -9,4 +9,4 @@ pub mod code; pub mod italic; pub mod link; pub mod strike; -pub mod underline; +pub mod underline; \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/mark/bold.rs b/crates/jacquard-api/src/blog_pckt/mark/bold.rs index 47caac1ba..74bf86246 100644 --- a/crates/jacquard-api/src/blog_pckt/mark/bold.rs +++ b/crates/jacquard-api/src/blog_pckt/mark/bold.rs @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Bold { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -47,10 +44,10 @@ impl LexiconSchema for Bold { } fn lexicon_doc_blog_pckt_mark_bold() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.mark.bold"), @@ -72,4 +69,4 @@ fn lexicon_doc_blog_pckt_mark_bold() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/mark/code.rs b/crates/jacquard-api/src/blog_pckt/mark/code.rs index c16c97f9e..7b1ec507d 100644 --- a/crates/jacquard-api/src/blog_pckt/mark/code.rs +++ b/crates/jacquard-api/src/blog_pckt/mark/code.rs @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Code { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -47,10 +44,10 @@ impl LexiconSchema for Code { } fn lexicon_doc_blog_pckt_mark_code() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.mark.code"), @@ -72,4 +69,4 @@ fn lexicon_doc_blog_pckt_mark_code() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/mark/italic.rs b/crates/jacquard-api/src/blog_pckt/mark/italic.rs index 1efb1b4db..93f367b1e 100644 --- a/crates/jacquard-api/src/blog_pckt/mark/italic.rs +++ b/crates/jacquard-api/src/blog_pckt/mark/italic.rs @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Italic { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -47,10 +44,10 @@ impl LexiconSchema for Italic { } fn lexicon_doc_blog_pckt_mark_italic() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.mark.italic"), @@ -72,4 +69,4 @@ fn lexicon_doc_blog_pckt_mark_italic() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/mark/link.rs b/crates/jacquard-api/src/blog_pckt/mark/link.rs index ad43d83fe..f57302ee6 100644 --- a/crates/jacquard-api/src/blog_pckt/mark/link.rs +++ b/crates/jacquard-api/src/blog_pckt/mark/link.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::mark::link; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::mark::link; /// Link attributes #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LinkAttrs { ///The URL destination of the hyperlink pub href: UriValue, @@ -48,11 +45,9 @@ pub struct LinkAttrs { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Link { ///Link attributes that define the hyperlink behavior and destination pub attrs: link::LinkAttrs, @@ -133,7 +128,7 @@ impl LexiconSchema for Link { pub mod link_attrs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -280,7 +275,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LinkAttrs { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LinkAttrs { LinkAttrs { href: self._fields.0.unwrap(), rel: self._fields.1, @@ -292,10 +290,10 @@ where } fn lexicon_doc_blog_pckt_mark_link() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.mark.link"), @@ -388,7 +386,7 @@ fn lexicon_doc_blog_pckt_mark_link() -> LexiconDoc<'static> { pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -499,4 +497,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/mark/strike.rs b/crates/jacquard-api/src/blog_pckt/mark/strike.rs index c051fb81e..415b232b2 100644 --- a/crates/jacquard-api/src/blog_pckt/mark/strike.rs +++ b/crates/jacquard-api/src/blog_pckt/mark/strike.rs @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Strike { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -47,10 +44,10 @@ impl LexiconSchema for Strike { } fn lexicon_doc_blog_pckt_mark_strike() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.mark.strike"), @@ -72,4 +69,4 @@ fn lexicon_doc_blog_pckt_mark_strike() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/mark/underline.rs b/crates/jacquard-api/src/blog_pckt/mark/underline.rs index b98e99299..c7d31e329 100644 --- a/crates/jacquard-api/src/blog_pckt/mark/underline.rs +++ b/crates/jacquard-api/src/blog_pckt/mark/underline.rs @@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Underline { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -47,10 +44,10 @@ impl LexiconSchema for Underline { } fn lexicon_doc_blog_pckt_mark_underline() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.mark.underline"), @@ -72,4 +69,4 @@ fn lexicon_doc_blog_pckt_mark_underline() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/post.rs b/crates/jacquard-api/src/blog_pckt/post.rs index d1e10b751..a3ff52ecf 100644 --- a/crates/jacquard-api/src/blog_pckt/post.rs +++ b/crates/jacquard-api/src/blog_pckt/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -117,16 +117,19 @@ impl LexiconSchema for Post { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("cover"), @@ -142,7 +145,7 @@ impl LexiconSchema for Post { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -377,7 +380,10 @@ where St::Title: post_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> PostBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.7 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -406,7 +412,10 @@ where St::Url: post_state::IsUnset, { /// Set the `url` field (required) - pub fn url(mut self, value: impl Into>) -> PostBuilder, S> { + pub fn url( + mut self, + value: impl Into>, + ) -> PostBuilder, S> { self._fields.9 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -459,10 +468,10 @@ where } fn lexicon_doc_blog_pckt_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.post"), @@ -473,12 +482,12 @@ fn lexicon_doc_blog_pckt_post() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("blocks"), - SmolStr::new_static("url"), - SmolStr::new_static("blog"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), SmolStr::new_static("blocks"), + SmolStr::new_static("url"), SmolStr::new_static("blog") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -505,16 +514,12 @@ fn lexicon_doc_blog_pckt_post() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("cover"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("images"), LexObjectProperty::Array(LexArray { - items: LexArrayItem::Blob(LexBlob { - ..Default::default() - }), + items: LexArrayItem::Blob(LexBlob { ..Default::default() }), ..Default::default() }), ); @@ -565,4 +570,4 @@ fn lexicon_doc_blog_pckt_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/publication.rs b/crates/jacquard-api/src/blog_pckt/publication.rs index bc16ca263..882df79cf 100644 --- a/crates/jacquard-api/src/blog_pckt/publication.rs +++ b/crates/jacquard-api/src/blog_pckt/publication.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -103,7 +103,7 @@ impl LexiconSchema for Publication { pub mod publication_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -208,7 +208,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Publication { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Publication { Publication { publication: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -217,10 +220,10 @@ where } fn lexicon_doc_blog_pckt_publication() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.publication"), @@ -253,4 +256,4 @@ fn lexicon_doc_blog_pckt_publication() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/richtext.rs b/crates/jacquard-api/src/blog_pckt/richtext.rs index 6f17f9ee8..b1716726c 100644 --- a/crates/jacquard-api/src/blog_pckt/richtext.rs +++ b/crates/jacquard-api/src/blog_pckt/richtext.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blog.pckt.richtext` Lexicon namespace/module. -pub mod facet; +pub mod facet; \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/richtext/facet.rs b/crates/jacquard-api/src/blog_pckt/richtext/facet.rs index 25e90bfd4..055c1bc9b 100644 --- a/crates/jacquard-api/src/blog_pckt/richtext/facet.rs +++ b/crates/jacquard-api/src/blog_pckt/richtext/facet.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::richtext::facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::richtext::facet; /// Facet feature for mentioning an AT URI #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AtMention { pub at_uri: UriValue, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,10 +38,7 @@ pub struct AtMention { /// Facet feature for bold text #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Bold { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -53,10 +47,7 @@ pub struct Bold { /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ByteSlice { pub byte_end: i64, pub byte_start: i64, @@ -67,10 +58,7 @@ pub struct ByteSlice { /// Facet feature for inline code #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Code { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -79,10 +67,7 @@ pub struct Code { /// Facet feature for mentioning a DID #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DidMention { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -92,10 +77,7 @@ pub struct DidMention { /// Facet feature for highlighted text #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Highlight { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -104,10 +86,7 @@ pub struct Highlight { /// Facet feature for an identifier. Used for linking to a segment #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Id { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, @@ -118,10 +97,7 @@ pub struct Id { /// Facet feature for italic text #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Italic { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -130,21 +106,16 @@ pub struct Italic { /// Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Link { pub uri: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Facet { pub features: Vec>, pub index: facet::ByteSlice, @@ -152,6 +123,7 @@ pub struct Facet { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -181,10 +153,7 @@ pub enum FacetFeaturesItem { /// Facet feature for strikethrough markup #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Strikethrough { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -193,10 +162,7 @@ pub struct Strikethrough { /// Facet feature for underline markup #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Underline { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -404,7 +370,7 @@ impl LexiconSchema for Underline { pub mod at_mention_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -509,7 +475,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AtMention { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AtMention { AtMention { at_uri: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -518,10 +487,10 @@ where } fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.richtext.facet"), @@ -530,7 +499,9 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("atMention"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for mentioning an AT URI")), + description: Some( + CowStr::new_static("Facet feature for mentioning an AT URI"), + ), required: Some(vec![SmolStr::new_static("atURI")]), properties: { #[allow(unused_mut)] @@ -598,7 +569,9 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("code"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for inline code")), + description: Some( + CowStr::new_static("Facet feature for inline code"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -610,7 +583,9 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("didMention"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for mentioning a DID")), + description: Some( + CowStr::new_static("Facet feature for mentioning a DID"), + ), required: Some(vec![SmolStr::new_static("did")]), properties: { #[allow(unused_mut)] @@ -630,7 +605,9 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("highlight"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for highlighted text")), + description: Some( + CowStr::new_static("Facet feature for highlighted text"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -642,17 +619,17 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("id"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Facet feature for an identifier. Used for linking to a segment", - )), + description: Some( + CowStr::new_static( + "Facet feature for an identifier. Used for linking to a segment", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -662,7 +639,9 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("italic"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for italic text")), + description: Some( + CowStr::new_static("Facet feature for italic text"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -695,10 +674,11 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("index"), - SmolStr::new_static("features"), - ]), + required: Some( + vec![ + SmolStr::new_static("index"), SmolStr::new_static("features") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -714,9 +694,8 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { CowStr::new_static("#highlight"), CowStr::new_static("#underline"), CowStr::new_static("#strikethrough"), - CowStr::new_static("#id"), - CowStr::new_static("#bold"), - CowStr::new_static("#italic"), + CowStr::new_static("#id"), CowStr::new_static("#bold"), + CowStr::new_static("#italic") ], ..Default::default() }), @@ -738,7 +717,9 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("strikethrough"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for strikethrough markup")), + description: Some( + CowStr::new_static("Facet feature for strikethrough markup"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -750,7 +731,9 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("underline"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for underline markup")), + description: Some( + CowStr::new_static("Facet feature for underline markup"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -767,7 +750,7 @@ fn lexicon_doc_blog_pckt_richtext_facet() -> LexiconDoc<'static> { pub mod byte_slice_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -905,7 +888,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ByteSlice { ByteSlice { byte_end: self._fields.0.unwrap(), byte_start: self._fields.1.unwrap(), @@ -916,7 +902,7 @@ where pub mod did_mention_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1021,7 +1007,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DidMention { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DidMention { DidMention { did: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -1031,7 +1020,7 @@ where pub mod facet_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1076,10 +1065,7 @@ pub mod facet_state { /// Builder for constructing an instance of this type. pub struct FacetBuilder { _state: PhantomData St>, - _fields: ( - Option>>, - Option>, - ), + _fields: (Option>>, Option>), _type: PhantomData S>, } @@ -1179,4 +1165,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blog_pckt/theme.rs b/crates/jacquard-api/src/blog_pckt/theme.rs index 8721e84fd..ffb3cee71 100644 --- a/crates/jacquard-api/src/blog_pckt/theme.rs +++ b/crates/jacquard-api/src/blog_pckt/theme.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blog_pckt::theme; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blog_pckt::theme; /// Theme configuration for a blog publication #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Theme { ///Dark mode color palette pub dark: theme::Palette, @@ -49,10 +46,7 @@ pub struct Theme { /// Color palette with CSS hex values #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Palette { ///Accent color (hex value) pub accent: S, @@ -183,7 +177,7 @@ impl LexiconSchema for Palette { pub mod theme_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -366,10 +360,10 @@ where } fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blog.pckt.theme"), @@ -378,13 +372,12 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Theme configuration for a blog publication", - )), - required: Some(vec![ - SmolStr::new_static("light"), - SmolStr::new_static("dark"), - ]), + description: Some( + CowStr::new_static("Theme configuration for a blog publication"), + ), + required: Some( + vec![SmolStr::new_static("light"), SmolStr::new_static("dark")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -398,9 +391,9 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("font"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Font family name (optional)", - )), + description: Some( + CowStr::new_static("Font family name (optional)"), + ), max_length: Some(100usize), ..Default::default() }), @@ -428,21 +421,26 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("palette"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Color palette with CSS hex values")), - required: Some(vec![ - SmolStr::new_static("link"), - SmolStr::new_static("text"), - SmolStr::new_static("accent"), - SmolStr::new_static("background"), - SmolStr::new_static("surfaceHover"), - ]), + description: Some( + CowStr::new_static("Color palette with CSS hex values"), + ), + required: Some( + vec![ + SmolStr::new_static("link"), SmolStr::new_static("text"), + SmolStr::new_static("accent"), + SmolStr::new_static("background"), + SmolStr::new_static("surfaceHover") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("accent"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Accent color (hex value)")), + description: Some( + CowStr::new_static("Accent color (hex value)"), + ), max_length: Some(7usize), ..Default::default() }), @@ -450,9 +448,9 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("background"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Background color (hex value)", - )), + description: Some( + CowStr::new_static("Background color (hex value)"), + ), max_length: Some(7usize), ..Default::default() }), @@ -460,7 +458,9 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("link"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Link color (hex value)")), + description: Some( + CowStr::new_static("Link color (hex value)"), + ), max_length: Some(7usize), ..Default::default() }), @@ -468,9 +468,9 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("surfaceHover"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Surface hover color (hex value)", - )), + description: Some( + CowStr::new_static("Surface hover color (hex value)"), + ), max_length: Some(7usize), ..Default::default() }), @@ -478,9 +478,9 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Primary text color (hex value)", - )), + description: Some( + CowStr::new_static("Primary text color (hex value)"), + ), max_length: Some(7usize), ..Default::default() }), @@ -494,4 +494,4 @@ fn lexicon_doc_blog_pckt_theme() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048.rs b/crates/jacquard-api/src/blue__2048.rs index 38d923dd9..cb2636d63 100644 --- a/crates/jacquard-api/src/blue__2048.rs +++ b/crates/jacquard-api/src/blue__2048.rs @@ -11,12 +11,13 @@ pub mod key; pub mod player; pub mod verification; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -29,14 +30,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The sync status for a record used to help sync between your ATProto record and local record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SyncStatus { pub created_at: Datetime, ///A XXH3 hash of the record to tell if anything has changed @@ -70,7 +68,7 @@ fn _default_sync_status_synced_with_at_repo() -> bool { pub mod sync_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -280,7 +278,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SyncStatus { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SyncStatus { SyncStatus { created_at: self._fields.0.unwrap(), hash: self._fields.1.unwrap(), @@ -292,10 +293,10 @@ where } fn lexicon_doc_blue_2048_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.defs"), @@ -360,4 +361,4 @@ fn lexicon_doc_blue_2048_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/game.rs b/crates/jacquard-api/src/blue__2048/game.rs index cfb30c049..437c42327 100644 --- a/crates/jacquard-api/src/blue__2048/game.rs +++ b/crates/jacquard-api/src/blue__2048/game.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue__2048::SyncStatus; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue__2048::SyncStatus; /// A declaration of an instance of a at://2048 game #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,7 +129,7 @@ fn _default_game_won() -> bool { pub mod game_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -390,7 +390,10 @@ where St::Won: game_state::IsUnset, { /// Set the `won` field (required) - pub fn won(mut self, value: impl Into) -> GameBuilder, S> { + pub fn won( + mut self, + value: impl Into, + ) -> GameBuilder, S> { self._fields.5 = Option::Some(value.into()); GameBuilder { _state: PhantomData, @@ -437,10 +440,10 @@ where } fn lexicon_doc_blue_2048_game() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.game"), @@ -523,4 +526,4 @@ fn lexicon_doc_blue_2048_game() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/key.rs b/crates/jacquard-api/src/blue__2048/key.rs index e738dd737..6f7da19fb 100644 --- a/crates/jacquard-api/src/blue__2048/key.rs +++ b/crates/jacquard-api/src/blue__2048/key.rs @@ -9,12 +9,13 @@ pub mod game; pub mod player; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,14 +28,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A record that holds a did:key used to verify records. Use the collection to know the type of verification. Example blue.2048.key.game is for blue.2048.game records #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Key { pub created_at: Datetime, ///A did:key used to verify records came from an at://2048 authority @@ -46,10 +44,7 @@ pub struct Key { /// a signature for an at://2048 record meaning it has been verified by a service. Most likely @2048.blue #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SignatureRef { ///The at://uri for the public did:key to verify this record. This also counts as the authority of the verification (example @2048.blue). As well as the type of verification by the collection name (blue.2048.key.game). pub at_uri: S, @@ -92,7 +87,7 @@ impl LexiconSchema for SignatureRef { pub mod key_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -237,10 +232,10 @@ where } fn lexicon_doc_blue_2048_key_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.key.defs"), @@ -345,7 +340,7 @@ fn lexicon_doc_blue_2048_key_defs() -> LexiconDoc<'static> { pub mod signature_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -518,7 +513,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SignatureRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SignatureRef { SignatureRef { at_uri: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -526,4 +524,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/key/game.rs b/crates/jacquard-api/src/blue__2048/key/game.rs index b512a54c2..286fb2e30 100644 --- a/crates/jacquard-api/src/blue__2048/key/game.rs +++ b/crates/jacquard-api/src/blue__2048/key/game.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue__2048::key::Key; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue__2048::key::Key; /// A record that holds a did:key for verifying a players game. This is intended to be written at a verification authorities repo #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Game { pub mod game_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -216,7 +216,10 @@ where St::Key: game_state::IsUnset, { /// Set the `key` field (required) - pub fn key(mut self, value: impl Into>) -> GameBuilder, S> { + pub fn key( + mut self, + value: impl Into>, + ) -> GameBuilder, S> { self._fields.1 = Option::Some(value.into()); GameBuilder { _state: PhantomData, @@ -251,10 +254,10 @@ where } fn lexicon_doc_blue_2048_key_game() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.key.game"), @@ -303,4 +306,4 @@ fn lexicon_doc_blue_2048_key_game() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/key/player.rs b/crates/jacquard-api/src/blue__2048/key/player.rs index 1c4d11db3..d72cb7a11 100644 --- a/crates/jacquard-api/src/blue__2048/key/player.rs +++ b/crates/jacquard-api/src/blue__2048/key/player.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue..2048.key.player` Lexicon namespace/module. -pub mod stats; +pub mod stats; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/key/player/stats.rs b/crates/jacquard-api/src/blue__2048/key/player/stats.rs index 8f2a4643b..4a0cae83f 100644 --- a/crates/jacquard-api/src/blue__2048/key/player/stats.rs +++ b/crates/jacquard-api/src/blue__2048/key/player/stats.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue__2048::key::Key; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue__2048::key::Key; /// A record that holds a did:key for verifying a players stats. This is intended to be written at a verification authorities repo #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Stats { pub mod stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -216,7 +216,10 @@ where St::Key: stats_state::IsUnset, { /// Set the `key` field (required) - pub fn key(mut self, value: impl Into>) -> StatsBuilder, S> { + pub fn key( + mut self, + value: impl Into>, + ) -> StatsBuilder, S> { self._fields.1 = Option::Some(value.into()); StatsBuilder { _state: PhantomData, @@ -251,10 +254,10 @@ where } fn lexicon_doc_blue_2048_key_player_stats() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.key.player.stats"), @@ -303,4 +306,4 @@ fn lexicon_doc_blue_2048_key_player_stats() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/player.rs b/crates/jacquard-api/src/blue__2048/player.rs index 3ef2549e0..fcc10fb68 100644 --- a/crates/jacquard-api/src/blue__2048/player.rs +++ b/crates/jacquard-api/src/blue__2048/player.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue..2048.player` Lexicon namespace/module. pub mod profile; -pub mod stats; +pub mod stats; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/player/profile.rs b/crates/jacquard-api/src/blue__2048/player/profile.rs index 22d3ce6c4..ca3458d9c 100644 --- a/crates/jacquard-api/src/blue__2048/player/profile.rs +++ b/crates/jacquard-api/src/blue__2048/player/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue__2048::SyncStatus; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue__2048::SyncStatus; /// A declaration of a at://2048 player's profile #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -113,7 +113,7 @@ fn _default_profile_solo_play() -> bool { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -297,10 +297,10 @@ where } fn lexicon_doc_blue_2048_player_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.player.profile"), @@ -309,16 +309,20 @@ fn lexicon_doc_blue_2048_player_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a at://2048 player's profile", - )), + description: Some( + CowStr::new_static( + "A declaration of a at://2048 player's profile", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("soloPlay"), - SmolStr::new_static("syncStatus"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("soloPlay"), + SmolStr::new_static("syncStatus"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -353,4 +357,4 @@ fn lexicon_doc_blue_2048_player_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/player/stats.rs b/crates/jacquard-api/src/blue__2048/player/stats.rs index 3997df4d8..9215af092 100644 --- a/crates/jacquard-api/src/blue__2048/player/stats.rs +++ b/crates/jacquard-api/src/blue__2048/player/stats.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue__2048::SyncStatus; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue__2048::SyncStatus; /// A declaration of a at://2048 player's stats over the course of their playtime #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -155,7 +155,7 @@ fn _default_stats_total_score() -> i64 { pub mod stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -258,7 +258,9 @@ pub mod stats_state { type TotalScore = St::TotalScore; } ///State transition - sets the `least_moves_to_find_twenty_forty_eight` field to Set - pub struct SetLeastMovesToFindTwentyFortyEight(PhantomData St>); + pub struct SetLeastMovesToFindTwentyFortyEight( + PhantomData St>, + ); impl sealed::Sealed for SetLeastMovesToFindTwentyFortyEight {} impl State for SetLeastMovesToFindTwentyFortyEight { type AverageScore = St::AverageScore; @@ -266,8 +268,9 @@ pub mod stats_state { type GamesPlayed = St::GamesPlayed; type HighestNumberBlock = St::HighestNumberBlock; type HighestScore = St::HighestScore; - type LeastMovesToFindTwentyFortyEight = - Set; + type LeastMovesToFindTwentyFortyEight = Set< + members::least_moves_to_find_twenty_forty_eight, + >; type SyncStatus = St::SyncStatus; type TimesTwentyFortyEightBeenFound = St::TimesTwentyFortyEightBeenFound; type TotalScore = St::TotalScore; @@ -287,7 +290,9 @@ pub mod stats_state { type TotalScore = St::TotalScore; } ///State transition - sets the `times_twenty_forty_eight_been_found` field to Set - pub struct SetTimesTwentyFortyEightBeenFound(PhantomData St>); + pub struct SetTimesTwentyFortyEightBeenFound( + PhantomData St>, + ); impl sealed::Sealed for SetTimesTwentyFortyEightBeenFound {} impl State for SetTimesTwentyFortyEightBeenFound { type AverageScore = St::AverageScore; @@ -297,7 +302,9 @@ pub mod stats_state { type HighestScore = St::HighestScore; type LeastMovesToFindTwentyFortyEight = St::LeastMovesToFindTwentyFortyEight; type SyncStatus = St::SyncStatus; - type TimesTwentyFortyEightBeenFound = Set; + type TimesTwentyFortyEightBeenFound = Set< + members::times_twenty_forty_eight_been_found, + >; type TotalScore = St::TotalScore; } ///State transition - sets the `total_score` field to Set @@ -608,10 +615,10 @@ where } fn lexicon_doc_blue_2048_player_stats() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.player.stats"), @@ -710,4 +717,4 @@ fn lexicon_doc_blue_2048_player_stats() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/verification.rs b/crates/jacquard-api/src/blue__2048/verification.rs index 70d627c92..4913b4c82 100644 --- a/crates/jacquard-api/src/blue__2048/verification.rs +++ b/crates/jacquard-api/src/blue__2048/verification.rs @@ -9,17 +9,18 @@ pub mod game; pub mod stats; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; @@ -27,14 +28,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Holds the signature for another record showing it has verified it to the best of it's ability and it should be trusted if the signatures match. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerificationRef { pub created_at: Datetime, ///The at://uri for the public did:key to verify the remote record. This also counts as the authority of the verification (example @2048.blue). As well as the type of verification by the collection name (blue.2048.key.game). @@ -66,7 +64,7 @@ impl LexiconSchema for VerificationRef { pub mod verification_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -157,7 +155,10 @@ pub mod verification_ref_state { } /// Builder for constructing an instance of this type. -pub struct VerificationRefBuilder { +pub struct VerificationRefBuilder< + St: verification_ref_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -321,7 +322,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> VerificationRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> VerificationRef { VerificationRef { created_at: self._fields.0.unwrap(), key_ref: self._fields.1.unwrap(), @@ -334,10 +338,10 @@ where } fn lexicon_doc_blue_2048_verification_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.verification.defs"), @@ -426,4 +430,4 @@ fn lexicon_doc_blue_2048_verification_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/verification/game.rs b/crates/jacquard-api/src/blue__2048/verification/game.rs index 3b0709f72..3aa34cb52 100644 --- a/crates/jacquard-api/src/blue__2048/verification/game.rs +++ b/crates/jacquard-api/src/blue__2048/verification/game.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue__2048::verification::VerificationRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue__2048::verification::VerificationRef; /// A record that holds a verification of a game record saying the owner of the repo has verified that it is a valid game played. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +108,7 @@ impl LexiconSchema for Game { pub mod game_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -217,10 +217,10 @@ where } fn lexicon_doc_blue_2048_verification_game() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.verification.game"), @@ -266,4 +266,4 @@ fn lexicon_doc_blue_2048_verification_game() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue__2048/verification/stats.rs b/crates/jacquard-api/src/blue__2048/verification/stats.rs index 4531e90c8..8350d4340 100644 --- a/crates/jacquard-api/src/blue__2048/verification/stats.rs +++ b/crates/jacquard-api/src/blue__2048/verification/stats.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue__2048::verification::VerificationRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue__2048::verification::VerificationRef; /// A record that holds a verification of a stats record saying the owner of the repo has verified that it is a valid and most likely not tampered with. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +108,7 @@ impl LexiconSchema for Stats { pub mod stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -217,10 +217,10 @@ where } fn lexicon_doc_blue_2048_verification_stats() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.2048.verification.stats"), @@ -266,4 +266,4 @@ fn lexicon_doc_blue_2048_verification_stats() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atplane.rs b/crates/jacquard-api/src/blue_atplane.rs index d6dacb9fd..4d2159e61 100644 --- a/crates/jacquard-api/src/blue_atplane.rs +++ b/crates/jacquard-api/src/blue_atplane.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.atplane` Lexicon namespace/module. -pub mod fav_client; +pub mod fav_client; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atplane/fav_client.rs b/crates/jacquard-api/src/blue_atplane/fav_client.rs index 875e277d0..9bf34f017 100644 --- a/crates/jacquard-api/src/blue_atplane/fav_client.rs +++ b/crates/jacquard-api/src/blue_atplane/fav_client.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a favorite client. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -115,7 +115,7 @@ impl LexiconSchema for FavClient { pub mod fav_client_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -220,7 +220,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> FavClient { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> FavClient { FavClient { fav_client: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -229,10 +232,10 @@ where } fn lexicon_doc_blue_atplane_favClient() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.atplane.favClient"), @@ -241,7 +244,9 @@ fn lexicon_doc_blue_atplane_favClient() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A declaration of a favorite client.")), + description: Some( + CowStr::new_static("A declaration of a favorite client."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("favClient")]), @@ -251,9 +256,9 @@ fn lexicon_doc_blue_atplane_favClient() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("favClient"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Set to your favorite client.", - )), + description: Some( + CowStr::new_static("Set to your favorite client."), + ), max_length: Some(32usize), ..Default::default() }), @@ -269,4 +274,4 @@ fn lexicon_doc_blue_atplane_favClient() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atplay.rs b/crates/jacquard-api/src/blue_atplay.rs index ffb83bcd8..07da10790 100644 --- a/crates/jacquard-api/src/blue_atplay.rs +++ b/crates/jacquard-api/src/blue_atplay.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.atplay` Lexicon namespace/module. -pub mod score; +pub mod score; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atplay/score.rs b/crates/jacquard-api/src/blue_atplay/score.rs index c87d8ef93..28325177b 100644 --- a/crates/jacquard-api/src/blue_atplay/score.rs +++ b/crates/jacquard-api/src/blue_atplay/score.rs @@ -10,8 +10,8 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,14 +24,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Attestation signature proving a score was submitted through ATPlay SDK #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Attestation { ///Timestamp when the attestation was created (optional) #[serde(skip_serializing_if = "Option::is_none")] @@ -73,7 +70,7 @@ impl LexiconSchema for Attestation { pub mod attestation_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -225,7 +222,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Attestation { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Attestation { Attestation { attested_at: self._fields.0, key: self._fields.1.unwrap(), @@ -236,10 +236,10 @@ where } fn lexicon_doc_blue_atplay_score_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.atplay.score.defs"), @@ -248,22 +248,27 @@ fn lexicon_doc_blue_atplay_score_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("attestation"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Attestation signature proving a score was submitted through ATPlay SDK", - )), - required: Some(vec![ - SmolStr::new_static("key"), - SmolStr::new_static("signature"), - ]), + description: Some( + CowStr::new_static( + "Attestation signature proving a score was submitted through ATPlay SDK", + ), + ), + required: Some( + vec![ + SmolStr::new_static("key"), SmolStr::new_static("signature") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("attestedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the attestation was created (optional)", - )), + description: Some( + CowStr::new_static( + "Timestamp when the attestation was created (optional)", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -271,9 +276,11 @@ fn lexicon_doc_blue_atplay_score_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("key"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID key reference for verifying the signature", - )), + description: Some( + CowStr::new_static( + "DID key reference for verifying the signature", + ), + ), max_length: Some(512usize), ..Default::default() }), @@ -294,4 +301,4 @@ fn lexicon_doc_blue_atplay_score_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atroom.rs b/crates/jacquard-api/src/blue_atroom.rs index 1b5b6a8f5..2e3748d67 100644 --- a/crates/jacquard-api/src/blue_atroom.rs +++ b/crates/jacquard-api/src/blue_atroom.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.atroom` Lexicon namespace/module. -pub mod room; +pub mod room; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atroom/room.rs b/crates/jacquard-api/src/blue_atroom/room.rs index f97bb19f0..5c5f90f3d 100644 --- a/crates/jacquard-api/src/blue_atroom/room.rs +++ b/crates/jacquard-api/src/blue_atroom/room.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue.atroom.room` Lexicon namespace/module. pub mod layout; -pub mod object; +pub mod object; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atroom/room/layout.rs b/crates/jacquard-api/src/blue_atroom/room/layout.rs index 4661b34d5..c24bb0ce9 100644 --- a/crates/jacquard-api/src/blue_atroom/room/layout.rs +++ b/crates/jacquard-api/src/blue_atroom/room/layout.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_atroom::room::layout; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::blue_atroom::room::layout; /// RGB color with 8-bit channels. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Color { pub blue: i64, pub green: i64, @@ -44,11 +41,9 @@ pub struct Color { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Floor { pub surface: layout::Surface, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -58,10 +53,7 @@ pub struct Floor { /// A placed object in the room. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Furnishing { ///Strong reference to a blue.atroom.room.object record. pub object: StrongRef, @@ -104,11 +96,9 @@ pub struct LayoutGetRecordOutput { pub value: Layout, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Surface { pub color: layout::Color, ///Texture identifier. @@ -124,10 +114,7 @@ pub struct Surface { /// Wall configuration. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Wall { ///Wall height in millimeters. pub height: i64, @@ -418,7 +405,7 @@ impl LexiconSchema for Wall { pub mod color_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -523,7 +510,10 @@ where St::Blue: color_state::IsUnset, { /// Set the `blue` field (required) - pub fn blue(mut self, value: impl Into) -> ColorBuilder, S> { + pub fn blue( + mut self, + value: impl Into, + ) -> ColorBuilder, S> { self._fields.0 = Option::Some(value.into()); ColorBuilder { _state: PhantomData, @@ -539,7 +529,10 @@ where St::Green: color_state::IsUnset, { /// Set the `green` field (required) - pub fn green(mut self, value: impl Into) -> ColorBuilder, S> { + pub fn green( + mut self, + value: impl Into, + ) -> ColorBuilder, S> { self._fields.1 = Option::Some(value.into()); ColorBuilder { _state: PhantomData, @@ -555,7 +548,10 @@ where St::Red: color_state::IsUnset, { /// Set the `red` field (required) - pub fn red(mut self, value: impl Into) -> ColorBuilder, S> { + pub fn red( + mut self, + value: impl Into, + ) -> ColorBuilder, S> { self._fields.2 = Option::Some(value.into()); ColorBuilder { _state: PhantomData, @@ -593,10 +589,10 @@ where } fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.atroom.room.layout"), @@ -605,12 +601,15 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("color"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("RGB color with 8-bit channels.")), - required: Some(vec![ - SmolStr::new_static("red"), - SmolStr::new_static("green"), - SmolStr::new_static("blue"), - ]), + description: Some( + CowStr::new_static("RGB color with 8-bit channels."), + ), + required: Some( + vec![ + SmolStr::new_static("red"), SmolStr::new_static("green"), + SmolStr::new_static("blue") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -665,12 +664,16 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("furnishing"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A placed object in the room.")), - required: Some(vec![ - SmolStr::new_static("object"), - SmolStr::new_static("position"), - SmolStr::new_static("rotation"), - ]), + description: Some( + CowStr::new_static("A placed object in the room."), + ), + required: Some( + vec![ + SmolStr::new_static("object"), + SmolStr::new_static("position"), + SmolStr::new_static("rotation") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -684,9 +687,9 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("position"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Position [x, y, z] in millimeters.", - )), + description: Some( + CowStr::new_static("Position [x, y, z] in millimeters."), + ), items: LexArrayItem::Integer(LexInteger { ..Default::default() }), @@ -698,9 +701,9 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("rotation"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Euler rotation [x, y, z] in degrees.", - )), + description: Some( + CowStr::new_static("Euler rotation [x, y, z] in degrees."), + ), items: LexArrayItem::Integer(LexInteger { ..Default::default() }), @@ -717,16 +720,19 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A room layout with placed objects.")), + description: Some( + CowStr::new_static("A room layout with placed objects."), + ), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("size"), - SmolStr::new_static("floor"), - SmolStr::new_static("wall"), - SmolStr::new_static("furnishings"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("size"), SmolStr::new_static("floor"), + SmolStr::new_static("wall"), + SmolStr::new_static("furnishings"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -794,14 +800,18 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("texture"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Texture identifier.")), + description: Some( + CowStr::new_static("Texture identifier."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("textureTiling"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Texture tiling [u, v].")), + description: Some( + CowStr::new_static("Texture tiling [u, v]."), + ), items: LexArrayItem::Integer(LexInteger { ..Default::default() }), @@ -819,11 +829,13 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { SmolStr::new_static("wall"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Wall configuration.")), - required: Some(vec![ - SmolStr::new_static("height"), - SmolStr::new_static("thickness"), - SmolStr::new_static("surface"), - ]), + required: Some( + vec![ + SmolStr::new_static("height"), + SmolStr::new_static("thickness"), + SmolStr::new_static("surface") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -859,7 +871,7 @@ fn lexicon_doc_blue_atroom_room_layout() -> LexiconDoc<'static> { pub mod floor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -974,7 +986,7 @@ where pub mod furnishing_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1147,7 +1159,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Furnishing { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Furnishing { Furnishing { object: self._fields.0.unwrap(), position: self._fields.1.unwrap(), @@ -1159,7 +1174,7 @@ where pub mod layout_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1361,7 +1376,10 @@ where St::Size: layout_state::IsUnset, { /// Set the `size` field (required) - pub fn size(mut self, value: impl Into) -> LayoutBuilder, S> { + pub fn size( + mut self, + value: impl Into, + ) -> LayoutBuilder, S> { self._fields.3 = Option::Some(value.into()); LayoutBuilder { _state: PhantomData, @@ -1425,7 +1443,7 @@ where pub mod surface_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1570,7 +1588,7 @@ where pub mod wall_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1675,7 +1693,10 @@ where St::Height: wall_state::IsUnset, { /// Set the `height` field (required) - pub fn height(mut self, value: impl Into) -> WallBuilder, S> { + pub fn height( + mut self, + value: impl Into, + ) -> WallBuilder, S> { self._fields.0 = Option::Some(value.into()); WallBuilder { _state: PhantomData, @@ -1748,4 +1769,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_atroom/room/object.rs b/crates/jacquard-api/src/blue_atroom/room/object.rs index 0abd5409d..bd6fe63f6 100644 --- a/crates/jacquard-api/src/blue_atroom/room/object.rs +++ b/crates/jacquard-api/src/blue_atroom/room/object.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_atroom::room::object; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_atroom::room::object; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LocalizedName { pub lang: S, pub value: S, @@ -172,16 +169,19 @@ impl LexiconSchema for Object { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["model/gltf-binary"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("model"), @@ -227,10 +227,10 @@ impl LexiconSchema for Object { } fn lexicon_doc_blue_atroom_room_object() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.atroom.room.object"), @@ -239,10 +239,9 @@ fn lexicon_doc_blue_atroom_room_object() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("localizedName"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("lang"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![SmolStr::new_static("lang"), SmolStr::new_static("value")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -268,17 +267,18 @@ fn lexicon_doc_blue_atroom_room_object() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A 3D object that can be placed in a room.", - )), + description: Some( + CowStr::new_static("A 3D object that can be placed in a room."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("model"), - SmolStr::new_static("scale"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("model"), + SmolStr::new_static("scale"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -291,9 +291,7 @@ fn lexicon_doc_blue_atroom_room_object() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("model"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), @@ -335,7 +333,7 @@ fn lexicon_doc_blue_atroom_room_object() -> LexiconDoc<'static> { pub mod object_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -500,7 +498,10 @@ where St::Name: object_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ObjectBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ObjectBuilder, S> { self._fields.2 = Option::Some(value.into()); ObjectBuilder { _state: PhantomData, @@ -512,12 +513,18 @@ where impl ObjectBuilder { /// Set the `nameLangs` field (optional) - pub fn name_langs(mut self, value: impl Into>>>) -> Self { + pub fn name_langs( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `nameLangs` field to an Option value (optional) - pub fn maybe_name_langs(mut self, value: Option>>) -> Self { + pub fn maybe_name_langs( + mut self, + value: Option>>, + ) -> Self { self._fields.3 = value; self } @@ -529,7 +536,10 @@ where St::Scale: object_state::IsUnset, { /// Set the `scale` field (required) - pub fn scale(mut self, value: impl Into) -> ObjectBuilder, S> { + pub fn scale( + mut self, + value: impl Into, + ) -> ObjectBuilder, S> { self._fields.4 = Option::Some(value.into()); ObjectBuilder { _state: PhantomData, @@ -569,4 +579,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard.rs b/crates/jacquard-api/src/blue_backyard.rs index 95264e3b0..96056ff52 100644 --- a/crates/jacquard-api/src/blue_backyard.rs +++ b/crates/jacquard-api/src/blue_backyard.rs @@ -7,4 +7,4 @@ pub mod actor; pub mod feed; pub mod graph; -pub mod richtext; +pub mod richtext; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/actor.rs b/crates/jacquard-api/src/blue_backyard/actor.rs index dea0d1f53..035316188 100644 --- a/crates/jacquard-api/src/blue_backyard/actor.rs +++ b/crates/jacquard-api/src/blue_backyard/actor.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.backyard.actor` Lexicon namespace/module. -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/actor/profile.rs b/crates/jacquard-api/src/blue_backyard/actor/profile.rs index 1e5fb4468..7da2d84f3 100644 --- a/crates/jacquard-api/src/blue_backyard/actor/profile.rs +++ b/crates/jacquard-api/src/blue_backyard/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a Backyard account profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -131,20 +131,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -166,20 +171,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -257,7 +267,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -433,10 +443,10 @@ where } fn lexicon_doc_blue_backyard_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.actor.profile"), @@ -445,9 +455,11 @@ fn lexicon_doc_blue_backyard_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a Backyard account profile.", - )), + description: Some( + CowStr::new_static( + "A declaration of a Backyard account profile.", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { properties: { @@ -455,22 +467,20 @@ fn lexicon_doc_blue_backyard_actor_profile() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("banner"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the profile was initially created.", - )), + description: Some( + CowStr::new_static( + "When the profile was initially created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -478,9 +488,11 @@ fn lexicon_doc_blue_backyard_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form profile description text (bio).", - )), + description: Some( + CowStr::new_static( + "Free-form profile description text (bio).", + ), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -489,9 +501,9 @@ fn lexicon_doc_blue_backyard_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("displayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name for the user.", - )), + description: Some( + CowStr::new_static("Display name for the user."), + ), max_length: Some(640usize), max_graphemes: Some(64usize), ..Default::default() @@ -500,9 +512,9 @@ fn lexicon_doc_blue_backyard_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("pronouns"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "User's preferred pronouns.", - )), + description: Some( + CowStr::new_static("User's preferred pronouns."), + ), max_length: Some(640usize), max_graphemes: Some(64usize), ..Default::default() @@ -519,4 +531,4 @@ fn lexicon_doc_blue_backyard_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/feed.rs b/crates/jacquard-api/src/blue_backyard/feed.rs index 95659eb31..489a50e57 100644 --- a/crates/jacquard-api/src/blue_backyard/feed.rs +++ b/crates/jacquard-api/src/blue_backyard/feed.rs @@ -7,4 +7,4 @@ pub mod comment; pub mod like; pub mod post; -pub mod reblog; +pub mod reblog; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/feed/comment.rs b/crates/jacquard-api/src/blue_backyard/feed/comment.rs index d4074ff9b..d42eb788c 100644 --- a/crates/jacquard-api/src/blue_backyard/feed/comment.rs +++ b/crates/jacquard-api/src/blue_backyard/feed/comment.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_backyard::richtext::facet::Facet; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_backyard::richtext::facet::Facet; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A comment (note) on a Backyard post or reblog. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -141,7 +141,7 @@ impl LexiconSchema for Comment { pub mod comment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -352,7 +352,10 @@ where St::Text: comment_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> CommentBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> CommentBuilder, S> { self._fields.5 = Option::Some(value.into()); CommentBuilder { _state: PhantomData, @@ -397,10 +400,10 @@ where } fn lexicon_doc_blue_backyard_feed_comment() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.feed.comment"), @@ -409,17 +412,20 @@ fn lexicon_doc_blue_backyard_feed_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A comment (note) on a Backyard post or reblog.", - )), + description: Some( + CowStr::new_static( + "A comment (note) on a Backyard post or reblog.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("text"), - SmolStr::new_static("subject"), - SmolStr::new_static("root"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("text"), SmolStr::new_static("subject"), + SmolStr::new_static("root"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -433,9 +439,11 @@ fn lexicon_doc_blue_backyard_feed_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Annotations of text (mentions, URLs, hashtags).", - )), + description: Some( + CowStr::new_static( + "Annotations of text (mentions, URLs, hashtags).", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blue.backyard.richtext.facet"), ..Default::default() @@ -467,9 +475,9 @@ fn lexicon_doc_blue_backyard_feed_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The text content of the comment.", - )), + description: Some( + CowStr::new_static("The text content of the comment."), + ), max_length: Some(10000usize), max_graphemes: Some(1000usize), ..Default::default() @@ -486,4 +494,4 @@ fn lexicon_doc_blue_backyard_feed_comment() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/feed/like.rs b/crates/jacquard-api/src/blue_backyard/feed/like.rs index 3647fd1f4..bd06863dc 100644 --- a/crates/jacquard-api/src/blue_backyard/feed/like.rs +++ b/crates/jacquard-api/src/blue_backyard/feed/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Record declaring a 'like' of a subject record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -106,7 +106,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -254,10 +254,10 @@ where } fn lexicon_doc_blue_backyard_feed_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.feed.like"), @@ -266,15 +266,19 @@ fn lexicon_doc_blue_backyard_feed_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record declaring a 'like' of a subject record.", - )), + description: Some( + CowStr::new_static( + "Record declaring a 'like' of a subject record.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -303,4 +307,4 @@ fn lexicon_doc_blue_backyard_feed_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/feed/post.rs b/crates/jacquard-api/src/blue_backyard/feed/post.rs index 81ece4afb..bbc4ba3c2 100644 --- a/crates/jacquard-api/src/blue_backyard/feed/post.rs +++ b/crates/jacquard-api/src/blue_backyard/feed/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,18 +25,15 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_backyard::feed::post; -use crate::blue_backyard::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_backyard::richtext::facet::Facet; +use crate::blue_backyard::feed::post; /// Width and height of the media, used for layout before the blob is loaded. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { pub height: i64, pub width: i64, @@ -47,10 +44,7 @@ pub struct AspectRatio { /// An inline URL embed (link preview). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EmbedBlock { ///The URL to embed as a link preview. pub url: UriValue, @@ -61,10 +55,7 @@ pub struct EmbedBlock { /// An inline image or video. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageBlock { ///Alt text description for accessibility. #[serde(skip_serializing_if = "Option::is_none")] @@ -101,6 +92,7 @@ pub struct Post { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -127,10 +119,7 @@ pub struct PostGetRecordOutput { /// A block of rich text content. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TextBlock { ///Annotations of text (mentions, URLs, hashtags, formatting). #[serde(skip_serializing_if = "Option::is_none")] @@ -256,27 +245,27 @@ impl LexiconSchema for ImageBlock { "video/mp4", "video/webm", ]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blob"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/gif".to_string(), - "image/webp".to_string(), - "image/avif".to_string(), - "video/mp4".to_string(), - "video/webm".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/gif".to_string(), "image/webp".to_string(), + "image/avif".to_string(), "video/mp4".to_string(), + "video/webm".to_string() ], actual: mime.to_string(), }); @@ -423,7 +412,7 @@ impl LexiconSchema for TextBlock { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -561,7 +550,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -571,10 +563,10 @@ where } fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.feed.post"), @@ -583,13 +575,14 @@ fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Width and height of the media, used for layout before the blob is loaded.", - )), - required: Some(vec![ - SmolStr::new_static("width"), - SmolStr::new_static("height"), - ]), + description: Some( + CowStr::new_static( + "Width and height of the media, used for layout before the blob is loaded.", + ), + ), + required: Some( + vec![SmolStr::new_static("width"), SmolStr::new_static("height")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -615,7 +608,9 @@ fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("embedBlock"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("An inline URL embed (link preview).")), + description: Some( + CowStr::new_static("An inline URL embed (link preview)."), + ), required: Some(vec![SmolStr::new_static("url")]), properties: { #[allow(unused_mut)] @@ -623,9 +618,9 @@ fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL to embed as a link preview.", - )), + description: Some( + CowStr::new_static("The URL to embed as a link preview."), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -774,7 +769,9 @@ fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("textBlock"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A block of rich text content.")), + description: Some( + CowStr::new_static("A block of rich text content."), + ), required: Some(vec![SmolStr::new_static("text")]), properties: { #[allow(unused_mut)] @@ -782,9 +779,11 @@ fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Annotations of text (mentions, URLs, hashtags, formatting).", - )), + description: Some( + CowStr::new_static( + "Annotations of text (mentions, URLs, hashtags, formatting).", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("blue.backyard.richtext.facet"), ..Default::default() @@ -795,9 +794,9 @@ fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The text content of this block.", - )), + description: Some( + CowStr::new_static("The text content of this block."), + ), max_length: Some(30000usize), max_graphemes: Some(3000usize), ..Default::default() @@ -816,7 +815,7 @@ fn lexicon_doc_blue_backyard_feed_post() -> LexiconDoc<'static> { pub mod embed_block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -921,7 +920,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> EmbedBlock { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> EmbedBlock { EmbedBlock { url: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -931,7 +933,7 @@ where pub mod image_block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -976,12 +978,7 @@ pub mod image_block_state { /// Builder for constructing an instance of this type. pub struct ImageBlockBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -1036,7 +1033,10 @@ impl ImageBlockBuilder { impl ImageBlockBuilder { /// Set the `aspectRatio` field (optional) - pub fn aspect_ratio(mut self, value: impl Into>>) -> Self { + pub fn aspect_ratio( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -1102,7 +1102,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageBlock { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageBlock { ImageBlock { alt: self._fields.0, aspect_ratio: self._fields.1, @@ -1115,7 +1118,7 @@ where pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1295,4 +1298,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/feed/reblog.rs b/crates/jacquard-api/src/blue_backyard/feed/reblog.rs index 4031c0177..26099512c 100644 --- a/crates/jacquard-api/src/blue_backyard/feed/reblog.rs +++ b/crates/jacquard-api/src/blue_backyard/feed/reblog.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,13 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::blue_backyard::feed::post::EmbedBlock; use crate::blue_backyard::feed::post::ImageBlock; use crate::blue_backyard::feed::post::TextBlock; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A reblog of a Backyard post with optional additions. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -54,6 +54,7 @@ pub struct Reblog { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -147,7 +148,7 @@ impl LexiconSchema for Reblog { pub mod reblog_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -239,7 +240,10 @@ impl ReblogBuilder { impl ReblogBuilder { /// Set the `content` field (optional) - pub fn content(mut self, value: impl Into>>>) -> Self { + pub fn content( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -330,10 +334,10 @@ where } fn lexicon_doc_blue_backyard_feed_reblog() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.feed.reblog"), @@ -420,4 +424,4 @@ fn lexicon_doc_blue_backyard_feed_reblog() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/graph.rs b/crates/jacquard-api/src/blue_backyard/graph.rs index 6037b06d0..4c9e10ec0 100644 --- a/crates/jacquard-api/src/blue_backyard/graph.rs +++ b/crates/jacquard-api/src/blue_backyard/graph.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue.backyard.graph` Lexicon namespace/module. pub mod block; -pub mod follow; +pub mod follow; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/graph/block.rs b/crates/jacquard-api/src/blue_backyard/graph/block.rs index a3db8b646..a887c15a0 100644 --- a/crates/jacquard-api/src/blue_backyard/graph/block.rs +++ b/crates/jacquard-api/src/blue_backyard/graph/block.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record declaring a block of another account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Block { pub mod block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -253,10 +253,10 @@ where } fn lexicon_doc_blue_backyard_graph_block() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.graph.block"), @@ -265,15 +265,19 @@ fn lexicon_doc_blue_backyard_graph_block() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record declaring a block of another account.", - )), + description: Some( + CowStr::new_static( + "Record declaring a block of another account.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -287,9 +291,9 @@ fn lexicon_doc_blue_backyard_graph_block() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the account being blocked.", - )), + description: Some( + CowStr::new_static("DID of the account being blocked."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -305,4 +309,4 @@ fn lexicon_doc_blue_backyard_graph_block() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/graph/follow.rs b/crates/jacquard-api/src/blue_backyard/graph/follow.rs index cdafc6386..b7d657896 100644 --- a/crates/jacquard-api/src/blue_backyard/graph/follow.rs +++ b/crates/jacquard-api/src/blue_backyard/graph/follow.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record declaring a social 'follow' of another account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Follow { pub mod follow_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -253,10 +253,10 @@ where } fn lexicon_doc_blue_backyard_graph_follow() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.graph.follow"), @@ -265,15 +265,19 @@ fn lexicon_doc_blue_backyard_graph_follow() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record declaring a social 'follow' of another account.", - )), + description: Some( + CowStr::new_static( + "Record declaring a social 'follow' of another account.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -287,9 +291,9 @@ fn lexicon_doc_blue_backyard_graph_follow() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the account being followed.", - )), + description: Some( + CowStr::new_static("DID of the account being followed."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -305,4 +309,4 @@ fn lexicon_doc_blue_backyard_graph_follow() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/richtext.rs b/crates/jacquard-api/src/blue_backyard/richtext.rs index fd28cac2e..6773688d6 100644 --- a/crates/jacquard-api/src/blue_backyard/richtext.rs +++ b/crates/jacquard-api/src/blue_backyard/richtext.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.backyard.richtext` Lexicon namespace/module. -pub mod facet; +pub mod facet; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_backyard/richtext/facet.rs b/crates/jacquard-api/src/blue_backyard/richtext/facet.rs index 8f5ae29ac..15796ab3a 100644 --- a/crates/jacquard-api/src/blue_backyard/richtext/facet.rs +++ b/crates/jacquard-api/src/blue_backyard/richtext/facet.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_backyard::richtext::facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_backyard::richtext::facet; /// Facet feature for bold text formatting. Spec candidate per Paul Frazee. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Bold { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -40,10 +37,7 @@ pub struct Bold { /// Specifies a sub-string in a utf-8 string by byte index. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ByteSlice { pub byte_end: i64, pub byte_start: i64, @@ -54,10 +48,7 @@ pub struct ByteSlice { /// Facet feature for italic text formatting. Spec candidate per Paul Frazee. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Italic { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -66,10 +57,7 @@ pub struct Italic { /// Facet feature for a URL link. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Link { pub uri: UriValue, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -79,10 +67,7 @@ pub struct Link { /// Annotation of a sub-string within rich text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Facet { ///The feature types applied to this text range (e.g. link, mention, formatting). pub features: Vec>, @@ -91,6 +76,7 @@ pub struct Facet { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -114,10 +100,7 @@ pub enum FacetFeaturesItem { /// Facet feature for mention of another account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Mention { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -127,10 +110,7 @@ pub struct Mention { /// Facet feature for strikethrough text formatting. Spec candidate per Paul Frazee. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Strikethrough { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -139,10 +119,7 @@ pub struct Strikethrough { /// Facet feature for a hashtag. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Tag { pub tag: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -152,10 +129,7 @@ pub struct Tag { /// Facet feature for underline text formatting. Spec candidate per Paul Frazee. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Underline { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -341,10 +315,10 @@ impl LexiconSchema for Underline { } fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.backyard.richtext.facet"), @@ -353,9 +327,11 @@ fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bold"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Facet feature for bold text formatting. Spec candidate per Paul Frazee.", - )), + description: Some( + CowStr::new_static( + "Facet feature for bold text formatting. Spec candidate per Paul Frazee.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -367,13 +343,17 @@ fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("byteSlice"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Specifies a sub-string in a utf-8 string by byte index.", - )), - required: Some(vec![ - SmolStr::new_static("byteStart"), - SmolStr::new_static("byteEnd"), - ]), + description: Some( + CowStr::new_static( + "Specifies a sub-string in a utf-8 string by byte index.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("byteStart"), + SmolStr::new_static("byteEnd") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -399,9 +379,11 @@ fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("italic"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Facet feature for italic text formatting. Spec candidate per Paul Frazee.", - )), + description: Some( + CowStr::new_static( + "Facet feature for italic text formatting. Spec candidate per Paul Frazee.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -413,7 +395,9 @@ fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("link"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for a URL link.")), + description: Some( + CowStr::new_static("Facet feature for a URL link."), + ), required: Some(vec![SmolStr::new_static("uri")]), properties: { #[allow(unused_mut)] @@ -482,9 +466,11 @@ fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("mention"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Facet feature for mention of another account.", - )), + description: Some( + CowStr::new_static( + "Facet feature for mention of another account.", + ), + ), required: Some(vec![SmolStr::new_static("did")]), properties: { #[allow(unused_mut)] @@ -520,7 +506,9 @@ fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tag"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Facet feature for a hashtag.")), + description: Some( + CowStr::new_static("Facet feature for a hashtag."), + ), required: Some(vec![SmolStr::new_static("tag")]), properties: { #[allow(unused_mut)] @@ -562,7 +550,7 @@ fn lexicon_doc_blue_backyard_richtext_facet() -> LexiconDoc<'static> { pub mod byte_slice_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -700,7 +688,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ByteSlice { ByteSlice { byte_end: self._fields.0.unwrap(), byte_start: self._fields.1.unwrap(), @@ -711,7 +702,7 @@ where pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -790,7 +781,10 @@ where St::Uri: link_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> LinkBuilder, S> { self._fields.0 = Option::Some(value.into()); LinkBuilder { _state: PhantomData, @@ -823,7 +817,7 @@ where pub mod facet_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -868,10 +862,7 @@ pub mod facet_state { /// Builder for constructing an instance of this type. pub struct FacetBuilder { _state: PhantomData St>, - _fields: ( - Option>>, - Option>, - ), + _fields: (Option>>, Option>), _type: PhantomData S>, } @@ -975,7 +966,7 @@ where pub mod mention_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1054,7 +1045,10 @@ where St::Did: mention_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> MentionBuilder, S> { self._fields.0 = Option::Some(value.into()); MentionBuilder { _state: PhantomData, @@ -1083,4 +1077,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_linkat.rs b/crates/jacquard-api/src/blue_linkat.rs index 30c31feb0..10cb580a9 100644 --- a/crates/jacquard-api/src/blue_linkat.rs +++ b/crates/jacquard-api/src/blue_linkat.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.linkat` Lexicon namespace/module. -pub mod board; +pub mod board; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_linkat/board.rs b/crates/jacquard-api/src/blue_linkat/board.rs index e651115ee..73410209a 100644 --- a/crates/jacquard-api/src/blue_linkat/board.rs +++ b/crates/jacquard-api/src/blue_linkat/board.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_linkat::board; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_linkat::board; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Card { ///Emoji of the card #[serde(skip_serializing_if = "Option::is_none")] @@ -139,10 +136,10 @@ impl LexiconSchema for Board { } fn lexicon_doc_blue_linkat_board() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.linkat.board"), @@ -183,9 +180,9 @@ fn lexicon_doc_blue_linkat_board() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record containing a cards of your profile.", - )), + description: Some( + CowStr::new_static("Record containing a cards of your profile."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("cards")]), @@ -195,9 +192,9 @@ fn lexicon_doc_blue_linkat_board() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cards"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "List of cards in the board.", - )), + description: Some( + CowStr::new_static("List of cards in the board."), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#card"), ..Default::default() @@ -220,7 +217,7 @@ fn lexicon_doc_blue_linkat_board() -> LexiconDoc<'static> { pub mod board_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -331,4 +328,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_recipes.rs b/crates/jacquard-api/src/blue_recipes.rs index f0ec27fe2..f91cbf7ab 100644 --- a/crates/jacquard-api/src/blue_recipes.rs +++ b/crates/jacquard-api/src/blue_recipes.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue.recipes` Lexicon namespace/module. pub mod actor; -pub mod feed; +pub mod feed; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_recipes/actor.rs b/crates/jacquard-api/src/blue_recipes/actor.rs index de8147c71..09ec2b9fa 100644 --- a/crates/jacquard-api/src/blue_recipes/actor.rs +++ b/crates/jacquard-api/src/blue_recipes/actor.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `blue.recipes.actor` Lexicon namespace/module. pub mod profile; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,13 +28,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileViewBasic { ///Small image to be displayed on the profile. #[serde(skip_serializing_if = "Option::is_none")] @@ -77,20 +75,25 @@ impl LexiconSchema for ProfileViewBasic { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -124,7 +127,7 @@ impl LexiconSchema for ProfileViewBasic { pub mod profile_view_basic_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -167,7 +170,10 @@ pub mod profile_view_basic_state { } /// Builder for constructing an instance of this type. -pub struct ProfileViewBasicBuilder { +pub struct ProfileViewBasicBuilder< + St: profile_view_basic_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -182,7 +188,10 @@ pub struct ProfileViewBasicBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ProfileViewBasicBuilder { + pub fn new() -> ProfileViewBasicBuilder< + profile_view_basic_state::Empty, + DefaultStr, + > { ProfileViewBasicBuilder::new() } } @@ -325,7 +334,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileViewBasic { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ProfileViewBasic { ProfileViewBasic { avatar: self._fields.0, created_at: self._fields.1, @@ -339,10 +351,10 @@ where } fn lexicon_doc_blue_recipes_actor_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.recipes.actor.defs"), @@ -351,24 +363,19 @@ fn lexicon_doc_blue_recipes_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("profileViewBasic"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("handle")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("did"), @@ -394,9 +401,7 @@ fn lexicon_doc_blue_recipes_actor_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("pronouns"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -407,4 +412,4 @@ fn lexicon_doc_blue_recipes_actor_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_recipes/actor/profile.rs b/crates/jacquard-api/src/blue_recipes/actor/profile.rs index 51e8281e0..d1cbf7601 100644 --- a/crates/jacquard-api/src/blue_recipes/actor/profile.rs +++ b/crates/jacquard-api/src/blue_recipes/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -129,20 +129,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -164,20 +169,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -257,7 +267,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -469,10 +479,10 @@ where } fn lexicon_doc_blue_recipes_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.recipes.actor.profile"), @@ -489,15 +499,11 @@ fn lexicon_doc_blue_recipes_actor_profile() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("banner"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -508,9 +514,9 @@ fn lexicon_doc_blue_recipes_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form profile description text.", - )), + description: Some( + CowStr::new_static("Free-form profile description text."), + ), max_length: Some(2500usize), max_graphemes: Some(256usize), ..Default::default() @@ -527,9 +533,9 @@ fn lexicon_doc_blue_recipes_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("pronouns"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form text to describe pronouns.", - )), + description: Some( + CowStr::new_static("Free-form text to describe pronouns."), + ), max_length: Some(200usize), max_graphemes: Some(20usize), ..Default::default() @@ -552,4 +558,4 @@ fn lexicon_doc_blue_recipes_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_recipes/feed.rs b/crates/jacquard-api/src/blue_recipes/feed.rs index e851883a7..436c8814d 100644 --- a/crates/jacquard-api/src/blue_recipes/feed.rs +++ b/crates/jacquard-api/src/blue_recipes/feed.rs @@ -10,6 +10,7 @@ pub mod get_recipe; pub mod get_recipes; pub mod recipe; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -26,17 +27,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_recipes::actor::ProfileViewBasic; -use crate::blue_recipes::feed::recipe::Recipe; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_recipes::actor::ProfileViewBasic; +use crate::blue_recipes::feed::recipe::Recipe; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NotFoundRecipe { pub not_found: bool, pub uri: AtUri, @@ -47,10 +45,7 @@ pub struct NotFoundRecipe { /// Response model for fetching multiple recipes. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecipeView { pub author: ProfileViewBasic, pub cid: Cid, @@ -93,7 +88,7 @@ impl LexiconSchema for RecipeView { pub mod not_found_recipe_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -136,7 +131,10 @@ pub mod not_found_recipe_state { } /// Builder for constructing an instance of this type. -pub struct NotFoundRecipeBuilder { +pub struct NotFoundRecipeBuilder< + St: not_found_recipe_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -231,7 +229,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> NotFoundRecipe { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> NotFoundRecipe { NotFoundRecipe { not_found: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -241,10 +242,10 @@ where } fn lexicon_doc_blue_recipes_feed_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.recipes.feed.defs"), @@ -253,10 +254,9 @@ fn lexicon_doc_blue_recipes_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("notFoundRecipe"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("notFound"), - ]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("notFound")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -281,16 +281,18 @@ fn lexicon_doc_blue_recipes_feed_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("recipeView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Response model for fetching multiple recipes.", - )), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("record"), - SmolStr::new_static("indexedAt"), - ]), + description: Some( + CowStr::new_static( + "Response model for fetching multiple recipes.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("record"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -344,7 +346,7 @@ fn lexicon_doc_blue_recipes_feed_defs() -> LexiconDoc<'static> { pub mod recipe_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -599,7 +601,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecipeView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecipeView { RecipeView { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -609,4 +614,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_recipes/feed/get_recipe.rs b/crates/jacquard-api/src/blue_recipes/feed/get_recipe.rs index 7d2ef087c..18d485853 100644 --- a/crates/jacquard-api/src/blue_recipes/feed/get_recipe.rs +++ b/crates/jacquard-api/src/blue_recipes/feed/get_recipe.rs @@ -8,39 +8,43 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::blue_recipes::feed::RecipeView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_recipes::feed::RecipeView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecipe { pub uris: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecipeOutput { pub recipes: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRecipeError { #[serde(rename = "NotFound")] @@ -49,10 +53,7 @@ pub enum GetRecipeError { InvalidUri(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRecipeError { @@ -113,7 +114,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecipeRequest { pub mod get_recipe_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -216,4 +217,4 @@ where uris: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_recipes/feed/get_recipes.rs b/crates/jacquard-api/src/blue_recipes/feed/get_recipes.rs index 149ca0161..1aeb78aa4 100644 --- a/crates/jacquard-api/src/blue_recipes/feed/get_recipes.rs +++ b/crates/jacquard-api/src/blue_recipes/feed/get_recipes.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::blue_recipes::feed::RecipeView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_recipes::feed::RecipeView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecipes { #[serde(skip_serializing_if = "Option::is_none")] pub author: Option>, @@ -34,11 +31,9 @@ pub struct GetRecipes { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecipesOutput { pub next_cursor: S, pub recipes: Vec>, @@ -80,7 +75,7 @@ fn _default_limit() -> Option { pub mod get_recipes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -191,4 +186,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_recipes/feed/recipe.rs b/crates/jacquard-api/src/blue_recipes/feed/recipe.rs index 2e06e8453..4dfb70ac6 100644 --- a/crates/jacquard-api/src/blue_recipes/feed/recipe.rs +++ b/crates/jacquard-api/src/blue_recipes/feed/recipe.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_recipes::feed::recipe; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_recipes::feed::recipe; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Ingredient { ///The amount of the ingredient needed. #[serde(skip_serializing_if = "Option::is_none")] @@ -87,11 +84,9 @@ pub struct RecipeGetRecordOutput { pub value: Recipe, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Step { ///The instruction to provide to the user. pub text: S, @@ -220,20 +215,25 @@ impl LexiconSchema for Recipe { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -307,10 +307,10 @@ impl LexiconSchema for Step { } fn lexicon_doc_blue_recipes_feed_recipe() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.recipes.feed.recipe"), @@ -326,18 +326,18 @@ fn lexicon_doc_blue_recipes_feed_recipe() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("amount"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The amount of the ingredient needed.", - )), + description: Some( + CowStr::new_static("The amount of the ingredient needed."), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The name of the ingredient.", - )), + description: Some( + CowStr::new_static("The name of the ingredient."), + ), max_length: Some(3000usize), max_graphemes: Some(300usize), ..Default::default() @@ -354,11 +354,12 @@ fn lexicon_doc_blue_recipes_feed_recipe() -> LexiconDoc<'static> { description: Some(CowStr::new_static("Record containing a recipe.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("steps"), - SmolStr::new_static("ingredients"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), SmolStr::new_static("steps"), + SmolStr::new_static("ingredients") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -371,9 +372,9 @@ fn lexicon_doc_blue_recipes_feed_recipe() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form recipe description text.", - )), + description: Some( + CowStr::new_static("Free-form recipe description text."), + ), max_length: Some(3000usize), max_graphemes: Some(300usize), ..Default::default() @@ -381,9 +382,7 @@ fn lexicon_doc_blue_recipes_feed_recipe() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("ingredients"), @@ -442,9 +441,11 @@ fn lexicon_doc_blue_recipes_feed_recipe() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The instruction to provide to the user.", - )), + description: Some( + CowStr::new_static( + "The instruction to provide to the user.", + ), + ), max_length: Some(5000usize), max_graphemes: Some(500usize), ..Default::default() @@ -463,7 +464,7 @@ fn lexicon_doc_blue_recipes_feed_recipe() -> LexiconDoc<'static> { pub mod recipe_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -680,7 +681,10 @@ where St::Title: recipe_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> RecipeBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> RecipeBuilder, S> { self._fields.7 = Option::Some(value.into()); RecipeBuilder { _state: PhantomData, @@ -725,4 +729,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito.rs b/crates/jacquard-api/src/blue_rito.rs index 212083718..8eb00cea8 100644 --- a/crates/jacquard-api/src/blue_rito.rs +++ b/crates/jacquard-api/src/blue_rito.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `blue.rito` Lexicon namespace/module. pub mod feed; pub mod label; -pub mod service; +pub mod service; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/feed.rs b/crates/jacquard-api/src/blue_rito/feed.rs index 3c5c33240..e87565e1d 100644 --- a/crates/jacquard-api/src/blue_rito/feed.rs +++ b/crates/jacquard-api/src/blue_rito/feed.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue.rito.feed` Lexicon namespace/module. pub mod bookmark; -pub mod like; +pub mod like; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/feed/bookmark.rs b/crates/jacquard-api/src/blue_rito/feed/bookmark.rs index 3ddf7c8be..5bc5ecf80 100644 --- a/crates/jacquard-api/src/blue_rito/feed/bookmark.rs +++ b/crates/jacquard-api/src/blue_rito/feed/bookmark.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_rito::feed::bookmark; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_rito::feed::bookmark; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Locale { ///URI's comment. It can use GitHub Flavored Markdown. #[serde(skip_serializing_if = "Option::is_none")] @@ -229,10 +226,10 @@ impl LexiconSchema for Bookmark { } fn lexicon_doc_blue_rito_feed_bookmark() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.rito.feed.bookmark"), @@ -241,19 +238,20 @@ fn lexicon_doc_blue_rito_feed_bookmark() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("locale"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("lang"), - SmolStr::new_static("title"), - ]), + required: Some( + vec![SmolStr::new_static("lang"), SmolStr::new_static("title")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "URI's comment. It can use GitHub Flavored Markdown.", - )), + description: Some( + CowStr::new_static( + "URI's comment. It can use GitHub Flavored Markdown.", + ), + ), max_length: Some(100000usize), max_graphemes: Some(10000usize), ..Default::default() @@ -383,7 +381,7 @@ fn lexicon_doc_blue_rito_feed_bookmark() -> LexiconDoc<'static> { pub mod bookmark_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -632,4 +630,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/feed/like.rs b/crates/jacquard-api/src/blue_rito/feed/like.rs index 1603b5b35..6c43a1832 100644 --- a/crates/jacquard-api/src/blue_rito/feed/like.rs +++ b/crates/jacquard-api/src/blue_rito/feed/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Records a like. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -104,7 +104,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -252,10 +252,10 @@ where } fn lexicon_doc_blue_rito_feed_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.rito.feed.like"), @@ -267,10 +267,12 @@ fn lexicon_doc_blue_rito_feed_like() -> LexiconDoc<'static> { description: Some(CowStr::new_static("Records a like.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -299,4 +301,4 @@ fn lexicon_doc_blue_rito_feed_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/label.rs b/crates/jacquard-api/src/blue_rito/label.rs index 628b46844..c43c7f840 100644 --- a/crates/jacquard-api/src/blue_rito/label.rs +++ b/crates/jacquard-api/src/blue_rito/label.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.rito.label` Lexicon namespace/module. -pub mod auto; +pub mod auto; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/label/auto.rs b/crates/jacquard-api/src/blue_rito/label/auto.rs index 344a0d47d..2d72df97e 100644 --- a/crates/jacquard-api/src/blue_rito/label/auto.rs +++ b/crates/jacquard-api/src/blue_rito/label/auto.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue.rito.label.auto` Lexicon namespace/module. pub mod like; -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/label/auto/like.rs b/crates/jacquard-api/src/blue_rito/label/auto/like.rs index dc6a8e937..6425c2d1a 100644 --- a/crates/jacquard-api/src/blue_rito/label/auto/like.rs +++ b/crates/jacquard-api/src/blue_rito/label/auto/like.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `blue.rito.label.auto.like` Lexicon namespace/module. pub mod settings; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -29,7 +30,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Setting Like based auto labeling. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +109,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -256,10 +257,10 @@ where } fn lexicon_doc_blue_rito_label_auto_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.rito.label.auto.like"), @@ -312,4 +313,4 @@ fn lexicon_doc_blue_rito_label_auto_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/label/auto/like/settings.rs b/crates/jacquard-api/src/blue_rito/label/auto/like/settings.rs index c00c67e58..e96e3b32f 100644 --- a/crates/jacquard-api/src/blue_rito/label/auto/like/settings.rs +++ b/crates/jacquard-api/src/blue_rito/label/auto/like/settings.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_rito::label::auto::like::settings; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_rito::label::auto::like::settings; /// Setting Like based auto labeling. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -59,11 +59,9 @@ pub struct SettingsGetRecordOutput { pub value: Settings, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PostRef { ///CID of the post pub cid: S, @@ -138,7 +136,7 @@ impl LexiconSchema for PostRef { pub mod settings_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -305,10 +303,10 @@ where } fn lexicon_doc_blue_rito_label_auto_like_settings() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.rito.label.auto.like.settings"), @@ -317,25 +315,29 @@ fn lexicon_doc_blue_rito_label_auto_like_settings() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("Setting Like based auto labeling.")), + description: Some( + CowStr::new_static("Setting Like based auto labeling."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("apply"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("apply"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("apply"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static( - "The post to apply the label to", - )), - refs: vec![CowStr::new_static( - "blue.rito.label.auto.like.settings#postRef", - )], + description: Some( + CowStr::new_static("The post to apply the label to"), + ), + refs: vec![ + CowStr::new_static("blue.rito.label.auto.like.settings#postRef") + ], ..Default::default() }), ); @@ -349,12 +351,12 @@ fn lexicon_doc_blue_rito_label_auto_like_settings() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("delete"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static( - "The post to remove the label from", - )), - refs: vec![CowStr::new_static( - "blue.rito.label.auto.like.settings#postRef", - )], + description: Some( + CowStr::new_static("The post to remove the label from"), + ), + refs: vec![ + CowStr::new_static("blue.rito.label.auto.like.settings#postRef") + ], ..Default::default() }), ); @@ -368,7 +370,9 @@ fn lexicon_doc_blue_rito_label_auto_like_settings() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("postRef"), LexUserType::Object(LexObject { - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -400,7 +404,7 @@ fn lexicon_doc_blue_rito_label_auto_like_settings() -> LexiconDoc<'static> { pub mod post_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -491,7 +495,10 @@ where St::Cid: post_ref_state::IsUnset, { /// Set the `cid` field (required) - pub fn cid(mut self, value: impl Into) -> PostRefBuilder, S> { + pub fn cid( + mut self, + value: impl Into, + ) -> PostRefBuilder, S> { self._fields.0 = Option::Some(value.into()); PostRefBuilder { _state: PhantomData, @@ -542,4 +549,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/label/auto/post.rs b/crates/jacquard-api/src/blue_rito/label/auto/post.rs index 876fd38ce..b974b49c6 100644 --- a/crates/jacquard-api/src/blue_rito/label/auto/post.rs +++ b/crates/jacquard-api/src/blue_rito/label/auto/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Setting Post based auto labeling. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -114,7 +114,7 @@ impl LexiconSchema for Post { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -207,14 +207,7 @@ pub mod post_state { /// Builder for constructing an instance of this type. pub struct PostBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option, - Option, - ), + _fields: (Option, Option, Option, Option, Option, Option), _type: PhantomData S>, } @@ -349,7 +342,10 @@ where St::Label: post_state::IsUnset, { /// Set the `label` field (required) - pub fn label(mut self, value: impl Into) -> PostBuilder, S> { + pub fn label( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.5 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -395,10 +391,10 @@ where } fn lexicon_doc_blue_rito_label_auto_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.rito.label.auto.post"), @@ -488,4 +484,4 @@ fn lexicon_doc_blue_rito_label_auto_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/service.rs b/crates/jacquard-api/src/blue_rito/service.rs index f9244a42f..8ce2fc66c 100644 --- a/crates/jacquard-api/src/blue_rito/service.rs +++ b/crates/jacquard-api/src/blue_rito/service.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue.rito.service` Lexicon namespace/module. pub mod get_schema; -pub mod schema; +pub mod schema; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/service/get_schema.rs b/crates/jacquard-api/src/blue_rito/service/get_schema.rs index ce2c17f89..8366829a2 100644 --- a/crates/jacquard-api/src/blue_rito/service/get_schema.rs +++ b/crates/jacquard-api/src/blue_rito/service/get_schema.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::blue_rito::service::get_schema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::blue_rito::service::get_schema; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Langs { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -41,11 +38,9 @@ pub struct Langs { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSchema { pub nsid: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -55,10 +50,7 @@ pub struct GetSchema { /// Returns the Bookmark data for the given NSID. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSchemaOutput { ///Comments with titles, content, and moderation in multiple languages. pub comments: Vec>, @@ -114,8 +106,9 @@ impl jacquard_common::xrpc::XrpcResp for GetSchemaResponse { impl jacquard_common::xrpc::XrpcRequest for GetSchema { const NSID: &'static str = "blue.rito.service.getSchema"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = GetSchemaResponse; } @@ -125,15 +118,16 @@ Path: `/xrpc/blue.rito.service.getSchema`. The request payload type is `GetSchem pub struct GetSchemaRequest; impl jacquard_common::xrpc::XrpcEndpoint for GetSchemaRequest { const PATH: &'static str = "/xrpc/blue.rito.service.getSchema"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = GetSchema; type Response = GetSchemaResponse; } pub mod langs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -251,7 +245,10 @@ where St::Lang: langs_state::IsUnset, { /// Set the `lang` field (required) - pub fn lang(mut self, value: impl Into) -> LangsBuilder, S> { + pub fn lang( + mut self, + value: impl Into, + ) -> LangsBuilder, S> { self._fields.1 = Option::Some(value.into()); LangsBuilder { _state: PhantomData, @@ -286,7 +283,10 @@ where St::Title: langs_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> LangsBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> LangsBuilder, S> { self._fields.3 = Option::Some(value.into()); LangsBuilder { _state: PhantomData, @@ -326,10 +326,10 @@ where } fn lexicon_doc_blue_rito_service_getSchema() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.rito.service.getSchema"), @@ -338,25 +338,22 @@ fn lexicon_doc_blue_rito_service_getSchema() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("langs"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("lang"), - SmolStr::new_static("title"), - SmolStr::new_static("moderation"), - ]), + required: Some( + vec![ + SmolStr::new_static("lang"), SmolStr::new_static("title"), + SmolStr::new_static("moderation") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("lang"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("moderation"), @@ -369,9 +366,7 @@ fn lexicon_doc_blue_rito_service_getSchema() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("title"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -383,21 +378,23 @@ fn lexicon_doc_blue_rito_service_getSchema() -> LexiconDoc<'static> { LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![SmolStr::new_static("nsid")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("nsid"), - LexObjectProperty::String(LexString { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some(vec![SmolStr::new_static("nsid")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("nsid"), + LexObjectProperty::String(LexString { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -407,4 +404,4 @@ fn lexicon_doc_blue_rito_service_getSchema() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_rito/service/schema.rs b/crates/jacquard-api/src/blue_rito/service/schema.rs index 63dfb7e69..c5df286ea 100644 --- a/crates/jacquard-api/src/blue_rito/service/schema.rs +++ b/crates/jacquard-api/src/blue_rito/service/schema.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// This record defines the schema associated with a specific NSID. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -104,7 +104,7 @@ impl LexiconSchema for Schema { pub mod schema_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -218,10 +218,10 @@ where } fn lexicon_doc_blue_rito_service_schema() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.rito.service.schema"), @@ -264,4 +264,4 @@ fn lexicon_doc_blue_rito_service_schema() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_skytalk.rs b/crates/jacquard-api/src/blue_skytalk.rs index abbf0b3d2..5fddbf3ef 100644 --- a/crates/jacquard-api/src/blue_skytalk.rs +++ b/crates/jacquard-api/src/blue_skytalk.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.skytalk` Lexicon namespace/module. -pub mod talk; +pub mod talk; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_skytalk/talk.rs b/crates/jacquard-api/src/blue_skytalk/talk.rs index a9bc7d299..3a5373d1a 100644 --- a/crates/jacquard-api/src/blue_skytalk/talk.rs +++ b/crates/jacquard-api/src/blue_skytalk/talk.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `blue.skytalk.talk` Lexicon namespace/module. pub mod comment; -pub mod thread; +pub mod thread; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_skytalk/talk/comment.rs b/crates/jacquard-api/src/blue_skytalk/talk/comment.rs index 34565d0d3..ae2988cfe 100644 --- a/crates/jacquard-api/src/blue_skytalk/talk/comment.rs +++ b/crates/jacquard-api/src/blue_skytalk/talk/comment.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A post (response) in a thread #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -146,7 +146,7 @@ impl LexiconSchema for Comment { pub mod comment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -205,12 +205,7 @@ pub mod comment_state { /// Builder for constructing an instance of this type. pub struct CommentBuilder { _state: PhantomData St>, - _fields: ( - Option>>, - Option, - Option, - Option>, - ), + _fields: (Option>>, Option, Option, Option>), _type: PhantomData S>, } @@ -288,7 +283,10 @@ where St::Text: comment_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> CommentBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> CommentBuilder, S> { self._fields.2 = Option::Some(value.into()); CommentBuilder { _state: PhantomData, @@ -347,10 +345,10 @@ where } fn lexicon_doc_blue_skytalk_talk_comment() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.skytalk.talk.comment"), @@ -359,26 +357,30 @@ fn lexicon_doc_blue_skytalk_talk_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A post (response) in a thread")), + description: Some( + CowStr::new_static("A post (response) in a thread"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("threadUri"), - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("threadUri"), + SmolStr::new_static("text"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("blobs"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Optional attached media (image or audio)", - )), - items: LexArrayItem::Blob(LexBlob { - ..Default::default() - }), + description: Some( + CowStr::new_static( + "Optional attached media (image or audio)", + ), + ), + items: LexArrayItem::Blob(LexBlob { ..Default::default() }), max_length: Some(1usize), ..Default::default() }), @@ -386,9 +388,9 @@ fn lexicon_doc_blue_skytalk_talk_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of post creation", - )), + description: Some( + CowStr::new_static("Timestamp of post creation"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -396,9 +398,9 @@ fn lexicon_doc_blue_skytalk_talk_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The content of the post", - )), + description: Some( + CowStr::new_static("The content of the post"), + ), max_length: Some(4000usize), max_graphemes: Some(40000usize), ..Default::default() @@ -407,9 +409,11 @@ fn lexicon_doc_blue_skytalk_talk_comment() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("threadUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT URI of the thread this post belongs to", - )), + description: Some( + CowStr::new_static( + "AT URI of the thread this post belongs to", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -425,4 +429,4 @@ fn lexicon_doc_blue_skytalk_talk_comment() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_skytalk/talk/thread.rs b/crates/jacquard-api/src/blue_skytalk/talk/thread.rs index 15bf0af22..3c30d8f8a 100644 --- a/crates/jacquard-api/src/blue_skytalk/talk/thread.rs +++ b/crates/jacquard-api/src/blue_skytalk/talk/thread.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A thread in a channel #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -171,7 +171,7 @@ impl LexiconSchema for Thread { pub mod thread_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -346,7 +346,10 @@ where St::Title: thread_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ThreadBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ThreadBuilder, S> { self._fields.4 = Option::Some(value.into()); ThreadBuilder { _state: PhantomData, @@ -388,10 +391,10 @@ where } fn lexicon_doc_blue_skytalk_talk_thread() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.skytalk.talk.thread"), @@ -403,23 +406,25 @@ fn lexicon_doc_blue_skytalk_talk_thread() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A thread in a channel")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("channelId"), - SmolStr::new_static("title"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("channelId"), + SmolStr::new_static("title"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("blobs"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Optional attached media (image or audio)", - )), - items: LexArrayItem::Blob(LexBlob { - ..Default::default() - }), + description: Some( + CowStr::new_static( + "Optional attached media (image or audio)", + ), + ), + items: LexArrayItem::Blob(LexBlob { ..Default::default() }), max_length: Some(1usize), ..Default::default() }), @@ -427,18 +432,18 @@ fn lexicon_doc_blue_skytalk_talk_thread() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("channelId"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The channel this thread belongs to", - )), + description: Some( + CowStr::new_static("The channel this thread belongs to"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of thread creation", - )), + description: Some( + CowStr::new_static("Timestamp of thread creation"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -446,9 +451,9 @@ fn lexicon_doc_blue_skytalk_talk_thread() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The text content of the thread", - )), + description: Some( + CowStr::new_static("The text content of the thread"), + ), max_length: Some(4000usize), max_graphemes: Some(40000usize), ..Default::default() @@ -457,9 +462,9 @@ fn lexicon_doc_blue_skytalk_talk_thread() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The title of the thread", - )), + description: Some( + CowStr::new_static("The title of the thread"), + ), max_length: Some(300usize), max_graphemes: Some(3000usize), ..Default::default() @@ -476,4 +481,4 @@ fn lexicon_doc_blue_skytalk_talk_thread() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_zio.rs b/crates/jacquard-api/src/blue_zio.rs index 4dbdaed17..ec68e840b 100644 --- a/crates/jacquard-api/src/blue_zio.rs +++ b/crates/jacquard-api/src/blue_zio.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `blue.zio` Lexicon namespace/module. -pub mod atfile; +pub mod atfile; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_zio/atfile.rs b/crates/jacquard-api/src/blue_zio/atfile.rs index b16cbf224..069560435 100644 --- a/crates/jacquard-api/src/blue_zio/atfile.rs +++ b/crates/jacquard-api/src/blue_zio/atfile.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `blue.zio.atfile` Lexicon namespace/module. pub mod finger; pub mod lock; -pub mod meta; +pub mod meta; \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_zio/atfile/finger.rs b/crates/jacquard-api/src/blue_zio/atfile/finger.rs index eba76d2a1..a2aee04db 100644 --- a/crates/jacquard-api/src/blue_zio/atfile/finger.rs +++ b/crates/jacquard-api/src/blue_zio/atfile/finger.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A fingerprint of a browser upload. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Browser { #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, @@ -39,10 +36,7 @@ pub struct Browser { /// A fingerprint of a machine upload. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Machine { #[serde(skip_serializing_if = "Option::is_none")] pub app: Option, @@ -87,10 +81,10 @@ impl LexiconSchema for Machine { } fn lexicon_doc_blue_zio_atfile_finger() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.zio.atfile.finger"), @@ -99,21 +93,19 @@ fn lexicon_doc_blue_zio_atfile_finger() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("browser"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A fingerprint of a browser upload.")), + description: Some( + CowStr::new_static("A fingerprint of a browser upload."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("userAgent"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -123,33 +115,27 @@ fn lexicon_doc_blue_zio_atfile_finger() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("machine"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A fingerprint of a machine upload.")), + description: Some( + CowStr::new_static("A fingerprint of a machine upload."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("app"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("host"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("os"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -160,4 +146,4 @@ fn lexicon_doc_blue_zio_atfile_finger() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_zio/atfile/lock.rs b/crates/jacquard-api/src/blue_zio/atfile/lock.rs index e51b86d3c..c8c646b07 100644 --- a/crates/jacquard-api/src/blue_zio/atfile/lock.rs +++ b/crates/jacquard-api/src/blue_zio/atfile/lock.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A reference to a locked file. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -104,7 +104,7 @@ impl LexiconSchema for Lock { pub mod lock_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -198,10 +198,10 @@ where } fn lexicon_doc_blue_zio_atfile_lock() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.zio.atfile.lock"), @@ -210,7 +210,9 @@ fn lexicon_doc_blue_zio_atfile_lock() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A reference to a locked file.")), + description: Some( + CowStr::new_static("A reference to a locked file."), + ), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { properties: { @@ -233,4 +235,4 @@ fn lexicon_doc_blue_zio_atfile_lock() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/blue_zio/atfile/meta.rs b/crates/jacquard-api/src/blue_zio/atfile/meta.rs index e2f26a58b..48bfa4166 100644 --- a/crates/jacquard-api/src/blue_zio/atfile/meta.rs +++ b/crates/jacquard-api/src/blue_zio/atfile/meta.rs @@ -7,7 +7,7 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Unknown metadata for an uploaded file. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Unknown { #[serde(skip_serializing_if = "Option::is_none")] pub reason: Option, @@ -50,10 +47,10 @@ impl LexiconSchema for Unknown { } fn lexicon_doc_blue_zio_atfile_meta() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("blue.zio.atfile.meta"), @@ -62,15 +59,15 @@ fn lexicon_doc_blue_zio_atfile_meta() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("unknown"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Unknown metadata for an uploaded file.")), + description: Some( + CowStr::new_static("Unknown metadata for an uploaded file."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("reason"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -81,4 +78,4 @@ fn lexicon_doc_blue_zio_atfile_meta() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/bond_biblio.rs b/crates/jacquard-api/src/bond_biblio.rs index d5f4e53ef..7d08b9516 100644 --- a/crates/jacquard-api/src/bond_biblio.rs +++ b/crates/jacquard-api/src/bond_biblio.rs @@ -10,9 +10,10 @@ pub mod book; pub mod list; pub mod stamp; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,14 +25,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A required book for a reading list, specified by title and authors for fuzzy matching #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BookRequirement { ///Author name(s), tab-separated for multiple pub authors: S, @@ -104,10 +102,10 @@ impl LexiconSchema for BookRequirement { } fn lexicon_doc_bond_biblio_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("bond.biblio.defs"), @@ -159,4 +157,4 @@ fn lexicon_doc_bond_biblio_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/bond_biblio/book.rs b/crates/jacquard-api/src/bond_biblio/book.rs index 0e7b47ef1..a9afc8791 100644 --- a/crates/jacquard-api/src/bond_biblio/book.rs +++ b/crates/jacquard-api/src/bond_biblio/book.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A book in the user's library #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -146,7 +146,7 @@ impl LexiconSchema for Book { pub mod book_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -205,12 +205,7 @@ pub mod book_state { /// Builder for constructing an instance of this type. pub struct BookBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>>, - Option, - ), + _fields: (Option, Option, Option>>, Option), _type: PhantomData S>, } @@ -256,7 +251,10 @@ where St::Authors: book_state::IsUnset, { /// Set the `authors` field (required) - pub fn authors(mut self, value: impl Into) -> BookBuilder, S> { + pub fn authors( + mut self, + value: impl Into, + ) -> BookBuilder, S> { self._fields.0 = Option::Some(value.into()); BookBuilder { _state: PhantomData, @@ -304,7 +302,10 @@ where St::Title: book_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> BookBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> BookBuilder, S> { self._fields.3 = Option::Some(value.into()); BookBuilder { _state: PhantomData, @@ -344,10 +345,10 @@ where } fn lexicon_doc_bond_biblio_book() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("bond.biblio.book"), @@ -428,4 +429,4 @@ fn lexicon_doc_bond_biblio_book() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/bond_biblio/list.rs b/crates/jacquard-api/src/bond_biblio/list.rs index 9fa4ed16f..962c95963 100644 --- a/crates/jacquard-api/src/bond_biblio/list.rs +++ b/crates/jacquard-api/src/bond_biblio/list.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::bond_biblio::BookRequirement; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::bond_biblio::BookRequirement; /// A reading list curated by a librarian #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -162,7 +162,7 @@ impl LexiconSchema for List { pub mod list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -397,7 +397,10 @@ where St::Title: list_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ListBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ListBuilder, S> { self._fields.5 = Option::Some(value.into()); ListBuilder { _state: PhantomData, @@ -443,10 +446,10 @@ where } fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("bond.biblio.list"), @@ -455,25 +458,31 @@ fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A reading list curated by a librarian")), + description: Some( + CowStr::new_static("A reading list curated by a librarian"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("librarians"), - SmolStr::new_static("books"), - SmolStr::new_static("duedate"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), + SmolStr::new_static("librarians"), + SmolStr::new_static("books"), + SmolStr::new_static("duedate"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("books"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Required books for this reading challenge", - )), + description: Some( + CowStr::new_static( + "Required books for this reading challenge", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static( "bond.biblio.defs#bookRequirement", @@ -486,9 +495,9 @@ fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When this list was created", - )), + description: Some( + CowStr::new_static("When this list was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -496,9 +505,9 @@ fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Description of the reading challenge", - )), + description: Some( + CowStr::new_static("Description of the reading challenge"), + ), max_length: Some(2000usize), max_graphemes: Some(1000usize), ..Default::default() @@ -507,9 +516,11 @@ fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("duedate"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Deadline for completing the reading challenge", - )), + description: Some( + CowStr::new_static( + "Deadline for completing the reading challenge", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -517,9 +528,11 @@ fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("librarians"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "DIDs of users who can issue stamps for this list", - )), + description: Some( + CowStr::new_static( + "DIDs of users who can issue stamps for this list", + ), + ), items: LexArrayItem::String(LexString { format: Some(LexStringFormat::Did), ..Default::default() @@ -530,9 +543,9 @@ fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name for the reading list", - )), + description: Some( + CowStr::new_static("Display name for the reading list"), + ), max_length: Some(200usize), max_graphemes: Some(100usize), ..Default::default() @@ -549,4 +562,4 @@ fn lexicon_doc_bond_biblio_list() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/bond_biblio/stamp.rs b/crates/jacquard-api/src/bond_biblio/stamp.rs index 170607a1b..c42dd80ee 100644 --- a/crates/jacquard-api/src/bond_biblio/stamp.rs +++ b/crates/jacquard-api/src/bond_biblio/stamp.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A completion attestation issued by a librarian #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +108,7 @@ impl LexiconSchema for Stamp { pub mod stamp_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -213,7 +213,10 @@ where St::Book: stamp_state::IsUnset, { /// Set the `book` field (required) - pub fn book(mut self, value: impl Into>) -> StampBuilder, S> { + pub fn book( + mut self, + value: impl Into>, + ) -> StampBuilder, S> { self._fields.0 = Option::Some(value.into()); StampBuilder { _state: PhantomData, @@ -248,7 +251,10 @@ where St::List: stamp_state::IsUnset, { /// Set the `list` field (required) - pub fn list(mut self, value: impl Into>) -> StampBuilder, S> { + pub fn list( + mut self, + value: impl Into>, + ) -> StampBuilder, S> { self._fields.2 = Option::Some(value.into()); StampBuilder { _state: PhantomData, @@ -286,10 +292,10 @@ where } fn lexicon_doc_bond_biblio_stamp() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("bond.biblio.stamp"), @@ -359,4 +365,4 @@ fn lexicon_doc_bond_biblio_stamp() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/builder_types.rs b/crates/jacquard-api/src/builder_types.rs index dea82dc8a..cd45c2e46 100644 --- a/crates/jacquard-api/src/builder_types.rs +++ b/crates/jacquard-api/src/builder_types.rs @@ -42,4 +42,4 @@ mod private { pub trait Sealed {} impl Sealed for super::Set {} impl Sealed for super::Unset {} -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive.rs b/crates/jacquard-api/src/buzz_bookhive.rs index 91753b9f1..674718874 100644 --- a/crates/jacquard-api/src/buzz_bookhive.rs +++ b/crates/jacquard-api/src/buzz_bookhive.rs @@ -15,12 +15,13 @@ pub mod hive_book; pub mod list_genres; pub mod search_books; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -31,11 +32,11 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::buzz_bookhive; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::buzz_bookhive; /// User has abandoned the book #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -46,11 +47,9 @@ impl core::fmt::Display for Abandoned { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Activity { pub created_at: Datetime, ///The hive id of the book @@ -66,6 +65,7 @@ pub struct Activity { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ActivityType { Review, @@ -154,10 +154,7 @@ where /// External identifiers for a book #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BookIdentifiers { ///Goodreads book ID #[serde(skip_serializing_if = "Option::is_none")] @@ -178,10 +175,7 @@ pub struct BookIdentifiers { /// Reading progress tracking data #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BookProgress { ///Current chapter the user is on #[serde(skip_serializing_if = "Option::is_none")] @@ -204,11 +198,9 @@ pub struct BookProgress { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Comment { pub book: StrongRef, ///The content of the comment. @@ -244,11 +236,9 @@ impl core::fmt::Display for Owned { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Profile { #[serde(skip_serializing_if = "Option::is_none")] pub avatar: Option, @@ -275,11 +265,9 @@ impl core::fmt::Display for Reading { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Review { ///The date the review was created pub created_at: Datetime, @@ -296,11 +284,9 @@ pub struct Review { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UserBook { ///The authors of the book (tab separated) pub authors: S, @@ -346,6 +332,7 @@ pub struct UserBook { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UserBookStatus { Finished, @@ -752,7 +739,7 @@ impl LexiconSchema for UserBook { pub mod activity_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1063,10 +1050,10 @@ where } fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("buzz.bookhive.defs"), @@ -1074,21 +1061,20 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("abandoned"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("activity"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("type"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("hiveId"), - SmolStr::new_static("title"), - SmolStr::new_static("userDid"), - SmolStr::new_static("userHandle"), - ]), + required: Some( + vec![ + SmolStr::new_static("type"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("hiveId"), SmolStr::new_static("title"), + SmolStr::new_static("userDid"), + SmolStr::new_static("userHandle") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1102,38 +1088,42 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("hiveId"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The hive id of the book")), + description: Some( + CowStr::new_static("The hive id of the book"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The title of the book")), + description: Some( + CowStr::new_static("The title of the book"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("type"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("userDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the user who added the book", - )), + description: Some( + CowStr::new_static("The DID of the user who added the book"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("userHandle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The handle of the user who added the book", - )), + description: Some( + CowStr::new_static( + "The handle of the user who added the book", + ), + ), ..Default::default() }), ); @@ -1145,7 +1135,9 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bookIdentifiers"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("External identifiers for a book")), + description: Some( + CowStr::new_static("External identifiers for a book"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1159,7 +1151,9 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("hiveId"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("BookHive's internal ID")), + description: Some( + CowStr::new_static("BookHive's internal ID"), + ), ..Default::default() }), ); @@ -1185,7 +1179,9 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bookProgress"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Reading progress tracking data")), + description: Some( + CowStr::new_static("Reading progress tracking data"), + ), required: Some(vec![SmolStr::new_static("updatedAt")]), properties: { #[allow(unused_mut)] @@ -1229,9 +1225,9 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the progress was last updated", - )), + description: Some( + CowStr::new_static("When the progress was last updated"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1321,33 +1317,29 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("finished"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("owned"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("profile"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("displayName"), - SmolStr::new_static("handle"), - SmolStr::new_static("booksRead"), - SmolStr::new_static("reviews"), - ]), + required: Some( + vec![ + SmolStr::new_static("displayName"), + SmolStr::new_static("handle"), + SmolStr::new_static("booksRead"), + SmolStr::new_static("reviews") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("booksRead"), @@ -1358,21 +1350,15 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("description"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("displayName"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("handle"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("isFollowing"), @@ -1394,28 +1380,27 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("reading"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("review"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("review"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - ]), + required: Some( + vec![ + SmolStr::new_static("review"), + SmolStr::new_static("createdAt"), SmolStr::new_static("did"), + SmolStr::new_static("handle") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The date the review was created", - )), + description: Some( + CowStr::new_static("The date the review was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1423,18 +1408,22 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the user who made the review", - )), + description: Some( + CowStr::new_static( + "The DID of the user who made the review", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("handle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The handle of the user who made the review", - )), + description: Some( + CowStr::new_static( + "The handle of the user who made the review", + ), + ), ..Default::default() }), ); @@ -1629,9 +1618,7 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("wantToRead"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map }, @@ -1641,7 +1628,7 @@ fn lexicon_doc_buzz_bookhive_defs() -> LexiconDoc<'static> { pub mod book_progress_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1823,7 +1810,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BookProgress { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BookProgress { BookProgress { current_chapter: self._fields.0, current_page: self._fields.1, @@ -1838,7 +1828,7 @@ where pub mod comment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2061,7 +2051,10 @@ where St::Did: comment_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into) -> CommentBuilder, S> { + pub fn did( + mut self, + value: impl Into, + ) -> CommentBuilder, S> { self._fields.3 = Option::Some(value.into()); CommentBuilder { _state: PhantomData, @@ -2147,7 +2140,7 @@ where pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2423,7 +2416,7 @@ where pub mod review_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2498,13 +2491,7 @@ pub mod review_state { /// Builder for constructing an instance of this type. pub struct ReviewBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option, - ), + _fields: (Option, Option, Option, Option, Option), _type: PhantomData S>, } @@ -2569,7 +2556,10 @@ where St::Did: review_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into) -> ReviewBuilder, S> { + pub fn did( + mut self, + value: impl Into, + ) -> ReviewBuilder, S> { self._fields.1 = Option::Some(value.into()); ReviewBuilder { _state: PhantomData, @@ -2585,7 +2575,10 @@ where St::Handle: review_state::IsUnset, { /// Set the `handle` field (required) - pub fn handle(mut self, value: impl Into) -> ReviewBuilder, S> { + pub fn handle( + mut self, + value: impl Into, + ) -> ReviewBuilder, S> { self._fields.2 = Option::Some(value.into()); ReviewBuilder { _state: PhantomData, @@ -2601,7 +2594,10 @@ where St::Review: review_state::IsUnset, { /// Set the `review` field (required) - pub fn review(mut self, value: impl Into) -> ReviewBuilder, S> { + pub fn review( + mut self, + value: impl Into, + ) -> ReviewBuilder, S> { self._fields.3 = Option::Some(value.into()); ReviewBuilder { _state: PhantomData, @@ -2658,7 +2654,7 @@ where pub mod user_book_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2812,8 +2808,22 @@ impl UserBookBuilder { UserBookBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2826,8 +2836,22 @@ impl UserBookBuilder { UserBookBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2863,7 +2887,10 @@ impl UserBookBuilder { self } /// Set the `bookProgress` field to an Option value (optional) - pub fn maybe_book_progress(mut self, value: Option>) -> Self { + pub fn maybe_book_progress( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -3135,4 +3162,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/book.rs b/crates/jacquard-api/src/buzz_bookhive/book.rs index e38466bf1..87342ba88 100644 --- a/crates/jacquard-api/src/buzz_bookhive/book.rs +++ b/crates/jacquard-api/src/buzz_bookhive/book.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::buzz_bookhive::BookProgress; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::buzz_bookhive::BookProgress; /// A book in the user's library #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -70,6 +70,7 @@ pub struct Book { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum BookStatus { Finished, @@ -252,20 +253,25 @@ impl LexiconSchema for Book { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("cover"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -329,7 +335,7 @@ impl LexiconSchema for Book { pub mod book_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -439,9 +445,7 @@ impl BookBuilder { pub fn new() -> Self { BookBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -452,9 +456,7 @@ impl BookBuilder { pub fn builder() -> Self { BookBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -466,7 +468,10 @@ where St::Authors: book_state::IsUnset, { /// Set the `authors` field (required) - pub fn authors(mut self, value: impl Into) -> BookBuilder, S> { + pub fn authors( + mut self, + value: impl Into, + ) -> BookBuilder, S> { self._fields.0 = Option::Some(value.into()); BookBuilder { _state: PhantomData, @@ -540,7 +545,10 @@ where St::HiveId: book_state::IsUnset, { /// Set the `hiveId` field (required) - pub fn hive_id(mut self, value: impl Into) -> BookBuilder, S> { + pub fn hive_id( + mut self, + value: impl Into, + ) -> BookBuilder, S> { self._fields.5 = Option::Some(value.into()); BookBuilder { _state: PhantomData, @@ -608,7 +616,10 @@ where St::Title: book_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> BookBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> BookBuilder, S> { self._fields.10 = Option::Some(value.into()); BookBuilder { _state: PhantomData, @@ -663,10 +674,10 @@ where } fn lexicon_doc_buzz_bookhive_book() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("buzz.bookhive.book"), @@ -803,4 +814,4 @@ fn lexicon_doc_buzz_bookhive_book() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/buzz.rs b/crates/jacquard-api/src/buzz_bookhive/buzz.rs index e028a5a2e..026dcb252 100644 --- a/crates/jacquard-api/src/buzz_bookhive/buzz.rs +++ b/crates/jacquard-api/src/buzz_bookhive/buzz.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Record containing a Bookhive comment. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -133,7 +133,7 @@ impl LexiconSchema for Buzz { pub mod buzz_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -208,12 +208,7 @@ pub mod buzz_state { /// Builder for constructing an instance of this type. pub struct BuzzBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option>, - ), + _fields: (Option>, Option, Option, Option>), _type: PhantomData S>, } @@ -278,7 +273,10 @@ where St::Comment: buzz_state::IsUnset, { /// Set the `comment` field (required) - pub fn comment(mut self, value: impl Into) -> BuzzBuilder, S> { + pub fn comment( + mut self, + value: impl Into, + ) -> BuzzBuilder, S> { self._fields.1 = Option::Some(value.into()); BuzzBuilder { _state: PhantomData, @@ -357,10 +355,10 @@ where } fn lexicon_doc_buzz_bookhive_buzz() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("buzz.bookhive.buzz"), @@ -432,4 +430,4 @@ fn lexicon_doc_buzz_bookhive_buzz() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/get_book.rs b/crates/jacquard-api/src/buzz_bookhive/get_book.rs index d46bf9346..19f770c58 100644 --- a/crates/jacquard-api/src/buzz_bookhive/get_book.rs +++ b/crates/jacquard-api/src/buzz_bookhive/get_book.rs @@ -8,26 +8,23 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::buzz_bookhive::Activity; -use crate::buzz_bookhive::BookProgress; -use crate::buzz_bookhive::Comment; -use crate::buzz_bookhive::Review; -use crate::buzz_bookhive::hive_book::HiveBook; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::string::Datetime; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::buzz_bookhive::Activity; +use crate::buzz_bookhive::BookProgress; +use crate::buzz_bookhive::Comment; +use crate::buzz_bookhive::Review; +use crate::buzz_bookhive::hive_book::HiveBook; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBook { #[serde(skip_serializing_if = "Option::is_none")] pub goodreads_id: Option, @@ -39,11 +36,9 @@ pub struct GetBook { pub isbn13: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBookOutput { ///Other users' activity on the book #[serde(skip_serializing_if = "Option::is_none")] @@ -80,6 +75,7 @@ pub struct GetBookOutput { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum GetBookOutputStatus { Finished, @@ -199,7 +195,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBookRequest { pub mod get_book_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -324,4 +320,4 @@ where isbn13: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/get_book_identifiers.rs b/crates/jacquard-api/src/buzz_bookhive/get_book_identifiers.rs index a3992d74b..7e23f23c4 100644 --- a/crates/jacquard-api/src/buzz_bookhive/get_book_identifiers.rs +++ b/crates/jacquard-api/src/buzz_bookhive/get_book_identifiers.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::buzz_bookhive::BookIdentifiers; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::buzz_bookhive::BookIdentifiers; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBookIdentifiers { #[serde(skip_serializing_if = "Option::is_none")] pub goodreads_id: Option, @@ -33,11 +30,9 @@ pub struct GetBookIdentifiers { pub isbn13: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBookIdentifiersOutput { pub book_identifiers: BookIdentifiers, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBookIdentifiersRequest { pub mod get_book_identifiers_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -92,8 +87,10 @@ pub mod get_book_identifiers_state { } /// Builder for constructing an instance of this type. -pub struct GetBookIdentifiersBuilder -{ +pub struct GetBookIdentifiersBuilder< + St: get_book_identifiers_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option, Option), _type: PhantomData S>, @@ -101,7 +98,10 @@ pub struct GetBookIdentifiersBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetBookIdentifiersBuilder { + pub fn new() -> GetBookIdentifiersBuilder< + get_book_identifiers_state::Empty, + DefaultStr, + > { GetBookIdentifiersBuilder::new() } } @@ -200,4 +200,4 @@ where isbn13: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/get_profile.rs b/crates/jacquard-api/src/buzz_bookhive/get_profile.rs index 5915650f4..23388ba30 100644 --- a/crates/jacquard-api/src/buzz_bookhive/get_profile.rs +++ b/crates/jacquard-api/src/buzz_bookhive/get_profile.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::buzz_bookhive::Activity; -use crate::buzz_bookhive::Profile; -use crate::buzz_bookhive::UserBook; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::buzz_bookhive::Activity; +use crate::buzz_bookhive::Profile; +use crate::buzz_bookhive::UserBook; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfile { #[serde(skip_serializing_if = "Option::is_none")] pub did: Option, @@ -31,11 +28,9 @@ pub struct GetProfile { pub handle: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfileOutput { ///The user's activity pub activity: Vec>, @@ -79,7 +74,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest { pub mod get_profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -176,4 +171,4 @@ where handle: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/hive_book.rs b/crates/jacquard-api/src/buzz_bookhive/hive_book.rs index 365e6e50e..9a3636524 100644 --- a/crates/jacquard-api/src/buzz_bookhive/hive_book.rs +++ b/crates/jacquard-api/src/buzz_bookhive/hive_book.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::buzz_bookhive::BookIdentifiers; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::buzz_bookhive::BookIdentifiers; /// A book within the hive #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -209,7 +209,7 @@ impl LexiconSchema for HiveBook { pub mod hive_book_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -361,7 +361,20 @@ impl HiveBookBuilder { HiveBookBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -374,7 +387,20 @@ impl HiveBookBuilder { HiveBookBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -451,7 +477,10 @@ where St::Id: hive_book_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> HiveBookBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> HiveBookBuilder, S> { self._fields.4 = Option::Some(value.into()); HiveBookBuilder { _state: PhantomData, @@ -649,10 +678,10 @@ where } fn lexicon_doc_buzz_bookhive_hiveBook() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("buzz.bookhive.hiveBook"), @@ -816,4 +845,4 @@ fn lexicon_doc_buzz_bookhive_hiveBook() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/list_genres.rs b/crates/jacquard-api/src/buzz_bookhive/list_genres.rs index 95da592e9..3bed023b1 100644 --- a/crates/jacquard-api/src/buzz_bookhive/list_genres.rs +++ b/crates/jacquard-api/src/buzz_bookhive/list_genres.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::buzz_bookhive::list_genres; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::buzz_bookhive::list_genres; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GenreWithCount { ///Number of books in this genre pub count: i64, @@ -39,6 +36,7 @@ pub struct GenreWithCount { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct ListGenres { @@ -54,11 +52,9 @@ pub struct ListGenres { pub offset: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListGenresOutput { pub genres: Vec>, ///Next offset for pagination @@ -113,7 +109,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListGenresRequest { pub mod genre_with_count_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -156,7 +152,10 @@ pub mod genre_with_count_state { } /// Builder for constructing an instance of this type. -pub struct GenreWithCountBuilder { +pub struct GenreWithCountBuilder< + St: genre_with_count_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -251,7 +250,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GenreWithCount { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GenreWithCount { GenreWithCount { count: self._fields.0.unwrap(), genre: self._fields.1.unwrap(), @@ -261,10 +263,10 @@ where } fn lexicon_doc_buzz_bookhive_listGenres() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("buzz.bookhive.listGenres"), @@ -273,10 +275,9 @@ fn lexicon_doc_buzz_bookhive_listGenres() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("genreWithCount"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("genre"), - SmolStr::new_static("count"), - ]), + required: Some( + vec![SmolStr::new_static("genre"), SmolStr::new_static("count")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -301,32 +302,34 @@ fn lexicon_doc_buzz_bookhive_listGenres() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("minBooks"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("offset"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("minBooks"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("offset"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -346,7 +349,7 @@ fn _default_min_books() -> Option { pub mod list_genres_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -447,4 +450,4 @@ where offset: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/buzz_bookhive/search_books.rs b/crates/jacquard-api/src/buzz_bookhive/search_books.rs index b4498bf71..bfd7c2560 100644 --- a/crates/jacquard-api/src/buzz_bookhive/search_books.rs +++ b/crates/jacquard-api/src/buzz_bookhive/search_books.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::buzz_bookhive::hive_book::HiveBook; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::buzz_bookhive::hive_book::HiveBook; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchBooks { #[serde(skip_serializing_if = "Option::is_none")] pub genre: Option, @@ -37,11 +34,9 @@ pub struct SearchBooks { pub q: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchBooksOutput { pub books: Vec>, ///The next offset to use for pagination (result of limit + offset) @@ -85,7 +80,7 @@ fn _default_limit() -> Option { pub mod search_books_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -224,4 +219,4 @@ where q: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ca_jmaingot.rs b/crates/jacquard-api/src/ca_jmaingot.rs index ca2b6268a..0c548b649 100644 --- a/crates/jacquard-api/src/ca_jmaingot.rs +++ b/crates/jacquard-api/src/ca_jmaingot.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `ca.jmaingot` Lexicon namespace/module. -pub mod board_game_play; +pub mod board_game_play; \ No newline at end of file diff --git a/crates/jacquard-api/src/ca_jmaingot/board_game_play.rs b/crates/jacquard-api/src/ca_jmaingot/board_game_play.rs index 351b5a113..e0490c8ac 100644 --- a/crates/jacquard-api/src/ca_jmaingot/board_game_play.rs +++ b/crates/jacquard-api/src/ca_jmaingot/board_game_play.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A single board game play #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for BoardGamePlay { pub mod board_game_play_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -164,7 +164,10 @@ pub mod board_game_play_state { } /// Builder for constructing an instance of this type. -pub struct BoardGamePlayBuilder { +pub struct BoardGamePlayBuilder< + St: board_game_play_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -280,7 +283,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BoardGamePlay { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BoardGamePlay { BoardGamePlay { bgg_id: self._fields.0.unwrap(), name: self._fields.1.unwrap(), @@ -291,10 +297,10 @@ where } fn lexicon_doc_ca_jmaingot_boardGamePlay() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ca.jmaingot.boardGamePlay"), @@ -353,4 +359,4 @@ fn lexicon_doc_ca_jmaingot_boardGamePlay() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/cat_vt3e.rs b/crates/jacquard-api/src/cat_vt3e.rs index d0307b114..c91ef5225 100644 --- a/crates/jacquard-api/src/cat_vt3e.rs +++ b/crates/jacquard-api/src/cat_vt3e.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `cat.vt3e` Lexicon namespace/module. -pub mod gallery; +pub mod gallery; \ No newline at end of file diff --git a/crates/jacquard-api/src/cat_vt3e/gallery.rs b/crates/jacquard-api/src/cat_vt3e/gallery.rs index adcae8feb..cc7dfc3d4 100644 --- a/crates/jacquard-api/src/cat_vt3e/gallery.rs +++ b/crates/jacquard-api/src/cat_vt3e/gallery.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `cat.vt3e.gallery` Lexicon namespace/module. pub mod group; pub mod group_item; -pub mod image; +pub mod image; \ No newline at end of file diff --git a/crates/jacquard-api/src/cat_vt3e/gallery/group.rs b/crates/jacquard-api/src/cat_vt3e/gallery/group.rs index 1dad3b80d..3439caceb 100644 --- a/crates/jacquard-api/src/cat_vt3e/gallery/group.rs +++ b/crates/jacquard-api/src/cat_vt3e/gallery/group.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// defines a group of images in the gallery #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -127,7 +127,7 @@ impl LexiconSchema for Group { pub mod group_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -271,10 +271,10 @@ where } fn lexicon_doc_cat_vt3e_gallery_group() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("cat.vt3e.gallery.group"), @@ -283,9 +283,9 @@ fn lexicon_doc_cat_vt3e_gallery_group() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "defines a group of images in the gallery", - )), + description: Some( + CowStr::new_static("defines a group of images in the gallery"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("createdAt")]), @@ -324,4 +324,4 @@ fn lexicon_doc_cat_vt3e_gallery_group() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/cat_vt3e/gallery/group_item.rs b/crates/jacquard-api/src/cat_vt3e/gallery/group_item.rs index 253ff3846..68eb5baa5 100644 --- a/crates/jacquard-api/src/cat_vt3e/gallery/group_item.rs +++ b/crates/jacquard-api/src/cat_vt3e/gallery/group_item.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// defines an item in a gallery group #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -109,7 +109,7 @@ impl LexiconSchema for GroupItem { pub mod group_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,12 +168,7 @@ pub mod group_item_state { /// Builder for constructing an instance of this type. pub struct GroupItemBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -301,7 +296,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GroupItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GroupItem { GroupItem { added_at: self._fields.0.unwrap(), group: self._fields.1.unwrap(), @@ -313,10 +311,10 @@ where } fn lexicon_doc_cat_vt3e_gallery_groupItem() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("cat.vt3e.gallery.groupItem"), @@ -325,14 +323,17 @@ fn lexicon_doc_cat_vt3e_gallery_groupItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("defines an item in a gallery group")), + description: Some( + CowStr::new_static("defines an item in a gallery group"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("group"), - SmolStr::new_static("image"), - SmolStr::new_static("addedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("group"), SmolStr::new_static("image"), + SmolStr::new_static("addedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -346,9 +347,11 @@ fn lexicon_doc_cat_vt3e_gallery_groupItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("group"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "uri of the group that the image belongs to", - )), + description: Some( + CowStr::new_static( + "uri of the group that the image belongs to", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -356,9 +359,11 @@ fn lexicon_doc_cat_vt3e_gallery_groupItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("image"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "uri of the image that this item represents", - )), + description: Some( + CowStr::new_static( + "uri of the image that this item represents", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -380,4 +385,4 @@ fn lexicon_doc_cat_vt3e_gallery_groupItem() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/cat_vt3e/gallery/image.rs b/crates/jacquard-api/src/cat_vt3e/gallery/image.rs index 7e96b8d30..0640b04f5 100644 --- a/crates/jacquard-api/src/cat_vt3e/gallery/image.rs +++ b/crates/jacquard-api/src/cat_vt3e/gallery/image.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// defines an image in the gallery #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -158,16 +158,19 @@ impl LexiconSchema for Image { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -193,7 +196,7 @@ impl LexiconSchema for Image { pub mod image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -275,7 +278,18 @@ impl ImageBuilder { ImageBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -288,7 +302,18 @@ impl ImageBuilder { ImageBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -508,10 +533,10 @@ where } fn lexicon_doc_cat_vt3e_gallery_image() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("cat.vt3e.gallery.image"), @@ -624,4 +649,4 @@ fn lexicon_doc_cat_vt3e_gallery_image() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi.rs b/crates/jacquard-api/src/ch_indiemusi.rs index 9f1088043..04e863ec7 100644 --- a/crates/jacquard-api/src/ch_indiemusi.rs +++ b/crates/jacquard-api/src/ch_indiemusi.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `ch.indiemusi` Lexicon namespace/module. pub mod alpha; -pub mod social; +pub mod social; \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha.rs b/crates/jacquard-api/src/ch_indiemusi/alpha.rs index f937481b4..a33f64327 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha.rs @@ -9,4 +9,4 @@ pub mod grant; pub mod recording; pub mod release; pub mod song; -pub mod track; +pub mod track; \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/actor.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/actor.rs index 9e41ba1d3..a6eabad3b 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/actor.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/actor.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `ch.indiemusi.alpha.actor` Lexicon namespace/module. pub mod artist; pub mod master_owner; -pub mod publishing_owner; +pub mod publishing_owner; \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/actor/artist.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/actor/artist.rs index c4a8870a8..2faf35db8 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/actor/artist.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/actor/artist.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// An artist or band who performs music #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -114,7 +114,7 @@ impl LexiconSchema for Artist { pub mod artist_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -208,10 +208,10 @@ where } fn lexicon_doc_ch_indiemusi_alpha_actor_artist() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.actor.artist"), @@ -220,7 +220,9 @@ fn lexicon_doc_ch_indiemusi_alpha_actor_artist() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("An artist or band who performs music")), + description: Some( + CowStr::new_static("An artist or band who performs music"), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { properties: { @@ -244,4 +246,4 @@ fn lexicon_doc_ch_indiemusi_alpha_actor_artist() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/actor/master_owner.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/actor/master_owner.rs index 8b120ac1f..8e11d4693 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/actor/master_owner.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/actor/master_owner.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The entity (person or company) that owns the master recording rights #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -114,7 +114,7 @@ impl LexiconSchema for MasterOwner { pub mod master_owner_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -219,7 +219,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MasterOwner { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MasterOwner { MasterOwner { name: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -228,10 +231,10 @@ where } fn lexicon_doc_ch_indiemusi_alpha_actor_masterOwner() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.actor.masterOwner"), @@ -240,9 +243,11 @@ fn lexicon_doc_ch_indiemusi_alpha_actor_masterOwner() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "The entity (person or company) that owns the master recording rights", - )), + description: Some( + CowStr::new_static( + "The entity (person or company) that owns the master recording rights", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("name")]), @@ -267,4 +272,4 @@ fn lexicon_doc_ch_indiemusi_alpha_actor_masterOwner() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/actor/publishing_owner.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/actor/publishing_owner.rs index 0a0ed0d85..5fd80de72 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/actor/publishing_owner.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/actor/publishing_owner.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A songwriter, composer, or music publisher who owns the publishing rights to a song or musical work #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -163,7 +163,7 @@ impl LexiconSchema for PublishingOwner { pub mod publishing_owner_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -181,7 +181,10 @@ pub mod publishing_owner_state { } /// Builder for constructing an instance of this type. -pub struct PublishingOwnerBuilder { +pub struct PublishingOwnerBuilder< + St: publishing_owner_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option, Option, Option), _type: PhantomData S>, @@ -304,7 +307,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PublishingOwner { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PublishingOwner { PublishingOwner { collecting_society: self._fields.0, company_name: self._fields.1, @@ -317,10 +323,10 @@ where } fn lexicon_doc_ch_indiemusi_alpha_actor_publishingOwner() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.actor.publishingOwner"), @@ -390,4 +396,4 @@ fn lexicon_doc_ch_indiemusi_alpha_actor_publishingOwner() -> LexiconDoc<'static> }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/grant.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/grant.rs index 281494122..a03020fc4 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/grant.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/grant.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A cryptographic grant allowing a streaming service to decrypt the artist's music catalog. This record contains the master content key encrypted with the service's public key. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -164,7 +164,7 @@ fn _default_grant_wrapping_algorithm() -> ::core::option::Opti pub mod grant_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -381,7 +381,10 @@ where service_did: self._fields.2.unwrap(), wrapped_master_key: self._fields.3.unwrap(), wrapped_master_key_iv: self._fields.4, - wrapping_algorithm: self._fields.5.or_else(|| Some(S::from_static("RSA-OAEP"))), + wrapping_algorithm: self + ._fields + .5 + .or_else(|| Some(S::from_static("RSA-OAEP"))), extra_data: Default::default(), } } @@ -393,17 +396,20 @@ where service_did: self._fields.2.unwrap(), wrapped_master_key: self._fields.3.unwrap(), wrapped_master_key_iv: self._fields.4, - wrapping_algorithm: self._fields.5.or_else(|| Some(S::from_static("RSA-OAEP"))), + wrapping_algorithm: self + ._fields + .5 + .or_else(|| Some(S::from_static("RSA-OAEP"))), extra_data: Some(extra_data), } } } fn lexicon_doc_ch_indiemusi_alpha_grant() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.grant"), @@ -511,4 +517,4 @@ fn lexicon_doc_ch_indiemusi_alpha_grant() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/recording.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/recording.rs index 526b04b39..9c47564e3 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/recording.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/recording.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -25,20 +25,17 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::ch_indiemusi::alpha::actor::artist; -use crate::ch_indiemusi::alpha::actor::master_owner::MasterOwner; -use crate::ch_indiemusi::alpha::recording; -use crate::ch_indiemusi::alpha::song::Song; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::ch_indiemusi::alpha::actor::master_owner::MasterOwner; +use crate::ch_indiemusi::alpha::song::Song; +use crate::ch_indiemusi::alpha::actor::artist; +use crate::ch_indiemusi::alpha::recording; /// Information about an artist contributing to the recording #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Artist { #[serde(skip_serializing_if = "Option::is_none")] pub artist: Option>, @@ -91,10 +88,7 @@ pub struct RecordingGetRecordOutput { /// Information about the master owner #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MasterOwnerInfo { #[serde(skip_serializing_if = "Option::is_none")] pub did: Option>, @@ -238,10 +232,10 @@ impl LexiconSchema for MasterOwnerInfo { } fn lexicon_doc_ch_indiemusi_alpha_recording() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.recording"), @@ -250,9 +244,11 @@ fn lexicon_doc_ch_indiemusi_alpha_recording() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Information about an artist contributing to the recording", - )), + description: Some( + CowStr::new_static( + "Information about an artist contributing to the recording", + ), + ), required: Some(vec![SmolStr::new_static("name")]), properties: { #[allow(unused_mut)] @@ -260,7 +256,9 @@ fn lexicon_doc_ch_indiemusi_alpha_recording() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("ch.indiemusi.alpha.actor.artist"), + r#ref: CowStr::new_static( + "ch.indiemusi.alpha.actor.artist", + ), ..Default::default() }), ); @@ -365,7 +363,9 @@ fn lexicon_doc_ch_indiemusi_alpha_recording() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("masterOwnerInfo"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Information about the master owner")), + description: Some( + CowStr::new_static("Information about the master owner"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -379,7 +379,9 @@ fn lexicon_doc_ch_indiemusi_alpha_recording() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("masterOwner"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("ch.indiemusi.alpha.actor.masterOwner"), + r#ref: CowStr::new_static( + "ch.indiemusi.alpha.actor.masterOwner", + ), ..Default::default() }), ); @@ -403,7 +405,7 @@ fn lexicon_doc_ch_indiemusi_alpha_recording() -> LexiconDoc<'static> { pub mod recording_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -556,12 +558,18 @@ impl RecordingBuilder { impl RecordingBuilder { /// Set the `masterOwner` field (optional) - pub fn master_owner(mut self, value: impl Into>>) -> Self { + pub fn master_owner( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } /// Set the `masterOwner` field to an Option value (optional) - pub fn maybe_master_owner(mut self, value: Option>) -> Self { + pub fn maybe_master_owner( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -619,7 +627,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Recording { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Recording { Recording { artists: self._fields.0.unwrap(), audio_file: self._fields.1, @@ -631,4 +642,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/release.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/release.rs index 4a9427f37..41e29de9c 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/release.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/release.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -25,19 +25,16 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::ch_indiemusi::alpha::actor::artist; -use crate::ch_indiemusi::alpha::recording::Recording; -use crate::ch_indiemusi::alpha::release; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::ch_indiemusi::alpha::recording::Recording; +use crate::ch_indiemusi::alpha::actor::artist; +use crate::ch_indiemusi::alpha::release; /// Information about an artist contributing to the release #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Artist { #[serde(skip_serializing_if = "Option::is_none")] pub artist: Option>, @@ -202,10 +199,10 @@ impl LexiconSchema for Release { } fn lexicon_doc_ch_indiemusi_alpha_release() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.release"), @@ -214,9 +211,11 @@ fn lexicon_doc_ch_indiemusi_alpha_release() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Information about an artist contributing to the release", - )), + description: Some( + CowStr::new_static( + "Information about an artist contributing to the release", + ), + ), required: Some(vec![SmolStr::new_static("name")]), properties: { #[allow(unused_mut)] @@ -224,7 +223,9 @@ fn lexicon_doc_ch_indiemusi_alpha_release() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("artist"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("ch.indiemusi.alpha.actor.artist"), + r#ref: CowStr::new_static( + "ch.indiemusi.alpha.actor.artist", + ), ..Default::default() }), ); @@ -339,7 +340,7 @@ fn lexicon_doc_ch_indiemusi_alpha_release() -> LexiconDoc<'static> { pub mod release_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -528,7 +529,10 @@ where St::Title: release_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ReleaseBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ReleaseBuilder, S> { self._fields.5 = Option::Some(value.into()); ReleaseBuilder { _state: PhantomData, @@ -569,4 +573,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/song.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/song.rs index 618c4d8ae..eb0535a16 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/song.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/song.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::ch_indiemusi::alpha::actor::publishing_owner::PublishingOwner; -use crate::ch_indiemusi::alpha::song; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::ch_indiemusi::alpha::actor::publishing_owner::PublishingOwner; +use crate::ch_indiemusi::alpha::song; /// An interested party associated with the song (author, composer, publisher) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct InterestedParty { #[serde(skip_serializing_if = "Option::is_none")] pub collecting_society: Option, @@ -227,10 +224,10 @@ impl LexiconSchema for Song { } fn lexicon_doc_ch_indiemusi_alpha_song() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.song"), @@ -382,7 +379,7 @@ fn lexicon_doc_ch_indiemusi_alpha_song() -> LexiconDoc<'static> { pub mod song_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -505,7 +502,10 @@ where St::Title: song_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> SongBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> SongBuilder, S> { self._fields.2 = Option::Some(value.into()); SongBuilder { _state: PhantomData, @@ -539,4 +539,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/alpha/track.rs b/crates/jacquard-api/src/ch_indiemusi/alpha/track.rs index 58e763783..34ced95c7 100644 --- a/crates/jacquard-api/src/ch_indiemusi/alpha/track.rs +++ b/crates/jacquard-api/src/ch_indiemusi/alpha/track.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// An encrypted audio track. The audio blob is encrypted with AES-GCM-256, and the decryption key is wrapped and stored in grant records. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -114,23 +114,25 @@ impl LexiconSchema for Track { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["audio/wav", "audio/mpeg", "audio/flac"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("audio_blob"), accepted: vec![ - "audio/wav".to_string(), - "audio/mpeg".to_string(), - "audio/flac".to_string(), + "audio/wav".to_string(), "audio/mpeg".to_string(), + "audio/flac".to_string() ], actual: mime.to_string(), }); @@ -179,7 +181,7 @@ fn _default_track_encryption_algorithm() -> ::core::option::Op pub mod track_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -254,13 +256,7 @@ pub mod track_state { /// Builder for constructing an instance of this type. pub struct TrackBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option, - Option, - ), + _fields: (Option>, Option, Option, Option, Option), _type: PhantomData S>, } @@ -376,7 +372,10 @@ where St::Title: track_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> TrackBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> TrackBuilder, S> { self._fields.4 = Option::Some(value.into()); TrackBuilder { _state: PhantomData, @@ -425,10 +424,10 @@ where } fn lexicon_doc_ch_indiemusi_alpha_track() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.alpha.track"), @@ -512,4 +511,4 @@ fn lexicon_doc_ch_indiemusi_alpha_track() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/social.rs b/crates/jacquard-api/src/ch_indiemusi/social.rs index a8cfe86e3..aeb6dc187 100644 --- a/crates/jacquard-api/src/ch_indiemusi/social.rs +++ b/crates/jacquard-api/src/ch_indiemusi/social.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `ch.indiemusi.social` Lexicon namespace/module. pub mod join; -pub mod song; +pub mod song; \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/social/join.rs b/crates/jacquard-api/src/ch_indiemusi/social/join.rs index d4724b3ec..975b3ee4d 100644 --- a/crates/jacquard-api/src/ch_indiemusi/social/join.rs +++ b/crates/jacquard-api/src/ch_indiemusi/social/join.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Sign that you want to join a social listing experience of a specific song #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -104,7 +104,7 @@ impl LexiconSchema for Join { pub mod join_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -183,7 +183,10 @@ where St::Song: join_state::IsUnset, { /// Set the `song` field (required) - pub fn song(mut self, value: impl Into>) -> JoinBuilder, S> { + pub fn song( + mut self, + value: impl Into>, + ) -> JoinBuilder, S> { self._fields.0 = Option::Some(value.into()); JoinBuilder { _state: PhantomData, @@ -215,10 +218,10 @@ where } fn lexicon_doc_ch_indiemusi_social_join() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.social.join"), @@ -261,4 +264,4 @@ fn lexicon_doc_ch_indiemusi_social_join() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/ch_indiemusi/social/song.rs b/crates/jacquard-api/src/ch_indiemusi/social/song.rs index 5251041c8..00bdda98e 100644 --- a/crates/jacquard-api/src/ch_indiemusi/social/song.rs +++ b/crates/jacquard-api/src/ch_indiemusi/social/song.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A social song, that needs a groups of listeners to be fully enjoyed. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -151,7 +151,7 @@ impl LexiconSchema for Song { pub mod song_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -261,7 +261,10 @@ where St::Name: song_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> SongBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> SongBuilder, S> { self._fields.1 = Option::Some(value.into()); SongBuilder { _state: PhantomData, @@ -296,10 +299,10 @@ where } fn lexicon_doc_ch_indiemusi_social_song() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("ch.indiemusi.social.song"), @@ -308,15 +311,19 @@ fn lexicon_doc_ch_indiemusi_social_song() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A social song, that needs a groups of listeners to be fully enjoyed.", - )), + description: Some( + CowStr::new_static( + "A social song, that needs a groups of listeners to be fully enjoyed.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("joinersNeeded"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("joinersNeeded") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -348,4 +355,4 @@ fn lexicon_doc_ch_indiemusi_social_song() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky.rs b/crates/jacquard-api/src/chat_bsky.rs index 8f51e763e..480fb8447 100644 --- a/crates/jacquard-api/src/chat_bsky.rs +++ b/crates/jacquard-api/src/chat_bsky.rs @@ -9,4 +9,4 @@ pub mod auth_full_chat_client; pub mod convo; pub mod embed; pub mod group; -pub mod moderation; +pub mod moderation; \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/actor.rs b/crates/jacquard-api/src/chat_bsky/actor.rs index 4ae3c44ee..c5dfba82c 100644 --- a/crates/jacquard-api/src/chat_bsky/actor.rs +++ b/crates/jacquard-api/src/chat_bsky/actor.rs @@ -11,37 +11,35 @@ pub mod delete_account; pub mod export_account_data; pub mod get_status; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Handle, UriValue}; +use jacquard_common::types::string::{Did, Handle, Datetime, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileAssociated; use crate::app_bsky::actor::VerificationState; use crate::app_bsky::actor::ViewerState; -use crate::chat_bsky::actor; use crate::com_atproto::label::Label; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::chat_bsky::actor; /// [NOTE: This is under active development and should be considered unstable while this note is here]. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DirectConvoMember { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -50,10 +48,7 @@ pub struct DirectConvoMember { /// [NOTE: This is under active development and should be considered unstable while this note is here]. A current group convo member. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GroupConvoMember { ///Who added this member. Only present if the member was added (instead of joining via link). #[serde(skip_serializing_if = "Option::is_none")] @@ -64,6 +59,7 @@ pub struct GroupConvoMember { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum MemberRole { Owner, @@ -138,20 +134,15 @@ where /// [NOTE: This is under active development and should be considered unstable while this note is here]. A past group convo member. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PastGroupConvoMember { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileViewBasic { #[serde(skip_serializing_if = "Option::is_none")] pub associated: Option>, @@ -179,6 +170,7 @@ pub struct ProfileViewBasic { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -274,10 +266,10 @@ impl LexiconSchema for ProfileViewBasic { } fn lexicon_doc_chat_bsky_actor_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.actor.defs"), @@ -332,9 +324,7 @@ fn lexicon_doc_chat_bsky_actor_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("memberRole"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("pastGroupConvoMember"), @@ -470,7 +460,7 @@ fn lexicon_doc_chat_bsky_actor_defs() -> LexiconDoc<'static> { pub mod group_convo_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -501,18 +491,21 @@ pub mod group_convo_member_state { } /// Builder for constructing an instance of this type. -pub struct GroupConvoMemberBuilder { +pub struct GroupConvoMemberBuilder< + St: group_convo_member_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - ), + _fields: (Option>, Option>), _type: PhantomData S>, } impl GroupConvoMember { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GroupConvoMemberBuilder { + pub fn new() -> GroupConvoMemberBuilder< + group_convo_member_state::Empty, + DefaultStr, + > { GroupConvoMemberBuilder::new() } } @@ -548,7 +541,10 @@ impl GroupConvoMemberBuilder { impl GroupConvoMemberBuilder { /// Set the `addedBy` field (optional) - pub fn added_by(mut self, value: impl Into>>) -> Self { + pub fn added_by( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -592,7 +588,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GroupConvoMember { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GroupConvoMember { GroupConvoMember { added_by: self._fields.0, role: self._fields.1.unwrap(), @@ -603,7 +602,7 @@ where pub mod profile_view_basic_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -646,7 +645,10 @@ pub mod profile_view_basic_state { } /// Builder for constructing an instance of this type. -pub struct ProfileViewBasicBuilder { +pub struct ProfileViewBasicBuilder< + St: profile_view_basic_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -666,7 +668,10 @@ pub struct ProfileViewBasicBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ProfileViewBasicBuilder { + pub fn new() -> ProfileViewBasicBuilder< + profile_view_basic_state::Empty, + DefaultStr, + > { ProfileViewBasicBuilder::new() } } @@ -683,9 +688,7 @@ impl ProfileViewBasicBuilder { pub fn new() -> Self { ProfileViewBasicBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -696,9 +699,7 @@ impl ProfileViewBasicBuilder { pub fn builder() -> Self { ProfileViewBasicBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -835,7 +836,10 @@ impl ProfileViewBasicBuilder ProfileViewBasicBuilder { /// Set the `verification` field (optional) - pub fn verification(mut self, value: impl Into>>) -> Self { + pub fn verification( + mut self, + value: impl Into>>, + ) -> Self { self._fields.9 = value.into(); self } @@ -883,7 +887,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileViewBasic { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ProfileViewBasic { ProfileViewBasic { associated: self._fields.0, avatar: self._fields.1, @@ -899,4 +906,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/actor/declaration.rs b/crates/jacquard-api/src/chat_bsky/actor/declaration.rs index 3394a459c..7460e0a21 100644 --- a/crates/jacquard-api/src/chat_bsky/actor/declaration.rs +++ b/crates/jacquard-api/src/chat_bsky/actor/declaration.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a Bluesky chat account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -96,7 +96,8 @@ impl Serialize for DeclarationAllowGroupInvites { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for DeclarationAllowGroupInvites { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for DeclarationAllowGroupInvites { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -122,7 +123,9 @@ where match self { DeclarationAllowGroupInvites::All => DeclarationAllowGroupInvites::All, DeclarationAllowGroupInvites::None => DeclarationAllowGroupInvites::None, - DeclarationAllowGroupInvites::Following => DeclarationAllowGroupInvites::Following, + DeclarationAllowGroupInvites::Following => { + DeclarationAllowGroupInvites::Following + } DeclarationAllowGroupInvites::Other(v) => { DeclarationAllowGroupInvites::Other(v.into_static()) } @@ -130,6 +133,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum DeclarationAllowIncoming { All, @@ -179,7 +183,8 @@ impl Serialize for DeclarationAllowIncoming { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for DeclarationAllowIncoming { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for DeclarationAllowIncoming { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -206,7 +211,9 @@ where DeclarationAllowIncoming::All => DeclarationAllowIncoming::All, DeclarationAllowIncoming::None => DeclarationAllowIncoming::None, DeclarationAllowIncoming::Following => DeclarationAllowIncoming::Following, - DeclarationAllowIncoming::Other(v) => DeclarationAllowIncoming::Other(v.into_static()), + DeclarationAllowIncoming::Other(v) => { + DeclarationAllowIncoming::Other(v.into_static()) + } } } } @@ -272,7 +279,7 @@ impl LexiconSchema for Declaration { pub mod declaration_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -400,7 +407,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Declaration { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Declaration { Declaration { allow_group_invites: self._fields.0, allow_incoming: self._fields.1.unwrap(), @@ -410,10 +420,10 @@ where } fn lexicon_doc_chat_bsky_actor_declaration() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.actor.declaration"), @@ -459,4 +469,4 @@ fn lexicon_doc_chat_bsky_actor_declaration() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/actor/delete_account.rs b/crates/jacquard-api/src/chat_bsky/actor/delete_account.rs index ddffc37ca..0b236844f 100644 --- a/crates/jacquard-api/src/chat_bsky/actor/delete_account.rs +++ b/crates/jacquard-api/src/chat_bsky/actor/delete_account.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteAccountOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -45,8 +42,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteAccountResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteAccount { const NSID: &'static str = "chat.bsky.actor.deleteAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteAccountResponse; } @@ -56,8 +54,9 @@ Path: `/xrpc/chat.bsky.actor.deleteAccount`. The request payload type is `Delete pub struct DeleteAccountRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteAccountRequest { const PATH: &'static str = "/xrpc/chat.bsky.actor.deleteAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteAccount; type Response = DeleteAccountResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/actor/export_account_data.rs b/crates/jacquard-api/src/chat_bsky/actor/export_account_data.rs index 9045f6581..0c952e42a 100644 --- a/crates/jacquard-api/src/chat_bsky/actor/export_account_data.rs +++ b/crates/jacquard-api/src/chat_bsky/actor/export_account_data.rs @@ -10,12 +10,12 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -74,4 +74,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ExportAccountDataRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = ExportAccountData; type Response = ExportAccountDataResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/actor/get_status.rs b/crates/jacquard-api/src/chat_bsky/actor/get_status.rs index 11a5fd211..e61997af2 100644 --- a/crates/jacquard-api/src/chat_bsky/actor/get_status.rs +++ b/crates/jacquard-api/src/chat_bsky/actor/get_status.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStatusOutput { ///Whether the viewer's account is allowed to create group chats. New accounts are restricted from creating groups. pub can_create_groups: bool, @@ -64,4 +61,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStatusRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetStatus; type Response = GetStatusResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/auth_full_chat_client.rs b/crates/jacquard-api/src/chat_bsky/auth_full_chat_client.rs index 5f8dacb36..d7e8fa8ee 100644 --- a/crates/jacquard-api/src/chat_bsky/auth_full_chat_client.rs +++ b/crates/jacquard-api/src/chat_bsky/auth_full_chat_client.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo.rs b/crates/jacquard-api/src/chat_bsky/convo.rs index 76deae4cc..7ad842ea8 100644 --- a/crates/jacquard-api/src/chat_bsky/convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo.rs @@ -28,34 +28,35 @@ pub mod unmute_convo; pub mod update_all_read; pub mod update_read; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::embed::record; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::record::Record; use crate::app_bsky::richtext::facet::Facet; use crate::chat_bsky::actor::MemberRole; use crate::chat_bsky::actor::ProfileViewBasic; -use crate::chat_bsky::convo; -use crate::chat_bsky::embed::join_link; use crate::chat_bsky::embed::join_link::JoinLink; use crate::chat_bsky::group::JoinLinkView; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::app_bsky::embed::record; +use crate::chat_bsky::convo; +use crate::chat_bsky::embed::join_link; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ConvoKind { @@ -128,6 +129,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ConvoLockStatus { Unlocked, @@ -203,11 +205,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConvoRef { pub convo_id: S, pub did: Did, @@ -215,6 +215,7 @@ pub struct ConvoRef { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ConvoStatus { Request, @@ -286,11 +287,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConvoView { pub id: S, ///Union field that has data specific to different kinds of convos. @@ -312,6 +311,7 @@ pub struct ConvoView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -322,6 +322,7 @@ pub enum ConvoViewKind { GroupConvo(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -334,11 +335,9 @@ pub enum ConvoViewLastMessage { SystemMessageView(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeletedMessageView { pub id: S, pub rev: S, @@ -351,10 +350,7 @@ pub struct DeletedMessageView { /// [NOTE: This is under active development and should be considered unstable while this note is here]. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DirectConvo { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -363,10 +359,7 @@ pub struct DirectConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GroupConvo { pub created_at: Datetime, #[serde(skip_serializing_if = "Option::is_none")] @@ -392,10 +385,7 @@ pub struct GroupConvo { /// Event indicating the viewer accepted a convo, and it can be moved out of the request inbox. Can be direct or group. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogAcceptConvo { pub convo_id: S, pub rev: S, @@ -406,10 +396,7 @@ pub struct LogAcceptConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member was added to a group convo. The member who was added gets a logBeginConvo (to create the convo) but also a logAddMember (to show the system message as the first message the user sees). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogAddMember { pub convo_id: S, ///A system message with data of type #systemMessageDataAddMember @@ -424,10 +411,7 @@ pub struct LogAddMember { /// Event indicating a reaction was added to a message. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogAddReaction { pub convo_id: S, pub message: LogAddReactionMessage, @@ -440,6 +424,7 @@ pub struct LogAddReaction { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -453,10 +438,7 @@ pub enum LogAddReactionMessage { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was approved by the viewer. Only the owner gets this. The approved member gets a logBeginConvo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogApproveJoinRequest { pub convo_id: S, ///Prospective member who requested to join. @@ -469,10 +451,7 @@ pub struct LogApproveJoinRequest { /// Event indicating a convo containing the viewer was started. Can be direct or group. When a member is added to a group convo, they also get this event. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogBeginConvo { pub convo_id: S, pub rev: S, @@ -483,10 +462,7 @@ pub struct LogBeginConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join link was created for a group convo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogCreateJoinLink { pub convo_id: S, ///A system message with data of type #systemMessageDataCreateJoinLink @@ -499,10 +475,7 @@ pub struct LogCreateJoinLink { /// Event indicating a user-originated message was created. Is not emitted for system messages. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogCreateMessage { pub convo_id: S, pub message: LogCreateMessageMessage, @@ -514,6 +487,7 @@ pub struct LogCreateMessage { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -527,10 +501,7 @@ pub enum LogCreateMessageMessage { /// Event indicating a user-originated message was deleted. Is not emitted for system messages. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogDeleteMessage { pub convo_id: S, pub message: LogDeleteMessageMessage, @@ -539,6 +510,7 @@ pub struct LogDeleteMessage { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -552,10 +524,7 @@ pub enum LogDeleteMessageMessage { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join link was disabled for a group convo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogDisableJoinLink { pub convo_id: S, ///A system message with data of type #systemMessageDataDisableJoinLink @@ -568,10 +537,7 @@ pub struct LogDisableJoinLink { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating info about group convo was edited. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogEditGroup { pub convo_id: S, ///A system message with data of type #systemMessageDataEditGroup @@ -584,10 +550,7 @@ pub struct LogEditGroup { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a settings about a join link for a group convo were edited. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogEditJoinLink { pub convo_id: S, ///A system message with data of type #systemMessageDataEditJoinLink @@ -600,10 +563,7 @@ pub struct LogEditJoinLink { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join link was enabled for a group convo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogEnableJoinLink { pub convo_id: S, ///A system message with data of type #systemMessageDataEnableJoinLink @@ -616,10 +576,7 @@ pub struct LogEnableJoinLink { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was made to a group the viewer owns. Only the owner gets this. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogIncomingJoinRequest { pub convo_id: S, ///Prospective member who requested to join. @@ -632,10 +589,7 @@ pub struct LogIncomingJoinRequest { /// Event indicating the viewer left a convo. Can be direct or group. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogLeaveConvo { pub convo_id: S, pub rev: S, @@ -646,10 +600,7 @@ pub struct LogLeaveConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a group convo was locked. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogLockConvo { pub convo_id: S, ///A system message with data of type #systemMessageDataLockConvo @@ -664,10 +615,7 @@ pub struct LogLockConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a group convo was locked permanently. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogLockConvoPermanently { pub convo_id: S, ///A system message with data of type #systemMessageDataLockConvoPermanently @@ -682,10 +630,7 @@ pub struct LogLockConvoPermanently { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member joined a group convo via join link. The member who was added gets a logBeginConvo (to create the convo) but also a logMemberJoin (to show the system message as the first message the user sees). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogMemberJoin { pub convo_id: S, ///A system message with data of type #systemMessageDataMemberJoin @@ -700,10 +645,7 @@ pub struct LogMemberJoin { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member voluntarily left a group convo. The member who was removed gets a logLeaveConvo (to leave the convo) but not a logMemberLeave (because they already left, so can't see the system message). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogMemberLeave { pub convo_id: S, ///A system message with data of type #systemMessageDataMemberLeave @@ -718,10 +660,7 @@ pub struct LogMemberLeave { /// Event indicating the viewer muted a convo. Can be direct or group. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogMuteConvo { pub convo_id: S, pub rev: S, @@ -732,10 +671,7 @@ pub struct LogMuteConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was made by the requester. Only requester actor gets this. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogOutgoingJoinRequest { pub convo_id: S, pub rev: S, @@ -746,10 +682,7 @@ pub struct LogOutgoingJoinRequest { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a convo was read up to a certain message. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogReadConvo { pub convo_id: S, pub message: LogReadConvoMessage, @@ -758,6 +691,7 @@ pub struct LogReadConvo { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -773,10 +707,7 @@ pub enum LogReadConvoMessage { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating the group owner marked join requests as read. Only the owner gets this. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogReadJoinRequests { pub convo_id: S, pub rev: S, @@ -787,10 +718,7 @@ pub struct LogReadJoinRequests { /// DEPRECATED: use logReadConvo instead. Event indicating a convo was read up to a certain message. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogReadMessage { pub convo_id: S, pub message: LogReadMessageMessage, @@ -799,6 +727,7 @@ pub struct LogReadMessage { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -814,10 +743,7 @@ pub enum LogReadMessageMessage { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was rejected by the viewer. Only the owner gets this. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogRejectJoinRequest { pub convo_id: S, ///Prospective member who requested to join. @@ -830,10 +756,7 @@ pub struct LogRejectJoinRequest { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member was removed from a group convo. The member who was removed gets a logLeaveConvo (to leave the convo) but not a logRemoveMember (because they already left, so can't see the system message). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogRemoveMember { pub convo_id: S, ///A system message with data of type #systemMessageDataRemoveMember @@ -848,10 +771,7 @@ pub struct LogRemoveMember { /// Event indicating a reaction was removed from a message. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogRemoveReaction { pub convo_id: S, pub message: LogRemoveReactionMessage, @@ -864,6 +784,7 @@ pub struct LogRemoveReaction { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -877,10 +798,7 @@ pub enum LogRemoveReactionMessage { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a group convo was unlocked. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogUnlockConvo { pub convo_id: S, ///A system message with data of type #systemMessageDataUnlockConvo @@ -895,10 +813,7 @@ pub struct LogUnlockConvo { /// Event indicating the viewer unmuted a convo. Can be direct or group. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogUnmuteConvo { pub convo_id: S, pub rev: S, @@ -909,10 +824,7 @@ pub struct LogUnmuteConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a prospective member withdrew their join request. Only the owner gets this. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogWithdrawIncomingJoinRequest { pub convo_id: S, ///Prospective member who withdrew their join request. @@ -925,10 +837,7 @@ pub struct LogWithdrawIncomingJoinRequest { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating the viewer withdrew their own join request. Only requester actor gets this. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LogWithdrawOutgoingJoinRequest { pub convo_id: S, pub rev: S, @@ -936,11 +845,9 @@ pub struct LogWithdrawOutgoingJoinRequest { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MessageAndReactionView { pub message: convo::MessageView, pub reaction: convo::ReactionView, @@ -948,11 +855,9 @@ pub struct MessageAndReactionView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MessageInput { #[serde(skip_serializing_if = "Option::is_none")] pub embed: Option>, @@ -964,6 +869,7 @@ pub struct MessageInput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -974,11 +880,9 @@ pub enum MessageInputEmbed { JoinLink(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MessageRef { pub convo_id: S, pub did: Did, @@ -987,11 +891,9 @@ pub struct MessageRef { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MessageView { #[serde(skip_serializing_if = "Option::is_none")] pub embed: Option>, @@ -1010,6 +912,7 @@ pub struct MessageView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1020,22 +923,18 @@ pub enum MessageViewEmbed { JoinLinkView(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MessageViewSender { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReactionView { pub created_at: Datetime, pub sender: convo::ReactionViewSender, @@ -1044,11 +943,9 @@ pub struct ReactionView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReactionViewSender { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -1058,10 +955,7 @@ pub struct ReactionViewSender { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user was added to the group convo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataAddMember { pub added_by: convo::SystemMessageReferredUser, ///Current view of the member who was added. @@ -1075,10 +969,7 @@ pub struct SystemMessageDataAddMember { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was created. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataCreateJoinLink { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -1087,10 +978,7 @@ pub struct SystemMessageDataCreateJoinLink { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was disabled. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataDisableJoinLink { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -1099,10 +987,7 @@ pub struct SystemMessageDataDisableJoinLink { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group info was edited. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataEditGroup { ///Group name that replaced the old. #[serde(skip_serializing_if = "Option::is_none")] @@ -1117,10 +1002,7 @@ pub struct SystemMessageDataEditGroup { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was edited. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataEditJoinLink { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -1129,10 +1011,7 @@ pub struct SystemMessageDataEditJoinLink { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was enabled. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataEnableJoinLink { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -1141,10 +1020,7 @@ pub struct SystemMessageDataEnableJoinLink { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group convo was locked. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataLockConvo { ///Current view of the member who locked the group. pub locked_by: convo::SystemMessageReferredUser, @@ -1155,10 +1031,7 @@ pub struct SystemMessageDataLockConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group convo was locked permanently. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataLockConvoPermanently { ///Current view of the member who locked the group. pub locked_by: convo::SystemMessageReferredUser, @@ -1169,10 +1042,7 @@ pub struct SystemMessageDataLockConvoPermanently { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user joined the group convo via join link. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataMemberJoin { ///If join link was configured to require approval, this will be set to who approved the request. Undefined if approval was not required. #[serde(skip_serializing_if = "Option::is_none")] @@ -1188,10 +1058,7 @@ pub struct SystemMessageDataMemberJoin { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user voluntarily left the group convo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataMemberLeave { ///Current view of the member who left the group. pub member: convo::SystemMessageReferredUser, @@ -1202,10 +1069,7 @@ pub struct SystemMessageDataMemberLeave { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user was removed from the group convo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataRemoveMember { ///Current view of the member who was removed. pub member: convo::SystemMessageReferredUser, @@ -1217,10 +1081,7 @@ pub struct SystemMessageDataRemoveMember { /// [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group convo was unlocked. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageDataUnlockConvo { ///Current view of the member who unlocked the group. pub unlocked_by: convo::SystemMessageReferredUser, @@ -1228,11 +1089,9 @@ pub struct SystemMessageDataUnlockConvo { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageReferredUser { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -1242,10 +1101,7 @@ pub struct SystemMessageReferredUser { /// [NOTE: This is under active development and should be considered unstable while this note is here]. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SystemMessageView { pub data: SystemMessageViewData, pub id: S, @@ -1255,6 +1111,7 @@ pub struct SystemMessageView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1272,7 +1129,9 @@ pub enum SystemMessageViewData { #[serde(rename = "chat.bsky.convo.defs#systemMessageDataUnlockConvo")] SystemMessageDataUnlockConvo(Box>), #[serde(rename = "chat.bsky.convo.defs#systemMessageDataLockConvoPermanently")] - SystemMessageDataLockConvoPermanently(Box>), + SystemMessageDataLockConvoPermanently( + Box>, + ), #[serde(rename = "chat.bsky.convo.defs#systemMessageDataEditGroup")] SystemMessageDataEditGroup(Box>), #[serde(rename = "chat.bsky.convo.defs#systemMessageDataCreateJoinLink")] @@ -2199,7 +2058,7 @@ impl LexiconSchema for SystemMessageView { pub mod convo_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2347,10 +2206,10 @@ where } fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.convo.defs"), @@ -2358,31 +2217,24 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoKind"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("convoLockStatus"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("convoRef"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("convoId"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("convoId")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("did"), @@ -2398,9 +2250,7 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("convoStatus"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("convoView"), @@ -2500,26 +2350,22 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("deletedMessageView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("rev"), - SmolStr::new_static("sender"), - SmolStr::new_static("sentAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("rev"), + SmolStr::new_static("sender"), SmolStr::new_static("sentAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("id"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("rev"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("sender"), @@ -3178,27 +3024,24 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("logLeaveConvo"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Event indicating the viewer left a convo. Can be direct or group.", - )), - required: Some(vec![ - SmolStr::new_static("rev"), - SmolStr::new_static("convoId"), - ]), + description: Some( + CowStr::new_static( + "Event indicating the viewer left a convo. Can be direct or group.", + ), + ), + required: Some( + vec![SmolStr::new_static("rev"), SmolStr::new_static("convoId")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("rev"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3428,27 +3271,24 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("logMuteConvo"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Event indicating the viewer muted a convo. Can be direct or group.", - )), - required: Some(vec![ - SmolStr::new_static("rev"), - SmolStr::new_static("convoId"), - ]), + description: Some( + CowStr::new_static( + "Event indicating the viewer muted a convo. Can be direct or group.", + ), + ), + required: Some( + vec![SmolStr::new_static("rev"), SmolStr::new_static("convoId")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("rev"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3808,27 +3648,24 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("logUnmuteConvo"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Event indicating the viewer unmuted a convo. Can be direct or group.", - )), - required: Some(vec![ - SmolStr::new_static("rev"), - SmolStr::new_static("convoId"), - ]), + description: Some( + CowStr::new_static( + "Event indicating the viewer unmuted a convo. Can be direct or group.", + ), + ), + required: Some( + vec![SmolStr::new_static("rev"), SmolStr::new_static("convoId")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("rev"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3904,10 +3741,12 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("messageAndReactionView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("message"), - SmolStr::new_static("reaction"), - ]), + required: Some( + vec![ + SmolStr::new_static("message"), + SmolStr::new_static("reaction") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3942,7 +3781,7 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { LexObjectProperty::Union(LexRefUnion { refs: vec![ CowStr::new_static("app.bsky.embed.record"), - CowStr::new_static("chat.bsky.embed.joinLink"), + CowStr::new_static("chat.bsky.embed.joinLink") ], ..Default::default() }), @@ -3950,9 +3789,11 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Annotations of text (mentions, URLs, hashtags, etc)", - )), + description: Some( + CowStr::new_static( + "Annotations of text (mentions, URLs, hashtags, etc)", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.bsky.richtext.facet"), ..Default::default() @@ -3976,19 +3817,18 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("messageRef"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("messageId"), - SmolStr::new_static("convoId"), - ]), + required: Some( + vec![ + SmolStr::new_static("did"), SmolStr::new_static("messageId"), + SmolStr::new_static("convoId") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("did"), @@ -3999,9 +3839,7 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("messageId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -4118,11 +3956,12 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reactionView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("value"), - SmolStr::new_static("sender"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("value"), SmolStr::new_static("sender"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4142,9 +3981,7 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("value"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -4571,7 +4408,7 @@ fn lexicon_doc_chat_bsky_convo_defs() -> LexiconDoc<'static> { pub mod convo_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4720,7 +4557,10 @@ where St::Id: convo_view_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> ConvoViewBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> ConvoViewBuilder, S> { self._fields.0 = Option::Some(value.into()); ConvoViewBuilder { _state: PhantomData, @@ -4745,7 +4585,10 @@ impl ConvoViewBuilder { impl ConvoViewBuilder { /// Set the `lastMessage` field (optional) - pub fn last_message(mut self, value: impl Into>>) -> Self { + pub fn last_message( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -4766,7 +4609,10 @@ impl ConvoViewBuilder { self } /// Set the `lastReaction` field to an Option value (optional) - pub fn maybe_last_reaction(mut self, value: Option>) -> Self { + pub fn maybe_last_reaction( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -4816,7 +4662,10 @@ where St::Rev: convo_view_state::IsUnset, { /// Set the `rev` field (required) - pub fn rev(mut self, value: impl Into) -> ConvoViewBuilder, S> { + pub fn rev( + mut self, + value: impl Into, + ) -> ConvoViewBuilder, S> { self._fields.6 = Option::Some(value.into()); ConvoViewBuilder { _state: PhantomData, @@ -4883,7 +4732,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ConvoView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ConvoView { ConvoView { id: self._fields.0.unwrap(), kind: self._fields.1, @@ -4901,7 +4753,7 @@ where pub mod deleted_message_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4974,8 +4826,10 @@ pub mod deleted_message_view_state { } /// Builder for constructing an instance of this type. -pub struct DeletedMessageViewBuilder -{ +pub struct DeletedMessageViewBuilder< + St: deleted_message_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -4988,7 +4842,10 @@ pub struct DeletedMessageViewBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DeletedMessageViewBuilder { + pub fn new() -> DeletedMessageViewBuilder< + deleted_message_view_state::Empty, + DefaultStr, + > { DeletedMessageViewBuilder::new() } } @@ -5117,7 +4974,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeletedMessageView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeletedMessageView { DeletedMessageView { id: self._fields.0.unwrap(), rev: self._fields.1.unwrap(), @@ -5130,7 +4990,7 @@ where pub mod group_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5430,7 +5290,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GroupConvo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GroupConvo { GroupConvo { created_at: self._fields.0.unwrap(), join_link: self._fields.1, @@ -5447,7 +5310,7 @@ where pub mod log_add_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5662,7 +5525,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogAddMember { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogAddMember { LogAddMember { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -5675,7 +5541,7 @@ where pub mod log_add_reaction_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5748,7 +5614,10 @@ pub mod log_add_reaction_state { } /// Builder for constructing an instance of this type. -pub struct LogAddReactionBuilder { +pub struct LogAddReactionBuilder< + St: log_add_reaction_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -5855,12 +5724,18 @@ where impl LogAddReactionBuilder { /// Set the `relatedProfiles` field (optional) - pub fn related_profiles(mut self, value: impl Into>>>) -> Self { + pub fn related_profiles( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `relatedProfiles` field to an Option value (optional) - pub fn maybe_related_profiles(mut self, value: Option>>) -> Self { + pub fn maybe_related_profiles( + mut self, + value: Option>>, + ) -> Self { self._fields.3 = value; self } @@ -5905,7 +5780,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogAddReaction { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogAddReaction { LogAddReaction { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -5919,7 +5797,7 @@ where pub mod log_approve_join_request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5987,15 +5865,20 @@ pub struct LogApproveJoinRequestBuilder< impl LogApproveJoinRequest { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogApproveJoinRequestBuilder - { + pub fn new() -> LogApproveJoinRequestBuilder< + log_approve_join_request_state::Empty, + DefaultStr, + > { LogApproveJoinRequestBuilder::new() } } impl LogApproveJoinRequest { /// Create a new builder for this type - pub fn builder() -> LogApproveJoinRequestBuilder { + pub fn builder() -> LogApproveJoinRequestBuilder< + log_approve_join_request_state::Empty, + S, + > { LogApproveJoinRequestBuilder::builder() } } @@ -6031,7 +5914,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> LogApproveJoinRequestBuilder, S> { + ) -> LogApproveJoinRequestBuilder< + log_approve_join_request_state::SetConvoId, + S, + > { self._fields.0 = Option::Some(value.into()); LogApproveJoinRequestBuilder { _state: PhantomData, @@ -6111,7 +5997,7 @@ where pub mod log_create_join_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6168,7 +6054,10 @@ pub mod log_create_join_link_state { } /// Builder for constructing an instance of this type. -pub struct LogCreateJoinLinkBuilder { +pub struct LogCreateJoinLinkBuilder< + St: log_create_join_link_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -6176,7 +6065,10 @@ pub struct LogCreateJoinLinkBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogCreateJoinLinkBuilder { + pub fn new() -> LogCreateJoinLinkBuilder< + log_create_join_link_state::Empty, + DefaultStr, + > { LogCreateJoinLinkBuilder::new() } } @@ -6284,7 +6176,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogCreateJoinLink { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogCreateJoinLink { LogCreateJoinLink { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -6296,7 +6191,7 @@ where pub mod log_create_message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6353,7 +6248,10 @@ pub mod log_create_message_state { } /// Builder for constructing an instance of this type. -pub struct LogCreateMessageBuilder { +pub struct LogCreateMessageBuilder< + St: log_create_message_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -6366,7 +6264,10 @@ pub struct LogCreateMessageBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogCreateMessageBuilder { + pub fn new() -> LogCreateMessageBuilder< + log_create_message_state::Empty, + DefaultStr, + > { LogCreateMessageBuilder::new() } } @@ -6440,12 +6341,18 @@ where impl LogCreateMessageBuilder { /// Set the `relatedProfiles` field (optional) - pub fn related_profiles(mut self, value: impl Into>>>) -> Self { + pub fn related_profiles( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `relatedProfiles` field to an Option value (optional) - pub fn maybe_related_profiles(mut self, value: Option>>) -> Self { + pub fn maybe_related_profiles( + mut self, + value: Option>>, + ) -> Self { self._fields.2 = value; self } @@ -6488,7 +6395,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogCreateMessage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogCreateMessage { LogCreateMessage { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -6501,7 +6411,7 @@ where pub mod log_delete_message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6558,7 +6468,10 @@ pub mod log_delete_message_state { } /// Builder for constructing an instance of this type. -pub struct LogDeleteMessageBuilder { +pub struct LogDeleteMessageBuilder< + St: log_delete_message_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -6566,7 +6479,10 @@ pub struct LogDeleteMessageBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogDeleteMessageBuilder { + pub fn new() -> LogDeleteMessageBuilder< + log_delete_message_state::Empty, + DefaultStr, + > { LogDeleteMessageBuilder::new() } } @@ -6674,7 +6590,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogDeleteMessage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogDeleteMessage { LogDeleteMessage { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -6686,7 +6605,7 @@ where pub mod log_disable_join_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6743,8 +6662,10 @@ pub mod log_disable_join_link_state { } /// Builder for constructing an instance of this type. -pub struct LogDisableJoinLinkBuilder -{ +pub struct LogDisableJoinLinkBuilder< + St: log_disable_join_link_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -6752,14 +6673,20 @@ pub struct LogDisableJoinLinkBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogDisableJoinLinkBuilder { + pub fn new() -> LogDisableJoinLinkBuilder< + log_disable_join_link_state::Empty, + DefaultStr, + > { LogDisableJoinLinkBuilder::new() } } impl LogDisableJoinLink { /// Create a new builder for this type - pub fn builder() -> LogDisableJoinLinkBuilder { + pub fn builder() -> LogDisableJoinLinkBuilder< + log_disable_join_link_state::Empty, + S, + > { LogDisableJoinLinkBuilder::builder() } } @@ -6860,7 +6787,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogDisableJoinLink { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogDisableJoinLink { LogDisableJoinLink { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -6872,7 +6802,7 @@ where pub mod log_edit_group_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7045,7 +6975,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogEditGroup { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogEditGroup { LogEditGroup { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -7057,7 +6990,7 @@ where pub mod log_edit_join_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7114,7 +7047,10 @@ pub mod log_edit_join_link_state { } /// Builder for constructing an instance of this type. -pub struct LogEditJoinLinkBuilder { +pub struct LogEditJoinLinkBuilder< + St: log_edit_join_link_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -7230,7 +7166,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogEditJoinLink { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogEditJoinLink { LogEditJoinLink { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -7242,7 +7181,7 @@ where pub mod log_enable_join_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7299,7 +7238,10 @@ pub mod log_enable_join_link_state { } /// Builder for constructing an instance of this type. -pub struct LogEnableJoinLinkBuilder { +pub struct LogEnableJoinLinkBuilder< + St: log_enable_join_link_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -7307,7 +7249,10 @@ pub struct LogEnableJoinLinkBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogEnableJoinLinkBuilder { + pub fn new() -> LogEnableJoinLinkBuilder< + log_enable_join_link_state::Empty, + DefaultStr, + > { LogEnableJoinLinkBuilder::new() } } @@ -7415,7 +7360,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogEnableJoinLink { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogEnableJoinLink { LogEnableJoinLink { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -7427,7 +7375,7 @@ where pub mod log_incoming_join_request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7495,15 +7443,20 @@ pub struct LogIncomingJoinRequestBuilder< impl LogIncomingJoinRequest { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogIncomingJoinRequestBuilder - { + pub fn new() -> LogIncomingJoinRequestBuilder< + log_incoming_join_request_state::Empty, + DefaultStr, + > { LogIncomingJoinRequestBuilder::new() } } impl LogIncomingJoinRequest { /// Create a new builder for this type - pub fn builder() -> LogIncomingJoinRequestBuilder { + pub fn builder() -> LogIncomingJoinRequestBuilder< + log_incoming_join_request_state::Empty, + S, + > { LogIncomingJoinRequestBuilder::builder() } } @@ -7519,7 +7472,9 @@ impl LogIncomingJoinRequestBuilder LogIncomingJoinRequestBuilder { +impl< + S: BosStr, +> LogIncomingJoinRequestBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { LogIncomingJoinRequestBuilder { @@ -7539,7 +7494,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> LogIncomingJoinRequestBuilder, S> { + ) -> LogIncomingJoinRequestBuilder< + log_incoming_join_request_state::SetConvoId, + S, + > { self._fields.0 = Option::Some(value.into()); LogIncomingJoinRequestBuilder { _state: PhantomData, @@ -7558,7 +7516,10 @@ where pub fn member( mut self, value: impl Into>, - ) -> LogIncomingJoinRequestBuilder, S> { + ) -> LogIncomingJoinRequestBuilder< + log_incoming_join_request_state::SetMember, + S, + > { self._fields.1 = Option::Some(value.into()); LogIncomingJoinRequestBuilder { _state: PhantomData, @@ -7619,7 +7580,7 @@ where pub mod log_lock_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7834,7 +7795,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogLockConvo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogLockConvo { LogLockConvo { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -7847,7 +7811,7 @@ where pub mod log_lock_convo_permanently_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7936,20 +7900,28 @@ pub struct LogLockConvoPermanentlyBuilder< impl LogLockConvoPermanently { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> LogLockConvoPermanentlyBuilder { + pub fn new() -> LogLockConvoPermanentlyBuilder< + log_lock_convo_permanently_state::Empty, + DefaultStr, + > { LogLockConvoPermanentlyBuilder::new() } } impl LogLockConvoPermanently { /// Create a new builder for this type - pub fn builder() -> LogLockConvoPermanentlyBuilder { + pub fn builder() -> LogLockConvoPermanentlyBuilder< + log_lock_convo_permanently_state::Empty, + S, + > { LogLockConvoPermanentlyBuilder::builder() } } -impl LogLockConvoPermanentlyBuilder { +impl LogLockConvoPermanentlyBuilder< + log_lock_convo_permanently_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { LogLockConvoPermanentlyBuilder { @@ -7960,7 +7932,9 @@ impl LogLockConvoPermanentlyBuilder LogLockConvoPermanentlyBuilder { +impl< + S: BosStr, +> LogLockConvoPermanentlyBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { LogLockConvoPermanentlyBuilder { @@ -7980,7 +7954,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> LogLockConvoPermanentlyBuilder, S> { + ) -> LogLockConvoPermanentlyBuilder< + log_lock_convo_permanently_state::SetConvoId, + S, + > { self._fields.0 = Option::Some(value.into()); LogLockConvoPermanentlyBuilder { _state: PhantomData, @@ -7999,7 +7976,10 @@ where pub fn message( mut self, value: impl Into>, - ) -> LogLockConvoPermanentlyBuilder, S> { + ) -> LogLockConvoPermanentlyBuilder< + log_lock_convo_permanently_state::SetMessage, + S, + > { self._fields.1 = Option::Some(value.into()); LogLockConvoPermanentlyBuilder { _state: PhantomData, @@ -8018,8 +7998,10 @@ where pub fn related_profiles( mut self, value: impl Into>>, - ) -> LogLockConvoPermanentlyBuilder, S> - { + ) -> LogLockConvoPermanentlyBuilder< + log_lock_convo_permanently_state::SetRelatedProfiles, + S, + > { self._fields.2 = Option::Some(value.into()); LogLockConvoPermanentlyBuilder { _state: PhantomData, @@ -8038,7 +8020,10 @@ where pub fn rev( mut self, value: impl Into, - ) -> LogLockConvoPermanentlyBuilder, S> { + ) -> LogLockConvoPermanentlyBuilder< + log_lock_convo_permanently_state::SetRev, + S, + > { self._fields.3 = Option::Some(value.into()); LogLockConvoPermanentlyBuilder { _state: PhantomData, @@ -8083,7 +8068,7 @@ where pub mod log_member_join_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8156,7 +8141,10 @@ pub mod log_member_join_state { } /// Builder for constructing an instance of this type. -pub struct LogMemberJoinBuilder { +pub struct LogMemberJoinBuilder< + St: log_member_join_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -8298,7 +8286,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogMemberJoin { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogMemberJoin { LogMemberJoin { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -8311,7 +8302,7 @@ where pub mod log_member_leave_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8384,7 +8375,10 @@ pub mod log_member_leave_state { } /// Builder for constructing an instance of this type. -pub struct LogMemberLeaveBuilder { +pub struct LogMemberLeaveBuilder< + St: log_member_leave_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -8526,7 +8520,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogMemberLeave { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogMemberLeave { LogMemberLeave { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -8539,7 +8536,7 @@ where pub mod log_read_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8712,7 +8709,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogReadConvo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogReadConvo { LogReadConvo { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -8724,7 +8724,7 @@ where pub mod log_read_message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8781,7 +8781,10 @@ pub mod log_read_message_state { } /// Builder for constructing an instance of this type. -pub struct LogReadMessageBuilder { +pub struct LogReadMessageBuilder< + St: log_read_message_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -8897,7 +8900,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogReadMessage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogReadMessage { LogReadMessage { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -8909,7 +8915,7 @@ where pub mod log_reject_join_request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8977,14 +8983,20 @@ pub struct LogRejectJoinRequestBuilder< impl LogRejectJoinRequest { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogRejectJoinRequestBuilder { + pub fn new() -> LogRejectJoinRequestBuilder< + log_reject_join_request_state::Empty, + DefaultStr, + > { LogRejectJoinRequestBuilder::new() } } impl LogRejectJoinRequest { /// Create a new builder for this type - pub fn builder() -> LogRejectJoinRequestBuilder { + pub fn builder() -> LogRejectJoinRequestBuilder< + log_reject_join_request_state::Empty, + S, + > { LogRejectJoinRequestBuilder::builder() } } @@ -9100,7 +9112,7 @@ where pub mod log_remove_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9173,7 +9185,10 @@ pub mod log_remove_member_state { } /// Builder for constructing an instance of this type. -pub struct LogRemoveMemberBuilder { +pub struct LogRemoveMemberBuilder< + St: log_remove_member_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -9315,7 +9330,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogRemoveMember { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogRemoveMember { LogRemoveMember { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -9328,7 +9346,7 @@ where pub mod log_remove_reaction_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9401,7 +9419,10 @@ pub mod log_remove_reaction_state { } /// Builder for constructing an instance of this type. -pub struct LogRemoveReactionBuilder { +pub struct LogRemoveReactionBuilder< + St: log_remove_reaction_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -9415,7 +9436,10 @@ pub struct LogRemoveReactionBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LogRemoveReactionBuilder { + pub fn new() -> LogRemoveReactionBuilder< + log_remove_reaction_state::Empty, + DefaultStr, + > { LogRemoveReactionBuilder::new() } } @@ -9508,12 +9532,18 @@ where impl LogRemoveReactionBuilder { /// Set the `relatedProfiles` field (optional) - pub fn related_profiles(mut self, value: impl Into>>>) -> Self { + pub fn related_profiles( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `relatedProfiles` field to an Option value (optional) - pub fn maybe_related_profiles(mut self, value: Option>>) -> Self { + pub fn maybe_related_profiles( + mut self, + value: Option>>, + ) -> Self { self._fields.3 = value; self } @@ -9558,7 +9588,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogRemoveReaction { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogRemoveReaction { LogRemoveReaction { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -9572,7 +9605,7 @@ where pub mod log_unlock_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9645,7 +9678,10 @@ pub mod log_unlock_convo_state { } /// Builder for constructing an instance of this type. -pub struct LogUnlockConvoBuilder { +pub struct LogUnlockConvoBuilder< + St: log_unlock_convo_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -9787,7 +9823,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LogUnlockConvo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LogUnlockConvo { LogUnlockConvo { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -9800,7 +9839,7 @@ where pub mod log_withdraw_incoming_join_request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9878,19 +9917,18 @@ impl LogWithdrawIncomingJoinRequest { impl LogWithdrawIncomingJoinRequest { /// Create a new builder for this type - pub fn builder() - -> LogWithdrawIncomingJoinRequestBuilder - { + pub fn builder() -> LogWithdrawIncomingJoinRequestBuilder< + log_withdraw_incoming_join_request_state::Empty, + S, + > { LogWithdrawIncomingJoinRequestBuilder::builder() } } -impl - LogWithdrawIncomingJoinRequestBuilder< - log_withdraw_incoming_join_request_state::Empty, - DefaultStr, - > -{ +impl LogWithdrawIncomingJoinRequestBuilder< + log_withdraw_incoming_join_request_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { LogWithdrawIncomingJoinRequestBuilder { @@ -9901,9 +9939,12 @@ impl } } -impl - LogWithdrawIncomingJoinRequestBuilder -{ +impl< + S: BosStr, +> LogWithdrawIncomingJoinRequestBuilder< + log_withdraw_incoming_join_request_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { LogWithdrawIncomingJoinRequestBuilder { @@ -10012,7 +10053,7 @@ where pub mod message_and_reaction_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10060,24 +10101,26 @@ pub struct MessageAndReactionViewBuilder< S: BosStr = DefaultStr, > { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - ), + _fields: (Option>, Option>), _type: PhantomData S>, } impl MessageAndReactionView { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> MessageAndReactionViewBuilder - { + pub fn new() -> MessageAndReactionViewBuilder< + message_and_reaction_view_state::Empty, + DefaultStr, + > { MessageAndReactionViewBuilder::new() } } impl MessageAndReactionView { /// Create a new builder for this type - pub fn builder() -> MessageAndReactionViewBuilder { + pub fn builder() -> MessageAndReactionViewBuilder< + message_and_reaction_view_state::Empty, + S, + > { MessageAndReactionViewBuilder::builder() } } @@ -10093,7 +10136,9 @@ impl MessageAndReactionViewBuilder MessageAndReactionViewBuilder { +impl< + S: BosStr, +> MessageAndReactionViewBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { MessageAndReactionViewBuilder { @@ -10113,7 +10158,10 @@ where pub fn message( mut self, value: impl Into>, - ) -> MessageAndReactionViewBuilder, S> { + ) -> MessageAndReactionViewBuilder< + message_and_reaction_view_state::SetMessage, + S, + > { self._fields.0 = Option::Some(value.into()); MessageAndReactionViewBuilder { _state: PhantomData, @@ -10132,7 +10180,10 @@ where pub fn reaction( mut self, value: impl Into>, - ) -> MessageAndReactionViewBuilder, S> { + ) -> MessageAndReactionViewBuilder< + message_and_reaction_view_state::SetReaction, + S, + > { self._fields.1 = Option::Some(value.into()); MessageAndReactionViewBuilder { _state: PhantomData, @@ -10171,7 +10222,7 @@ where pub mod message_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10344,7 +10395,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MessageRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MessageRef { MessageRef { convo_id: self._fields.0.unwrap(), did: self._fields.1.unwrap(), @@ -10356,7 +10410,7 @@ where pub mod message_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10545,12 +10599,18 @@ where impl MessageViewBuilder { /// Set the `reactions` field (optional) - pub fn reactions(mut self, value: impl Into>>>) -> Self { + pub fn reactions( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `reactions` field to an Option value (optional) - pub fn maybe_reactions(mut self, value: Option>>) -> Self { + pub fn maybe_reactions( + mut self, + value: Option>>, + ) -> Self { self._fields.3 = value; self } @@ -10656,7 +10716,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MessageView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MessageView { MessageView { embed: self._fields.0, facets: self._fields.1, @@ -10673,7 +10736,7 @@ where pub mod message_view_sender_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10704,7 +10767,10 @@ pub mod message_view_sender_state { } /// Builder for constructing an instance of this type. -pub struct MessageViewSenderBuilder { +pub struct MessageViewSenderBuilder< + St: message_view_sender_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -10712,7 +10778,10 @@ pub struct MessageViewSenderBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> MessageViewSenderBuilder { + pub fn new() -> MessageViewSenderBuilder< + message_view_sender_state::Empty, + DefaultStr, + > { MessageViewSenderBuilder::new() } } @@ -10778,7 +10847,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MessageViewSender { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MessageViewSender { MessageViewSender { did: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -10788,7 +10860,7 @@ where pub mod reaction_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10847,11 +10919,7 @@ pub mod reaction_view_state { /// Builder for constructing an instance of this type. pub struct ReactionViewBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - ), + _fields: (Option, Option>, Option), _type: PhantomData S>, } @@ -10965,7 +11033,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReactionView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReactionView { ReactionView { created_at: self._fields.0.unwrap(), sender: self._fields.1.unwrap(), @@ -10977,7 +11048,7 @@ where pub mod reaction_view_sender_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11008,8 +11079,10 @@ pub mod reaction_view_sender_state { } /// Builder for constructing an instance of this type. -pub struct ReactionViewSenderBuilder -{ +pub struct ReactionViewSenderBuilder< + St: reaction_view_sender_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -11017,7 +11090,10 @@ pub struct ReactionViewSenderBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ReactionViewSenderBuilder { + pub fn new() -> ReactionViewSenderBuilder< + reaction_view_sender_state::Empty, + DefaultStr, + > { ReactionViewSenderBuilder::new() } } @@ -11083,7 +11159,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReactionViewSender { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReactionViewSender { ReactionViewSender { did: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -11093,7 +11172,7 @@ where pub mod system_message_data_add_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11165,22 +11244,28 @@ pub struct SystemMessageDataAddMemberBuilder< impl SystemMessageDataAddMember { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> SystemMessageDataAddMemberBuilder - { + pub fn new() -> SystemMessageDataAddMemberBuilder< + system_message_data_add_member_state::Empty, + DefaultStr, + > { SystemMessageDataAddMemberBuilder::new() } } impl SystemMessageDataAddMember { /// Create a new builder for this type - pub fn builder() - -> SystemMessageDataAddMemberBuilder { + pub fn builder() -> SystemMessageDataAddMemberBuilder< + system_message_data_add_member_state::Empty, + S, + > { SystemMessageDataAddMemberBuilder::builder() } } -impl SystemMessageDataAddMemberBuilder { +impl SystemMessageDataAddMemberBuilder< + system_message_data_add_member_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageDataAddMemberBuilder { @@ -11191,7 +11276,9 @@ impl SystemMessageDataAddMemberBuilder SystemMessageDataAddMemberBuilder { +impl< + S: BosStr, +> SystemMessageDataAddMemberBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageDataAddMemberBuilder { @@ -11211,8 +11298,10 @@ where pub fn added_by( mut self, value: impl Into>, - ) -> SystemMessageDataAddMemberBuilder, S> - { + ) -> SystemMessageDataAddMemberBuilder< + system_message_data_add_member_state::SetAddedBy, + S, + > { self._fields.0 = Option::Some(value.into()); SystemMessageDataAddMemberBuilder { _state: PhantomData, @@ -11231,8 +11320,10 @@ where pub fn member( mut self, value: impl Into>, - ) -> SystemMessageDataAddMemberBuilder, S> - { + ) -> SystemMessageDataAddMemberBuilder< + system_message_data_add_member_state::SetMember, + S, + > { self._fields.1 = Option::Some(value.into()); SystemMessageDataAddMemberBuilder { _state: PhantomData, @@ -11251,8 +11342,10 @@ where pub fn role( mut self, value: impl Into>, - ) -> SystemMessageDataAddMemberBuilder, S> - { + ) -> SystemMessageDataAddMemberBuilder< + system_message_data_add_member_state::SetRole, + S, + > { self._fields.2 = Option::Some(value.into()); SystemMessageDataAddMemberBuilder { _state: PhantomData, @@ -11294,7 +11387,7 @@ where pub mod system_message_data_lock_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11336,22 +11429,28 @@ pub struct SystemMessageDataLockConvoBuilder< impl SystemMessageDataLockConvo { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> SystemMessageDataLockConvoBuilder - { + pub fn new() -> SystemMessageDataLockConvoBuilder< + system_message_data_lock_convo_state::Empty, + DefaultStr, + > { SystemMessageDataLockConvoBuilder::new() } } impl SystemMessageDataLockConvo { /// Create a new builder for this type - pub fn builder() - -> SystemMessageDataLockConvoBuilder { + pub fn builder() -> SystemMessageDataLockConvoBuilder< + system_message_data_lock_convo_state::Empty, + S, + > { SystemMessageDataLockConvoBuilder::builder() } } -impl SystemMessageDataLockConvoBuilder { +impl SystemMessageDataLockConvoBuilder< + system_message_data_lock_convo_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageDataLockConvoBuilder { @@ -11362,7 +11461,9 @@ impl SystemMessageDataLockConvoBuilder SystemMessageDataLockConvoBuilder { +impl< + S: BosStr, +> SystemMessageDataLockConvoBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageDataLockConvoBuilder { @@ -11382,8 +11483,10 @@ where pub fn locked_by( mut self, value: impl Into>, - ) -> SystemMessageDataLockConvoBuilder, S> - { + ) -> SystemMessageDataLockConvoBuilder< + system_message_data_lock_convo_state::SetLockedBy, + S, + > { self._fields.0 = Option::Some(value.into()); SystemMessageDataLockConvoBuilder { _state: PhantomData, @@ -11419,7 +11522,7 @@ where pub mod system_message_data_lock_convo_permanently_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11479,12 +11582,10 @@ impl SystemMessageDataLockConvoPermanently { } } -impl - SystemMessageDataLockConvoPermanentlyBuilder< - system_message_data_lock_convo_permanently_state::Empty, - DefaultStr, - > -{ +impl SystemMessageDataLockConvoPermanentlyBuilder< + system_message_data_lock_convo_permanently_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageDataLockConvoPermanentlyBuilder { @@ -11495,12 +11596,12 @@ impl } } -impl - SystemMessageDataLockConvoPermanentlyBuilder< - system_message_data_lock_convo_permanently_state::Empty, - S, - > -{ +impl< + S: BosStr, +> SystemMessageDataLockConvoPermanentlyBuilder< + system_message_data_lock_convo_permanently_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageDataLockConvoPermanentlyBuilder { @@ -11559,7 +11660,7 @@ where pub mod system_message_data_member_join_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11617,22 +11718,28 @@ pub struct SystemMessageDataMemberJoinBuilder< impl SystemMessageDataMemberJoin { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> SystemMessageDataMemberJoinBuilder - { + pub fn new() -> SystemMessageDataMemberJoinBuilder< + system_message_data_member_join_state::Empty, + DefaultStr, + > { SystemMessageDataMemberJoinBuilder::new() } } impl SystemMessageDataMemberJoin { /// Create a new builder for this type - pub fn builder() - -> SystemMessageDataMemberJoinBuilder { + pub fn builder() -> SystemMessageDataMemberJoinBuilder< + system_message_data_member_join_state::Empty, + S, + > { SystemMessageDataMemberJoinBuilder::builder() } } -impl SystemMessageDataMemberJoinBuilder { +impl SystemMessageDataMemberJoinBuilder< + system_message_data_member_join_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageDataMemberJoinBuilder { @@ -11643,9 +11750,9 @@ impl SystemMessageDataMemberJoinBuilder - SystemMessageDataMemberJoinBuilder -{ +impl< + S: BosStr, +> SystemMessageDataMemberJoinBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageDataMemberJoinBuilder { @@ -11656,9 +11763,10 @@ impl } } -impl - SystemMessageDataMemberJoinBuilder -{ +impl< + St: system_message_data_member_join_state::State, + S: BosStr, +> SystemMessageDataMemberJoinBuilder { /// Set the `approvedBy` field (optional) pub fn approved_by( mut self, @@ -11668,7 +11776,10 @@ impl self } /// Set the `approvedBy` field to an Option value (optional) - pub fn maybe_approved_by(mut self, value: Option>) -> Self { + pub fn maybe_approved_by( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -11683,8 +11794,10 @@ where pub fn member( mut self, value: impl Into>, - ) -> SystemMessageDataMemberJoinBuilder, S> - { + ) -> SystemMessageDataMemberJoinBuilder< + system_message_data_member_join_state::SetMember, + S, + > { self._fields.1 = Option::Some(value.into()); SystemMessageDataMemberJoinBuilder { _state: PhantomData, @@ -11703,8 +11816,10 @@ where pub fn role( mut self, value: impl Into>, - ) -> SystemMessageDataMemberJoinBuilder, S> - { + ) -> SystemMessageDataMemberJoinBuilder< + system_message_data_member_join_state::SetRole, + S, + > { self._fields.2 = Option::Some(value.into()); SystemMessageDataMemberJoinBuilder { _state: PhantomData, @@ -11745,7 +11860,7 @@ where pub mod system_message_data_member_leave_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11797,15 +11912,18 @@ impl SystemMessageDataMemberLeave { impl SystemMessageDataMemberLeave { /// Create a new builder for this type - pub fn builder() - -> SystemMessageDataMemberLeaveBuilder { + pub fn builder() -> SystemMessageDataMemberLeaveBuilder< + system_message_data_member_leave_state::Empty, + S, + > { SystemMessageDataMemberLeaveBuilder::builder() } } -impl - SystemMessageDataMemberLeaveBuilder -{ +impl SystemMessageDataMemberLeaveBuilder< + system_message_data_member_leave_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageDataMemberLeaveBuilder { @@ -11816,9 +11934,9 @@ impl } } -impl - SystemMessageDataMemberLeaveBuilder -{ +impl< + S: BosStr, +> SystemMessageDataMemberLeaveBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageDataMemberLeaveBuilder { @@ -11838,8 +11956,10 @@ where pub fn member( mut self, value: impl Into>, - ) -> SystemMessageDataMemberLeaveBuilder, S> - { + ) -> SystemMessageDataMemberLeaveBuilder< + system_message_data_member_leave_state::SetMember, + S, + > { self._fields.0 = Option::Some(value.into()); SystemMessageDataMemberLeaveBuilder { _state: PhantomData, @@ -11875,7 +11995,7 @@ where pub mod system_message_data_remove_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11942,15 +12062,18 @@ impl SystemMessageDataRemoveMember { impl SystemMessageDataRemoveMember { /// Create a new builder for this type - pub fn builder() - -> SystemMessageDataRemoveMemberBuilder { + pub fn builder() -> SystemMessageDataRemoveMemberBuilder< + system_message_data_remove_member_state::Empty, + S, + > { SystemMessageDataRemoveMemberBuilder::builder() } } -impl - SystemMessageDataRemoveMemberBuilder -{ +impl SystemMessageDataRemoveMemberBuilder< + system_message_data_remove_member_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageDataRemoveMemberBuilder { @@ -11961,9 +12084,12 @@ impl } } -impl - SystemMessageDataRemoveMemberBuilder -{ +impl< + S: BosStr, +> SystemMessageDataRemoveMemberBuilder< + system_message_data_remove_member_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageDataRemoveMemberBuilder { @@ -12047,7 +12173,7 @@ where pub mod system_message_data_unlock_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -12099,15 +12225,18 @@ impl SystemMessageDataUnlockConvo { impl SystemMessageDataUnlockConvo { /// Create a new builder for this type - pub fn builder() - -> SystemMessageDataUnlockConvoBuilder { + pub fn builder() -> SystemMessageDataUnlockConvoBuilder< + system_message_data_unlock_convo_state::Empty, + S, + > { SystemMessageDataUnlockConvoBuilder::builder() } } -impl - SystemMessageDataUnlockConvoBuilder -{ +impl SystemMessageDataUnlockConvoBuilder< + system_message_data_unlock_convo_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageDataUnlockConvoBuilder { @@ -12118,9 +12247,9 @@ impl } } -impl - SystemMessageDataUnlockConvoBuilder -{ +impl< + S: BosStr, +> SystemMessageDataUnlockConvoBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageDataUnlockConvoBuilder { @@ -12179,7 +12308,7 @@ where pub mod system_message_referred_user_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -12221,21 +12350,28 @@ pub struct SystemMessageReferredUserBuilder< impl SystemMessageReferredUser { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> SystemMessageReferredUserBuilder { + pub fn new() -> SystemMessageReferredUserBuilder< + system_message_referred_user_state::Empty, + DefaultStr, + > { SystemMessageReferredUserBuilder::new() } } impl SystemMessageReferredUser { /// Create a new builder for this type - pub fn builder() - -> SystemMessageReferredUserBuilder { + pub fn builder() -> SystemMessageReferredUserBuilder< + system_message_referred_user_state::Empty, + S, + > { SystemMessageReferredUserBuilder::builder() } } -impl SystemMessageReferredUserBuilder { +impl SystemMessageReferredUserBuilder< + system_message_referred_user_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { SystemMessageReferredUserBuilder { @@ -12246,7 +12382,9 @@ impl SystemMessageReferredUserBuilder SystemMessageReferredUserBuilder { +impl< + S: BosStr, +> SystemMessageReferredUserBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { SystemMessageReferredUserBuilder { @@ -12266,7 +12404,10 @@ where pub fn did( mut self, value: impl Into>, - ) -> SystemMessageReferredUserBuilder, S> { + ) -> SystemMessageReferredUserBuilder< + system_message_referred_user_state::SetDid, + S, + > { self._fields.0 = Option::Some(value.into()); SystemMessageReferredUserBuilder { _state: PhantomData, @@ -12302,7 +12443,7 @@ where pub mod system_message_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -12375,20 +12516,21 @@ pub mod system_message_view_state { } /// Builder for constructing an instance of this type. -pub struct SystemMessageViewBuilder { +pub struct SystemMessageViewBuilder< + St: system_message_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option, - ), + _fields: (Option>, Option, Option, Option), _type: PhantomData S>, } impl SystemMessageView { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SystemMessageViewBuilder { + pub fn new() -> SystemMessageViewBuilder< + system_message_view_state::Empty, + DefaultStr, + > { SystemMessageViewBuilder::new() } } @@ -12517,7 +12659,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SystemMessageView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SystemMessageView { SystemMessageView { data: self._fields.0.unwrap(), id: self._fields.1.unwrap(), @@ -12526,4 +12671,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/accept_convo.rs b/crates/jacquard-api/src/chat_bsky/convo/accept_convo.rs index 80d37b01c..756a30c95 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/accept_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/accept_convo.rs @@ -10,28 +10,23 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AcceptConvo { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AcceptConvoOutput { ///Rev when the convo was accepted. If not present, the convo was already accepted. #[serde(skip_serializing_if = "Option::is_none")] @@ -40,19 +35,25 @@ pub struct AcceptConvoOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum AcceptConvoError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for AcceptConvoError { @@ -89,8 +90,9 @@ impl jacquard_common::xrpc::XrpcResp for AcceptConvoResponse { impl jacquard_common::xrpc::XrpcRequest for AcceptConvo { const NSID: &'static str = "chat.bsky.convo.acceptConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AcceptConvoResponse; } @@ -100,8 +102,9 @@ Path: `/xrpc/chat.bsky.convo.acceptConvo`. The request payload type is `AcceptCo pub struct AcceptConvoRequest; impl jacquard_common::xrpc::XrpcEndpoint for AcceptConvoRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.acceptConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AcceptConvo; type Response = AcceptConvoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/add_reaction.rs b/crates/jacquard-api/src/chat_bsky/convo/add_reaction.rs index 1a7fbb18f..9dd465bff 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/add_reaction.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/add_reaction.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::MessageView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::MessageView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddReaction { pub convo_id: S, pub message_id: S, @@ -30,20 +27,27 @@ pub struct AddReaction { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddReactionOutput { pub message: MessageView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum AddReactionError { #[serde(rename = "InvalidConvo")] @@ -62,10 +66,7 @@ pub enum AddReactionError { ReactionInvalidValue(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for AddReactionError { @@ -130,8 +131,9 @@ impl jacquard_common::xrpc::XrpcResp for AddReactionResponse { impl jacquard_common::xrpc::XrpcRequest for AddReaction { const NSID: &'static str = "chat.bsky.convo.addReaction"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AddReactionResponse; } @@ -141,8 +143,9 @@ Path: `/xrpc/chat.bsky.convo.addReaction`. The request payload type is `AddReact pub struct AddReactionRequest; impl jacquard_common::xrpc::XrpcEndpoint for AddReactionRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.addReaction"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AddReaction; type Response = AddReactionResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/delete_message_for_self.rs b/crates/jacquard-api/src/chat_bsky/convo/delete_message_for_self.rs index 50fe4af22..d68655353 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/delete_message_for_self.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/delete_message_for_self.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::DeletedMessageView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::DeletedMessageView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteMessageForSelf { pub convo_id: S, pub message_id: S, @@ -29,11 +26,9 @@ pub struct DeleteMessageForSelf { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteMessageForSelfOutput { #[serde(flatten)] pub value: DeletedMessageView, @@ -41,9 +36,18 @@ pub struct DeleteMessageForSelfOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteMessageForSelfError { #[serde(rename = "InvalidConvo")] @@ -53,10 +57,7 @@ pub enum DeleteMessageForSelfError { MessageDeleteNotAllowed(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteMessageForSelfError { @@ -100,8 +101,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteMessageForSelfResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteMessageForSelf { const NSID: &'static str = "chat.bsky.convo.deleteMessageForSelf"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteMessageForSelfResponse; } @@ -111,8 +113,9 @@ Path: `/xrpc/chat.bsky.convo.deleteMessageForSelf`. The request payload type is pub struct DeleteMessageForSelfRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteMessageForSelfRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.deleteMessageForSelf"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteMessageForSelf; type Response = DeleteMessageForSelfResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/get_convo.rs b/crates/jacquard-api/src/chat_bsky/convo/get_convo.rs index abe51f80f..bb8aaa8b1 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/get_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/get_convo.rs @@ -8,48 +8,49 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvo { pub convo_id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetConvoError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetConvoError { @@ -103,7 +104,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConvoRequest { pub mod get_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -206,4 +207,4 @@ where convo_id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/get_convo_availability.rs b/crates/jacquard-api/src/chat_bsky/convo/get_convo_availability.rs index 9f6604a9b..52d4bce67 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/get_convo_availability.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/get_convo_availability.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoAvailability { pub members: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoAvailabilityOutput { pub can_chat: bool, #[serde(skip_serializing_if = "Option::is_none")] @@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConvoAvailabilityRequest { pub mod get_convo_availability_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -112,14 +107,20 @@ pub struct GetConvoAvailabilityBuilder< impl GetConvoAvailability { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetConvoAvailabilityBuilder { + pub fn new() -> GetConvoAvailabilityBuilder< + get_convo_availability_state::Empty, + DefaultStr, + > { GetConvoAvailabilityBuilder::new() } } impl GetConvoAvailability { /// Create a new builder for this type - pub fn builder() -> GetConvoAvailabilityBuilder { + pub fn builder() -> GetConvoAvailabilityBuilder< + get_convo_availability_state::Empty, + S, + > { GetConvoAvailabilityBuilder::builder() } } @@ -176,4 +177,4 @@ where members: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/get_convo_for_members.rs b/crates/jacquard-api/src/chat_bsky/convo/get_convo_for_members.rs index 6b3e2d7e8..0ae8b3561 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/get_convo_for_members.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/get_convo_for_members.rs @@ -8,39 +8,43 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoForMembers { pub members: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoForMembersOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetConvoForMembersError { #[serde(rename = "AccountSuspended")] @@ -57,10 +61,7 @@ pub enum GetConvoForMembersError { RecipientNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetConvoForMembersError { @@ -149,7 +150,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConvoForMembersRequest { pub mod get_convo_for_members_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -180,8 +181,10 @@ pub mod get_convo_for_members_state { } /// Builder for constructing an instance of this type. -pub struct GetConvoForMembersBuilder -{ +pub struct GetConvoForMembersBuilder< + St: get_convo_for_members_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -189,14 +192,20 @@ pub struct GetConvoForMembersBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetConvoForMembersBuilder { + pub fn new() -> GetConvoForMembersBuilder< + get_convo_for_members_state::Empty, + DefaultStr, + > { GetConvoForMembersBuilder::new() } } impl GetConvoForMembers { /// Create a new builder for this type - pub fn builder() -> GetConvoForMembersBuilder { + pub fn builder() -> GetConvoForMembersBuilder< + get_convo_for_members_state::Empty, + S, + > { GetConvoForMembersBuilder::builder() } } @@ -253,4 +262,4 @@ where members: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/get_convo_members.rs b/crates/jacquard-api/src/chat_bsky/convo/get_convo_members.rs index cd6766c35..354e1899b 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/get_convo_members.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/get_convo_members.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::actor::ProfileViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::actor::ProfileViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoMembers { pub convo_id: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetConvoMembers { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoMembersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -45,19 +40,25 @@ pub struct GetConvoMembersOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetConvoMembersError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetConvoMembersError { @@ -115,7 +116,7 @@ fn _default_limit() -> Option { pub mod get_convo_members_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -146,7 +147,10 @@ pub mod get_convo_members_state { } /// Builder for constructing an instance of this type. -pub struct GetConvoMembersBuilder { +pub struct GetConvoMembersBuilder< + St: get_convo_members_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -246,4 +250,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/get_log.rs b/crates/jacquard-api/src/chat_bsky/convo/get_log.rs index c1b7d1889..6d1970fb2 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/get_log.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/get_log.rs @@ -8,6 +8,13 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; +#[allow(unused_imports)] +use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::deps::smol_str::SmolStr; +use jacquard_common::types::value::Data; +use jacquard_derive::{IntoStatic, open_union}; +use serde::{Serialize, Deserialize}; use crate::chat_bsky::convo::LogAcceptConvo; use crate::chat_bsky::convo::LogAddMember; use crate::chat_bsky::convo::LogAddReaction; @@ -38,29 +45,17 @@ use crate::chat_bsky::convo::LogUnlockConvo; use crate::chat_bsky::convo::LogUnmuteConvo; use crate::chat_bsky::convo::LogWithdrawIncomingJoinRequest; use crate::chat_bsky::convo::LogWithdrawOutgoingJoinRequest; -#[allow(unused_imports)] -use core::marker::PhantomData; -use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; -use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLog { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLogOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -69,6 +64,7 @@ pub struct GetLogOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -165,7 +161,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLogRequest { pub mod get_log_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -244,8 +240,6 @@ where { /// Build the final struct. pub fn build(self) -> GetLog { - GetLog { - cursor: self._fields.0, - } + GetLog { cursor: self._fields.0 } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/get_messages.rs b/crates/jacquard-api/src/chat_bsky/convo/get_messages.rs index 46f875154..02ff184cb 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/get_messages.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/get_messages.rs @@ -8,23 +8,20 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::actor::ProfileViewBasic; -use crate::chat_bsky::convo::DeletedMessageView; -use crate::chat_bsky::convo::MessageView; -use crate::chat_bsky::convo::SystemMessageView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::actor::ProfileViewBasic; +use crate::chat_bsky::convo::DeletedMessageView; +use crate::chat_bsky::convo::MessageView; +use crate::chat_bsky::convo::SystemMessageView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMessages { pub convo_id: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -35,11 +32,9 @@ pub struct GetMessages { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMessagesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -51,6 +46,7 @@ pub struct GetMessagesOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -63,19 +59,25 @@ pub enum GetMessagesOutputMessagesItem { SystemMessageView(Box>), } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetMessagesError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetMessagesError { @@ -133,7 +135,7 @@ fn _default_limit() -> Option { pub mod get_messages_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -264,4 +266,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/leave_convo.rs b/crates/jacquard-api/src/chat_bsky/convo/leave_convo.rs index d240f0394..36ce7e109 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/leave_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/leave_convo.rs @@ -10,28 +10,23 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LeaveConvo { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LeaveConvoOutput { pub convo_id: S, pub rev: S, @@ -39,9 +34,18 @@ pub struct LeaveConvoOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum LeaveConvoError { #[serde(rename = "InvalidConvo")] @@ -51,10 +55,7 @@ pub enum LeaveConvoError { OwnerCannotLeave(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for LeaveConvoError { @@ -98,8 +99,9 @@ impl jacquard_common::xrpc::XrpcResp for LeaveConvoResponse { impl jacquard_common::xrpc::XrpcRequest for LeaveConvo { const NSID: &'static str = "chat.bsky.convo.leaveConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = LeaveConvoResponse; } @@ -109,8 +111,9 @@ Path: `/xrpc/chat.bsky.convo.leaveConvo`. The request payload type is `LeaveConv pub struct LeaveConvoRequest; impl jacquard_common::xrpc::XrpcEndpoint for LeaveConvoRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.leaveConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = LeaveConvo; type Response = LeaveConvoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/list_convo_requests.rs b/crates/jacquard-api/src/chat_bsky/convo/list_convo_requests.rs index 2a1f12f16..424380ef4 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/list_convo_requests.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/list_convo_requests.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; -use crate::chat_bsky::group::JoinRequestConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; +use crate::chat_bsky::group::JoinRequestConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListConvoRequests { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -32,11 +29,9 @@ pub struct ListConvoRequests { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListConvoRequestsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -45,6 +40,7 @@ pub struct ListConvoRequestsOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -89,7 +85,7 @@ fn _default_limit() -> Option { pub mod list_convo_requests_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -107,7 +103,10 @@ pub mod list_convo_requests_state { } /// Builder for constructing an instance of this type. -pub struct ListConvoRequestsBuilder { +pub struct ListConvoRequestsBuilder< + St: list_convo_requests_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -115,7 +114,10 @@ pub struct ListConvoRequestsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListConvoRequestsBuilder { + pub fn new() -> ListConvoRequestsBuilder< + list_convo_requests_state::Empty, + DefaultStr, + > { ListConvoRequestsBuilder::new() } } @@ -186,4 +188,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/list_convos.rs b/crates/jacquard-api/src/chat_bsky/convo/list_convos.rs index d6b0979a5..9cfdb9d69 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/list_convos.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/list_convos.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListConvos { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -39,11 +36,9 @@ pub struct ListConvos { pub status: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListConvosOutput { pub convos: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -86,7 +81,7 @@ fn _default_limit() -> Option { pub mod list_convos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,14 +101,7 @@ pub mod list_convos_state { /// Builder for constructing an instance of this type. pub struct ListConvosBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option, - Option, - ), + _fields: (Option, Option, Option, Option, Option, Option), _type: PhantomData S>, } @@ -246,4 +234,4 @@ where status: self._fields.5, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/lock_convo.rs b/crates/jacquard-api/src/chat_bsky/convo/lock_convo.rs index 2866306de..b76bc3430 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/lock_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/lock_convo.rs @@ -8,40 +8,44 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LockConvo { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LockConvoOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum LockConvoError { #[serde(rename = "ConvoLocked")] @@ -52,10 +56,7 @@ pub enum LockConvoError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for LockConvoError { @@ -106,8 +107,9 @@ impl jacquard_common::xrpc::XrpcResp for LockConvoResponse { impl jacquard_common::xrpc::XrpcRequest for LockConvo { const NSID: &'static str = "chat.bsky.convo.lockConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = LockConvoResponse; } @@ -117,8 +119,9 @@ Path: `/xrpc/chat.bsky.convo.lockConvo`. The request payload type is `LockConvo< pub struct LockConvoRequest; impl jacquard_common::xrpc::XrpcEndpoint for LockConvoRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.lockConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = LockConvo; type Response = LockConvoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/mute_convo.rs b/crates/jacquard-api/src/chat_bsky/convo/mute_convo.rs index ee3869829..6525a2ab8 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/mute_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/mute_convo.rs @@ -8,50 +8,51 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MuteConvo { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MuteConvoOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum MuteConvoError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for MuteConvoError { @@ -88,8 +89,9 @@ impl jacquard_common::xrpc::XrpcResp for MuteConvoResponse { impl jacquard_common::xrpc::XrpcRequest for MuteConvo { const NSID: &'static str = "chat.bsky.convo.muteConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = MuteConvoResponse; } @@ -99,8 +101,9 @@ Path: `/xrpc/chat.bsky.convo.muteConvo`. The request payload type is `MuteConvo< pub struct MuteConvoRequest; impl jacquard_common::xrpc::XrpcEndpoint for MuteConvoRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.muteConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = MuteConvo; type Response = MuteConvoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/remove_reaction.rs b/crates/jacquard-api/src/chat_bsky/convo/remove_reaction.rs index dcf6cabc3..b04bf79cf 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/remove_reaction.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/remove_reaction.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::MessageView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::MessageView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveReaction { pub convo_id: S, pub message_id: S, @@ -30,20 +27,27 @@ pub struct RemoveReaction { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveReactionOutput { pub message: MessageView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RemoveReactionError { #[serde(rename = "InvalidConvo")] @@ -59,10 +63,7 @@ pub enum RemoveReactionError { ReactionInvalidValue(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RemoveReactionError { @@ -120,8 +121,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveReactionResponse { impl jacquard_common::xrpc::XrpcRequest for RemoveReaction { const NSID: &'static str = "chat.bsky.convo.removeReaction"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RemoveReactionResponse; } @@ -131,8 +133,9 @@ Path: `/xrpc/chat.bsky.convo.removeReaction`. The request payload type is `Remov pub struct RemoveReactionRequest; impl jacquard_common::xrpc::XrpcEndpoint for RemoveReactionRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.removeReaction"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RemoveReaction; type Response = RemoveReactionResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/send_message.rs b/crates/jacquard-api/src/chat_bsky/convo/send_message.rs index fa2980603..f063cf59b 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/send_message.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/send_message.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::MessageInput; -use crate::chat_bsky::convo::MessageView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::MessageInput; +use crate::chat_bsky::convo::MessageView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendMessage { pub convo_id: S, pub message: MessageInput, @@ -30,11 +27,9 @@ pub struct SendMessage { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendMessageOutput { #[serde(flatten)] pub value: MessageView, @@ -42,9 +37,18 @@ pub struct SendMessageOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SendMessageError { #[serde(rename = "ConvoLocked")] @@ -53,10 +57,7 @@ pub enum SendMessageError { InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SendMessageError { @@ -100,8 +101,9 @@ impl jacquard_common::xrpc::XrpcResp for SendMessageResponse { impl jacquard_common::xrpc::XrpcRequest for SendMessage { const NSID: &'static str = "chat.bsky.convo.sendMessage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SendMessageResponse; } @@ -111,15 +113,16 @@ Path: `/xrpc/chat.bsky.convo.sendMessage`. The request payload type is `SendMess pub struct SendMessageRequest; impl jacquard_common::xrpc::XrpcEndpoint for SendMessageRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.sendMessage"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = SendMessage; type Response = SendMessageResponse; } pub mod send_message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -257,11 +260,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SendMessage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SendMessage { SendMessage { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/send_message_batch.rs b/crates/jacquard-api/src/chat_bsky/convo/send_message_batch.rs index 55db71077..a5b87de53 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/send_message_batch.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/send_message_batch.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,18 +20,15 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::chat_bsky::convo::MessageInput; use crate::chat_bsky::convo::MessageView; use crate::chat_bsky::convo::send_message_batch; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BatchItem { pub convo_id: S, pub message: MessageInput, @@ -39,31 +36,36 @@ pub struct BatchItem { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendMessageBatch { pub items: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendMessageBatchOutput { pub items: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SendMessageBatchError { #[serde(rename = "ConvoLocked")] @@ -72,10 +74,7 @@ pub enum SendMessageBatchError { InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SendMessageBatchError { @@ -134,8 +133,9 @@ impl jacquard_common::xrpc::XrpcResp for SendMessageBatchResponse { impl jacquard_common::xrpc::XrpcRequest for SendMessageBatch { const NSID: &'static str = "chat.bsky.convo.sendMessageBatch"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SendMessageBatchResponse; } @@ -145,15 +145,16 @@ Path: `/xrpc/chat.bsky.convo.sendMessageBatch`. The request payload type is `Sen pub struct SendMessageBatchRequest; impl jacquard_common::xrpc::XrpcEndpoint for SendMessageBatchRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.sendMessageBatch"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = SendMessageBatch; type Response = SendMessageBatchResponse; } pub mod batch_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -291,7 +292,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BatchItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BatchItem { BatchItem { convo_id: self._fields.0.unwrap(), message: self._fields.1.unwrap(), @@ -301,10 +305,10 @@ where } fn lexicon_doc_chat_bsky_convo_sendMessageBatch() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.convo.sendMessageBatch"), @@ -313,23 +317,25 @@ fn lexicon_doc_chat_bsky_convo_sendMessageBatch() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("batchItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("convoId"), - SmolStr::new_static("message"), - ]), + required: Some( + vec![ + SmolStr::new_static("convoId"), + SmolStr::new_static("message") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("message"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("chat.bsky.convo.defs#messageInput"), + r#ref: CowStr::new_static( + "chat.bsky.convo.defs#messageInput", + ), ..Default::default() }), ); @@ -343,26 +349,28 @@ fn lexicon_doc_chat_bsky_convo_sendMessageBatch() -> LexiconDoc<'static> { LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![SmolStr::new_static("items")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("items"), - LexObjectProperty::Array(LexArray { - items: LexArrayItem::Ref(LexRef { - r#ref: CowStr::new_static("#batchItem"), + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some(vec![SmolStr::new_static("items")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("items"), + LexObjectProperty::Array(LexArray { + items: LexArrayItem::Ref(LexRef { + r#ref: CowStr::new_static("#batchItem"), + ..Default::default() + }), + max_length: Some(100usize), ..Default::default() }), - max_length: Some(100usize), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -376,7 +384,7 @@ fn lexicon_doc_chat_bsky_convo_sendMessageBatch() -> LexiconDoc<'static> { pub mod send_message_batch_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -407,7 +415,10 @@ pub mod send_message_batch_state { } /// Builder for constructing an instance of this type. -pub struct SendMessageBatchBuilder { +pub struct SendMessageBatchBuilder< + St: send_message_batch_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -415,7 +426,10 @@ pub struct SendMessageBatchBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SendMessageBatchBuilder { + pub fn new() -> SendMessageBatchBuilder< + send_message_batch_state::Empty, + DefaultStr, + > { SendMessageBatchBuilder::new() } } @@ -481,10 +495,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SendMessageBatch { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SendMessageBatch { SendMessageBatch { items: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/unlock_convo.rs b/crates/jacquard-api/src/chat_bsky/convo/unlock_convo.rs index b8b6fb82d..f90768628 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/unlock_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/unlock_convo.rs @@ -8,40 +8,44 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnlockConvo { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnlockConvoOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UnlockConvoError { #[serde(rename = "InvalidConvo")] @@ -50,10 +54,7 @@ pub enum UnlockConvoError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UnlockConvoError { @@ -97,8 +98,9 @@ impl jacquard_common::xrpc::XrpcResp for UnlockConvoResponse { impl jacquard_common::xrpc::XrpcRequest for UnlockConvo { const NSID: &'static str = "chat.bsky.convo.unlockConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnlockConvoResponse; } @@ -108,8 +110,9 @@ Path: `/xrpc/chat.bsky.convo.unlockConvo`. The request payload type is `UnlockCo pub struct UnlockConvoRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnlockConvoRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.unlockConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnlockConvo; type Response = UnlockConvoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/unmute_convo.rs b/crates/jacquard-api/src/chat_bsky/convo/unmute_convo.rs index d691c6aac..b37b9f185 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/unmute_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/unmute_convo.rs @@ -8,50 +8,51 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnmuteConvo { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnmuteConvoOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UnmuteConvoError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UnmuteConvoError { @@ -88,8 +89,9 @@ impl jacquard_common::xrpc::XrpcResp for UnmuteConvoResponse { impl jacquard_common::xrpc::XrpcRequest for UnmuteConvo { const NSID: &'static str = "chat.bsky.convo.unmuteConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnmuteConvoResponse; } @@ -99,8 +101,9 @@ Path: `/xrpc/chat.bsky.convo.unmuteConvo`. The request payload type is `UnmuteCo pub struct UnmuteConvoRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnmuteConvoRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.unmuteConvo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnmuteConvo; type Response = UnmuteConvoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/update_all_read.rs b/crates/jacquard-api/src/chat_bsky/convo/update_all_read.rs index 2eb71a284..36f9b6f80 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/update_all_read.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/update_all_read.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateAllRead { #[serde(skip_serializing_if = "Option::is_none")] pub status: Option>, @@ -28,6 +25,7 @@ pub struct UpdateAllRead { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UpdateAllReadStatus { Request, @@ -105,11 +103,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateAllReadOutput { ///The count of updated convos. pub updated_count: i64, @@ -130,8 +126,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateAllReadResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateAllRead { const NSID: &'static str = "chat.bsky.convo.updateAllRead"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateAllReadResponse; } @@ -141,8 +138,9 @@ Path: `/xrpc/chat.bsky.convo.updateAllRead`. The request payload type is `Update pub struct UpdateAllReadRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateAllReadRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.updateAllRead"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateAllRead; type Response = UpdateAllReadResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/convo/update_read.rs b/crates/jacquard-api/src/chat_bsky/convo/update_read.rs index 5d3a13165..ac6b5ab1e 100644 --- a/crates/jacquard-api/src/chat_bsky/convo/update_read.rs +++ b/crates/jacquard-api/src/chat_bsky/convo/update_read.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateRead { pub convo_id: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -30,30 +27,34 @@ pub struct UpdateRead { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateReadOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdateReadError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdateReadError { @@ -90,8 +91,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateReadResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateRead { const NSID: &'static str = "chat.bsky.convo.updateRead"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateReadResponse; } @@ -101,8 +103,9 @@ Path: `/xrpc/chat.bsky.convo.updateRead`. The request payload type is `UpdateRea pub struct UpdateReadRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateReadRequest { const PATH: &'static str = "/xrpc/chat.bsky.convo.updateRead"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateRead; type Response = UpdateReadResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/embed.rs b/crates/jacquard-api/src/chat_bsky/embed.rs index 1e31dfc8c..6dff5e4b2 100644 --- a/crates/jacquard-api/src/chat_bsky/embed.rs +++ b/crates/jacquard-api/src/chat_bsky/embed.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `chat.bsky.embed` Lexicon namespace/module. -pub mod join_link; +pub mod join_link; \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/embed/join_link.rs b/crates/jacquard-api/src/chat_bsky/embed/join_link.rs index 27a64c1c9..4a7ea7032 100644 --- a/crates/jacquard-api/src/chat_bsky/embed/join_link.rs +++ b/crates/jacquard-api/src/chat_bsky/embed/join_link.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::chat_bsky::group::JoinLinkPreviewView; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::group::JoinLinkPreviewView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct JoinLink { ///The join link code. pub code: S, @@ -37,11 +34,9 @@ pub struct JoinLink { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct View { pub join_link_preview: JoinLinkPreviewView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -79,10 +74,10 @@ impl LexiconSchema for View { } fn lexicon_doc_chat_bsky_embed_joinLink() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.embed.joinLink"), @@ -98,7 +93,9 @@ fn lexicon_doc_chat_bsky_embed_joinLink() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("code"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The join link code.")), + description: Some( + CowStr::new_static("The join link code."), + ), ..Default::default() }), ); @@ -136,7 +133,7 @@ fn lexicon_doc_chat_bsky_embed_joinLink() -> LexiconDoc<'static> { pub mod view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -247,4 +244,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group.rs b/crates/jacquard-api/src/chat_bsky/group.rs index 20c0ac304..06ea232c1 100644 --- a/crates/jacquard-api/src/chat_bsky/group.rs +++ b/crates/jacquard-api/src/chat_bsky/group.rs @@ -23,12 +23,13 @@ pub mod request_join; pub mod update_join_requests_read; pub mod withdraw_join_request; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -39,18 +40,15 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::chat_bsky::actor::ProfileViewBasic; use crate::chat_bsky::convo::ConvoView; use crate::chat_bsky::group; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct JoinLinkPreviewView { pub code: S, ///Present only if the request is authenticated and the user is a member of the group. @@ -69,11 +67,9 @@ pub struct JoinLinkPreviewView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct JoinLinkView { pub code: S, pub created_at: Datetime, @@ -84,11 +80,9 @@ pub struct JoinLinkView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct JoinLinkViewerState { #[serde(skip_serializing_if = "Option::is_none")] pub requested_at: Option, @@ -99,10 +93,7 @@ pub struct JoinLinkViewerState { /// A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct JoinRequestConvoView { pub convo_id: S, pub member_count: i64, @@ -114,11 +105,9 @@ pub struct JoinRequestConvoView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct JoinRequestView { pub convo_id: S, pub requested_at: Datetime, @@ -127,6 +116,7 @@ pub struct JoinRequestView { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum JoinRule { Anyone, @@ -198,6 +188,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum LinkEnabledStatus { Enabled, @@ -346,7 +337,7 @@ impl LexiconSchema for JoinRequestView { pub mod join_link_preview_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -525,14 +516,20 @@ pub struct JoinLinkPreviewViewBuilder< impl JoinLinkPreviewView { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> JoinLinkPreviewViewBuilder { + pub fn new() -> JoinLinkPreviewViewBuilder< + join_link_preview_view_state::Empty, + DefaultStr, + > { JoinLinkPreviewViewBuilder::new() } } impl JoinLinkPreviewView { /// Create a new builder for this type - pub fn builder() -> JoinLinkPreviewViewBuilder { + pub fn builder() -> JoinLinkPreviewViewBuilder< + join_link_preview_view_state::Empty, + S, + > { JoinLinkPreviewViewBuilder::builder() } } @@ -578,7 +575,10 @@ where } } -impl JoinLinkPreviewViewBuilder { +impl< + St: join_link_preview_view_state::State, + S: BosStr, +> JoinLinkPreviewViewBuilder { /// Set the `convo` field (optional) pub fn convo(mut self, value: impl Into>>) -> Self { self._fields.1 = value.into(); @@ -600,7 +600,10 @@ where pub fn enabled_status( mut self, value: impl Into>, - ) -> JoinLinkPreviewViewBuilder, S> { + ) -> JoinLinkPreviewViewBuilder< + join_link_preview_view_state::SetEnabledStatus, + S, + > { self._fields.2 = Option::Some(value.into()); JoinLinkPreviewViewBuilder { _state: PhantomData, @@ -638,7 +641,10 @@ where pub fn member_count( mut self, value: impl Into, - ) -> JoinLinkPreviewViewBuilder, S> { + ) -> JoinLinkPreviewViewBuilder< + join_link_preview_view_state::SetMemberCount, + S, + > { self._fields.4 = Option::Some(value.into()); JoinLinkPreviewViewBuilder { _state: PhantomData, @@ -657,7 +663,10 @@ where pub fn member_limit( mut self, value: impl Into, - ) -> JoinLinkPreviewViewBuilder, S> { + ) -> JoinLinkPreviewViewBuilder< + join_link_preview_view_state::SetMemberLimit, + S, + > { self._fields.5 = Option::Some(value.into()); JoinLinkPreviewViewBuilder { _state: PhantomData, @@ -714,7 +723,10 @@ where pub fn require_approval( mut self, value: impl Into, - ) -> JoinLinkPreviewViewBuilder, S> { + ) -> JoinLinkPreviewViewBuilder< + join_link_preview_view_state::SetRequireApproval, + S, + > { self._fields.8 = Option::Some(value.into()); JoinLinkPreviewViewBuilder { _state: PhantomData, @@ -724,9 +736,15 @@ where } } -impl JoinLinkPreviewViewBuilder { +impl< + St: join_link_preview_view_state::State, + S: BosStr, +> JoinLinkPreviewViewBuilder { /// Set the `viewer` field (optional) - pub fn viewer(mut self, value: impl Into>>) -> Self { + pub fn viewer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.9 = value.into(); self } @@ -766,7 +784,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> JoinLinkPreviewView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> JoinLinkPreviewView { JoinLinkPreviewView { code: self._fields.0.unwrap(), convo: self._fields.1, @@ -784,10 +805,10 @@ where } fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.group.defs"), @@ -796,24 +817,23 @@ fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("joinLinkPreviewView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("code"), - SmolStr::new_static("name"), - SmolStr::new_static("owner"), - SmolStr::new_static("memberCount"), - SmolStr::new_static("memberLimit"), - SmolStr::new_static("requireApproval"), - SmolStr::new_static("joinRule"), - SmolStr::new_static("enabledStatus"), - ]), + required: Some( + vec![ + SmolStr::new_static("code"), SmolStr::new_static("name"), + SmolStr::new_static("owner"), + SmolStr::new_static("memberCount"), + SmolStr::new_static("memberLimit"), + SmolStr::new_static("requireApproval"), + SmolStr::new_static("joinRule"), + SmolStr::new_static("enabledStatus") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("code"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("convo"), @@ -850,14 +870,14 @@ fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("owner"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("chat.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "chat.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -882,21 +902,21 @@ fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("joinLinkView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("code"), - SmolStr::new_static("enabledStatus"), - SmolStr::new_static("requireApproval"), - SmolStr::new_static("joinRule"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("code"), + SmolStr::new_static("enabledStatus"), + SmolStr::new_static("requireApproval"), + SmolStr::new_static("joinRule"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("code"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -1012,19 +1032,19 @@ fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("joinRequestView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("convoId"), - SmolStr::new_static("requestedBy"), - SmolStr::new_static("requestedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("convoId"), + SmolStr::new_static("requestedBy"), + SmolStr::new_static("requestedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("requestedAt"), @@ -1036,7 +1056,9 @@ fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("requestedBy"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("chat.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "chat.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); @@ -1047,15 +1069,11 @@ fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("joinRule"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("linkEnabledStatus"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map }, @@ -1065,7 +1083,7 @@ fn lexicon_doc_chat_bsky_group_defs() -> LexiconDoc<'static> { pub mod join_link_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1320,7 +1338,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> JoinLinkView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> JoinLinkView { JoinLinkView { code: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -1334,7 +1355,7 @@ where pub mod join_request_convo_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1463,14 +1484,20 @@ pub struct JoinRequestConvoViewBuilder< impl JoinRequestConvoView { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> JoinRequestConvoViewBuilder { + pub fn new() -> JoinRequestConvoViewBuilder< + join_request_convo_view_state::Empty, + DefaultStr, + > { JoinRequestConvoViewBuilder::new() } } impl JoinRequestConvoView { /// Create a new builder for this type - pub fn builder() -> JoinRequestConvoViewBuilder { + pub fn builder() -> JoinRequestConvoViewBuilder< + join_request_convo_view_state::Empty, + S, + > { JoinRequestConvoViewBuilder::builder() } } @@ -1525,7 +1552,10 @@ where pub fn member_count( mut self, value: impl Into, - ) -> JoinRequestConvoViewBuilder, S> { + ) -> JoinRequestConvoViewBuilder< + join_request_convo_view_state::SetMemberCount, + S, + > { self._fields.1 = Option::Some(value.into()); JoinRequestConvoViewBuilder { _state: PhantomData, @@ -1544,7 +1574,10 @@ where pub fn member_limit( mut self, value: impl Into, - ) -> JoinRequestConvoViewBuilder, S> { + ) -> JoinRequestConvoViewBuilder< + join_request_convo_view_state::SetMemberLimit, + S, + > { self._fields.2 = Option::Some(value.into()); JoinRequestConvoViewBuilder { _state: PhantomData, @@ -1601,7 +1634,10 @@ where pub fn requested_at( mut self, value: impl Into, - ) -> JoinRequestConvoViewBuilder, S> { + ) -> JoinRequestConvoViewBuilder< + join_request_convo_view_state::SetRequestedAt, + S, + > { self._fields.5 = Option::Some(value.into()); JoinRequestConvoViewBuilder { _state: PhantomData, @@ -1652,7 +1688,7 @@ where pub mod join_request_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1709,7 +1745,10 @@ pub mod join_request_view_state { } /// Builder for constructing an instance of this type. -pub struct JoinRequestViewBuilder { +pub struct JoinRequestViewBuilder< + St: join_request_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -1825,7 +1864,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> JoinRequestView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> JoinRequestView { JoinRequestView { convo_id: self._fields.0.unwrap(), requested_at: self._fields.1.unwrap(), @@ -1833,4 +1875,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/add_members.rs b/crates/jacquard-api/src/chat_bsky/group/add_members.rs index ac69d719e..5f1bcb940 100644 --- a/crates/jacquard-api/src/chat_bsky/group/add_members.rs +++ b/crates/jacquard-api/src/chat_bsky/group/add_members.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::actor::ProfileViewBasic; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::actor::ProfileViewBasic; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddMembers { pub convo_id: S, pub members: Vec>, @@ -31,11 +28,9 @@ pub struct AddMembers { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddMembersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub added_members: Option>>, @@ -44,9 +39,18 @@ pub struct AddMembersOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum AddMembersError { #[serde(rename = "AccountSuspended")] @@ -71,10 +75,7 @@ pub enum AddMembersError { UserForbidsGroups(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for AddMembersError { @@ -174,8 +175,9 @@ impl jacquard_common::xrpc::XrpcResp for AddMembersResponse { impl jacquard_common::xrpc::XrpcRequest for AddMembers { const NSID: &'static str = "chat.bsky.group.addMembers"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AddMembersResponse; } @@ -185,15 +187,16 @@ Path: `/xrpc/chat.bsky.group.addMembers`. The request payload type is `AddMember pub struct AddMembersRequest; impl jacquard_common::xrpc::XrpcEndpoint for AddMembersRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.addMembers"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AddMembers; type Response = AddMembersResponse; } pub mod add_members_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -331,11 +334,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AddMembers { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AddMembers { AddMembers { convo_id: self._fields.0.unwrap(), members: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/approve_join_request.rs b/crates/jacquard-api/src/chat_bsky/group/approve_join_request.rs index 91ac02de9..e58eed62f 100644 --- a/crates/jacquard-api/src/chat_bsky/group/approve_join_request.rs +++ b/crates/jacquard-api/src/chat_bsky/group/approve_join_request.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ApproveJoinRequest { pub convo_id: S, pub member: Did, @@ -30,20 +27,27 @@ pub struct ApproveJoinRequest { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ApproveJoinRequestOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ApproveJoinRequestError { #[serde(rename = "InvalidConvo")] @@ -54,10 +58,7 @@ pub enum ApproveJoinRequestError { MemberLimitReached(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ApproveJoinRequestError { @@ -108,8 +109,9 @@ impl jacquard_common::xrpc::XrpcResp for ApproveJoinRequestResponse { impl jacquard_common::xrpc::XrpcRequest for ApproveJoinRequest { const NSID: &'static str = "chat.bsky.group.approveJoinRequest"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ApproveJoinRequestResponse; } @@ -119,15 +121,16 @@ Path: `/xrpc/chat.bsky.group.approveJoinRequest`. The request payload type is `A pub struct ApproveJoinRequestRequest; impl jacquard_common::xrpc::XrpcEndpoint for ApproveJoinRequestRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.approveJoinRequest"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ApproveJoinRequest; type Response = ApproveJoinRequestResponse; } pub mod approve_join_request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -170,8 +173,10 @@ pub mod approve_join_request_state { } /// Builder for constructing an instance of this type. -pub struct ApproveJoinRequestBuilder -{ +pub struct ApproveJoinRequestBuilder< + St: approve_join_request_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -179,7 +184,10 @@ pub struct ApproveJoinRequestBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ApproveJoinRequestBuilder { + pub fn new() -> ApproveJoinRequestBuilder< + approve_join_request_state::Empty, + DefaultStr, + > { ApproveJoinRequestBuilder::new() } } @@ -266,11 +274,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ApproveJoinRequest { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ApproveJoinRequest { ApproveJoinRequest { convo_id: self._fields.0.unwrap(), member: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/create_group.rs b/crates/jacquard-api/src/chat_bsky/group/create_group.rs index 960a4f38b..979c72c5c 100644 --- a/crates/jacquard-api/src/chat_bsky/group/create_group.rs +++ b/crates/jacquard-api/src/chat_bsky/group/create_group.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateGroup { pub members: Vec>, pub name: S, @@ -30,20 +27,27 @@ pub struct CreateGroup { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateGroupOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateGroupError { #[serde(rename = "AccountSuspended")] @@ -62,10 +66,7 @@ pub enum CreateGroupError { UserForbidsGroups(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateGroupError { @@ -144,8 +145,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateGroupResponse { impl jacquard_common::xrpc::XrpcRequest for CreateGroup { const NSID: &'static str = "chat.bsky.group.createGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateGroupResponse; } @@ -155,15 +157,16 @@ Path: `/xrpc/chat.bsky.group.createGroup`. The request payload type is `CreateGr pub struct CreateGroupRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateGroupRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.createGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateGroup; type Response = CreateGroupResponse; } pub mod create_group_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -301,11 +304,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateGroup { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateGroup { CreateGroup { members: self._fields.0.unwrap(), name: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/create_join_link.rs b/crates/jacquard-api/src/chat_bsky/group/create_join_link.rs index e0f870530..ff71fba84 100644 --- a/crates/jacquard-api/src/chat_bsky/group/create_join_link.rs +++ b/crates/jacquard-api/src/chat_bsky/group/create_join_link.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::group::JoinLinkView; -use crate::chat_bsky::group::JoinRule; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::group::JoinLinkView; +use crate::chat_bsky::group::JoinRule; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateJoinLink { pub convo_id: S, pub join_rule: JoinRule, @@ -34,20 +31,27 @@ pub struct CreateJoinLink { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateJoinLinkOutput { pub join_link: JoinLinkView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateJoinLinkError { #[serde(rename = "EnabledJoinLinkAlreadyExists")] @@ -58,10 +62,7 @@ pub enum CreateJoinLinkError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateJoinLinkError { @@ -112,8 +113,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateJoinLinkResponse { impl jacquard_common::xrpc::XrpcRequest for CreateJoinLink { const NSID: &'static str = "chat.bsky.group.createJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateJoinLinkResponse; } @@ -123,8 +125,9 @@ Path: `/xrpc/chat.bsky.group.createJoinLink`. The request payload type is `Creat pub struct CreateJoinLinkRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateJoinLinkRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.createJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateJoinLink; type Response = CreateJoinLinkResponse; } @@ -135,7 +138,7 @@ fn _default_create_join_link_require_approval() -> Option { pub mod create_join_link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -178,7 +181,10 @@ pub mod create_join_link_state { } /// Builder for constructing an instance of this type. -pub struct CreateJoinLinkBuilder { +pub struct CreateJoinLinkBuilder< + St: create_join_link_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option), _type: PhantomData S>, @@ -287,7 +293,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateJoinLink { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateJoinLink { CreateJoinLink { convo_id: self._fields.0.unwrap(), join_rule: self._fields.1.unwrap(), @@ -295,4 +304,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/disable_join_link.rs b/crates/jacquard-api/src/chat_bsky/group/disable_join_link.rs index c179ec63c..4f553e149 100644 --- a/crates/jacquard-api/src/chat_bsky/group/disable_join_link.rs +++ b/crates/jacquard-api/src/chat_bsky/group/disable_join_link.rs @@ -8,40 +8,44 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::group::JoinLinkView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::group::JoinLinkView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DisableJoinLink { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DisableJoinLinkOutput { pub join_link: JoinLinkView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DisableJoinLinkError { #[serde(rename = "InvalidConvo")] @@ -52,10 +56,7 @@ pub enum DisableJoinLinkError { NoJoinLink(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DisableJoinLinkError { @@ -106,8 +107,9 @@ impl jacquard_common::xrpc::XrpcResp for DisableJoinLinkResponse { impl jacquard_common::xrpc::XrpcRequest for DisableJoinLink { const NSID: &'static str = "chat.bsky.group.disableJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DisableJoinLinkResponse; } @@ -117,8 +119,9 @@ Path: `/xrpc/chat.bsky.group.disableJoinLink`. The request payload type is `Disa pub struct DisableJoinLinkRequest; impl jacquard_common::xrpc::XrpcEndpoint for DisableJoinLinkRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.disableJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DisableJoinLink; type Response = DisableJoinLinkResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/edit_group.rs b/crates/jacquard-api/src/chat_bsky/group/edit_group.rs index 1ebc437ff..8a711ca2e 100644 --- a/crates/jacquard-api/src/chat_bsky/group/edit_group.rs +++ b/crates/jacquard-api/src/chat_bsky/group/edit_group.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EditGroup { pub convo_id: S, pub name: S, @@ -29,20 +26,27 @@ pub struct EditGroup { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EditGroupOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum EditGroupError { #[serde(rename = "ConvoLocked")] @@ -53,10 +57,7 @@ pub enum EditGroupError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for EditGroupError { @@ -107,8 +108,9 @@ impl jacquard_common::xrpc::XrpcResp for EditGroupResponse { impl jacquard_common::xrpc::XrpcRequest for EditGroup { const NSID: &'static str = "chat.bsky.group.editGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = EditGroupResponse; } @@ -118,8 +120,9 @@ Path: `/xrpc/chat.bsky.group.editGroup`. The request payload type is `EditGroup< pub struct EditGroupRequest; impl jacquard_common::xrpc::XrpcEndpoint for EditGroupRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.editGroup"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = EditGroup; type Response = EditGroupResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/edit_join_link.rs b/crates/jacquard-api/src/chat_bsky/group/edit_join_link.rs index 5363da429..e136c1610 100644 --- a/crates/jacquard-api/src/chat_bsky/group/edit_join_link.rs +++ b/crates/jacquard-api/src/chat_bsky/group/edit_join_link.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::group::JoinLinkView; -use crate::chat_bsky::group::JoinRule; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::group::JoinLinkView; +use crate::chat_bsky::group::JoinRule; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EditJoinLink { pub convo_id: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,20 +30,27 @@ pub struct EditJoinLink { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EditJoinLinkOutput { pub join_link: JoinLinkView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum EditJoinLinkError { #[serde(rename = "InvalidConvo")] @@ -57,10 +61,7 @@ pub enum EditJoinLinkError { NoJoinLink(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for EditJoinLinkError { @@ -111,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for EditJoinLinkResponse { impl jacquard_common::xrpc::XrpcRequest for EditJoinLink { const NSID: &'static str = "chat.bsky.group.editJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = EditJoinLinkResponse; } @@ -122,8 +124,9 @@ Path: `/xrpc/chat.bsky.group.editJoinLink`. The request payload type is `EditJoi pub struct EditJoinLinkRequest; impl jacquard_common::xrpc::XrpcEndpoint for EditJoinLinkRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.editJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = EditJoinLink; type Response = EditJoinLinkResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/enable_join_link.rs b/crates/jacquard-api/src/chat_bsky/group/enable_join_link.rs index 670e7cf8b..fac69c39f 100644 --- a/crates/jacquard-api/src/chat_bsky/group/enable_join_link.rs +++ b/crates/jacquard-api/src/chat_bsky/group/enable_join_link.rs @@ -8,40 +8,44 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::group::JoinLinkView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::group::JoinLinkView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EnableJoinLink { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EnableJoinLinkOutput { pub join_link: JoinLinkView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum EnableJoinLinkError { #[serde(rename = "InvalidConvo")] @@ -54,10 +58,7 @@ pub enum EnableJoinLinkError { LinkAlreadyEnabled(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for EnableJoinLinkError { @@ -115,8 +116,9 @@ impl jacquard_common::xrpc::XrpcResp for EnableJoinLinkResponse { impl jacquard_common::xrpc::XrpcRequest for EnableJoinLink { const NSID: &'static str = "chat.bsky.group.enableJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = EnableJoinLinkResponse; } @@ -126,8 +128,9 @@ Path: `/xrpc/chat.bsky.group.enableJoinLink`. The request payload type is `Enabl pub struct EnableJoinLinkRequest; impl jacquard_common::xrpc::XrpcEndpoint for EnableJoinLinkRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.enableJoinLink"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = EnableJoinLink; type Response = EnableJoinLinkResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/get_join_link_previews.rs b/crates/jacquard-api/src/chat_bsky/group/get_join_link_previews.rs index 5caec11d3..a75afe571 100644 --- a/crates/jacquard-api/src/chat_bsky/group/get_join_link_previews.rs +++ b/crates/jacquard-api/src/chat_bsky/group/get_join_link_previews.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::group::JoinLinkPreviewView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::group::JoinLinkPreviewView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetJoinLinkPreviews { pub codes: Vec, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetJoinLinkPreviewsOutput { pub join_link_previews: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetJoinLinkPreviewsRequest { pub mod get_join_link_previews_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -109,14 +104,20 @@ pub struct GetJoinLinkPreviewsBuilder< impl GetJoinLinkPreviews { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetJoinLinkPreviewsBuilder { + pub fn new() -> GetJoinLinkPreviewsBuilder< + get_join_link_previews_state::Empty, + DefaultStr, + > { GetJoinLinkPreviewsBuilder::new() } } impl GetJoinLinkPreviews { /// Create a new builder for this type - pub fn builder() -> GetJoinLinkPreviewsBuilder { + pub fn builder() -> GetJoinLinkPreviewsBuilder< + get_join_link_previews_state::Empty, + S, + > { GetJoinLinkPreviewsBuilder::builder() } } @@ -173,4 +174,4 @@ where codes: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/list_join_requests.rs b/crates/jacquard-api/src/chat_bsky/group/list_join_requests.rs index a005b5f11..6ca4c8f74 100644 --- a/crates/jacquard-api/src/chat_bsky/group/list_join_requests.rs +++ b/crates/jacquard-api/src/chat_bsky/group/list_join_requests.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::group::JoinRequestView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::group::JoinRequestView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListJoinRequests { pub convo_id: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct ListJoinRequests { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListJoinRequestsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -45,9 +40,18 @@ pub struct ListJoinRequestsOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ListJoinRequestsError { #[serde(rename = "InvalidConvo")] @@ -56,10 +60,7 @@ pub enum ListJoinRequestsError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ListJoinRequestsError { @@ -124,7 +125,7 @@ fn _default_limit() -> Option { pub mod list_join_requests_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -155,7 +156,10 @@ pub mod list_join_requests_state { } /// Builder for constructing an instance of this type. -pub struct ListJoinRequestsBuilder { +pub struct ListJoinRequestsBuilder< + St: list_join_requests_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -163,7 +167,10 @@ pub struct ListJoinRequestsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListJoinRequestsBuilder { + pub fn new() -> ListJoinRequestsBuilder< + list_join_requests_state::Empty, + DefaultStr, + > { ListJoinRequestsBuilder::new() } } @@ -255,4 +262,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/list_mutual_groups.rs b/crates/jacquard-api/src/chat_bsky/group/list_mutual_groups.rs index 36cdde1a2..920ea2a0c 100644 --- a/crates/jacquard-api/src/chat_bsky/group/list_mutual_groups.rs +++ b/crates/jacquard-api/src/chat_bsky/group/list_mutual_groups.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListMutualGroups { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -33,11 +30,9 @@ pub struct ListMutualGroups { pub subject: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListMutualGroupsOutput { pub convos: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -80,7 +75,7 @@ fn _default_limit() -> Option { pub mod list_mutual_groups_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -111,7 +106,10 @@ pub mod list_mutual_groups_state { } /// Builder for constructing an instance of this type. -pub struct ListMutualGroupsBuilder { +pub struct ListMutualGroupsBuilder< + St: list_mutual_groups_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -119,7 +117,10 @@ pub struct ListMutualGroupsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListMutualGroupsBuilder { + pub fn new() -> ListMutualGroupsBuilder< + list_mutual_groups_state::Empty, + DefaultStr, + > { ListMutualGroupsBuilder::new() } } @@ -211,4 +212,4 @@ where subject: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/reject_join_request.rs b/crates/jacquard-api/src/chat_bsky/group/reject_join_request.rs index fd48968bf..2cc0360f3 100644 --- a/crates/jacquard-api/src/chat_bsky/group/reject_join_request.rs +++ b/crates/jacquard-api/src/chat_bsky/group/reject_join_request.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RejectJoinRequest { pub convo_id: S, pub member: Did, @@ -29,19 +26,26 @@ pub struct RejectJoinRequest { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RejectJoinRequestOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RejectJoinRequestError { #[serde(rename = "InvalidConvo")] @@ -50,10 +54,7 @@ pub enum RejectJoinRequestError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RejectJoinRequestError { @@ -97,8 +98,9 @@ impl jacquard_common::xrpc::XrpcResp for RejectJoinRequestResponse { impl jacquard_common::xrpc::XrpcRequest for RejectJoinRequest { const NSID: &'static str = "chat.bsky.group.rejectJoinRequest"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RejectJoinRequestResponse; } @@ -108,15 +110,16 @@ Path: `/xrpc/chat.bsky.group.rejectJoinRequest`. The request payload type is `Re pub struct RejectJoinRequestRequest; impl jacquard_common::xrpc::XrpcEndpoint for RejectJoinRequestRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.rejectJoinRequest"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RejectJoinRequest; type Response = RejectJoinRequestResponse; } pub mod reject_join_request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -159,7 +162,10 @@ pub mod reject_join_request_state { } /// Builder for constructing an instance of this type. -pub struct RejectJoinRequestBuilder { +pub struct RejectJoinRequestBuilder< + St: reject_join_request_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -167,7 +173,10 @@ pub struct RejectJoinRequestBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RejectJoinRequestBuilder { + pub fn new() -> RejectJoinRequestBuilder< + reject_join_request_state::Empty, + DefaultStr, + > { RejectJoinRequestBuilder::new() } } @@ -254,11 +263,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RejectJoinRequest { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RejectJoinRequest { RejectJoinRequest { convo_id: self._fields.0.unwrap(), member: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/remove_members.rs b/crates/jacquard-api/src/chat_bsky/group/remove_members.rs index 063435312..276c3941f 100644 --- a/crates/jacquard-api/src/chat_bsky/group/remove_members.rs +++ b/crates/jacquard-api/src/chat_bsky/group/remove_members.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveMembers { pub convo_id: S, pub members: Vec>, @@ -30,20 +27,27 @@ pub struct RemoveMembers { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveMembersOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RemoveMembersError { #[serde(rename = "InvalidConvo")] @@ -52,10 +56,7 @@ pub enum RemoveMembersError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RemoveMembersError { @@ -99,8 +100,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveMembersResponse { impl jacquard_common::xrpc::XrpcRequest for RemoveMembers { const NSID: &'static str = "chat.bsky.group.removeMembers"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RemoveMembersResponse; } @@ -110,15 +112,16 @@ Path: `/xrpc/chat.bsky.group.removeMembers`. The request payload type is `Remove pub struct RemoveMembersRequest; impl jacquard_common::xrpc::XrpcEndpoint for RemoveMembersRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.removeMembers"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RemoveMembers; type Response = RemoveMembersResponse; } pub mod remove_members_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -161,7 +164,10 @@ pub mod remove_members_state { } /// Builder for constructing an instance of this type. -pub struct RemoveMembersBuilder { +pub struct RemoveMembersBuilder< + St: remove_members_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>>), _type: PhantomData S>, @@ -256,11 +262,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RemoveMembers { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RemoveMembers { RemoveMembers { convo_id: self._fields.0.unwrap(), members: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/request_join.rs b/crates/jacquard-api/src/chat_bsky/group/request_join.rs index a0bf17072..6c1f9d6a3 100644 --- a/crates/jacquard-api/src/chat_bsky/group/request_join.rs +++ b/crates/jacquard-api/src/chat_bsky/group/request_join.rs @@ -8,31 +8,26 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestJoin { pub code: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestJoinOutput { ///The group convo joined. This is only present in the case of status=joined #[serde(skip_serializing_if = "Option::is_none")] @@ -42,6 +37,7 @@ pub struct RequestJoinOutput { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum RequestJoinOutputStatus { Joined, @@ -114,14 +110,25 @@ where match self { RequestJoinOutputStatus::Joined => RequestJoinOutputStatus::Joined, RequestJoinOutputStatus::Pending => RequestJoinOutputStatus::Pending, - RequestJoinOutputStatus::Other(v) => RequestJoinOutputStatus::Other(v.into_static()), + RequestJoinOutputStatus::Other(v) => { + RequestJoinOutputStatus::Other(v.into_static()) + } } } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RequestJoinError { #[serde(rename = "ConvoLocked")] @@ -138,10 +145,7 @@ pub enum RequestJoinError { UserKicked(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RequestJoinError { @@ -213,8 +217,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestJoinResponse { impl jacquard_common::xrpc::XrpcRequest for RequestJoin { const NSID: &'static str = "chat.bsky.group.requestJoin"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestJoinResponse; } @@ -224,8 +229,9 @@ Path: `/xrpc/chat.bsky.group.requestJoin`. The request payload type is `RequestJ pub struct RequestJoinRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestJoinRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.requestJoin"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestJoin; type Response = RequestJoinResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/update_join_requests_read.rs b/crates/jacquard-api/src/chat_bsky/group/update_join_requests_read.rs index c82ca0703..c55655d33 100644 --- a/crates/jacquard-api/src/chat_bsky/group/update_join_requests_read.rs +++ b/crates/jacquard-api/src/chat_bsky/group/update_join_requests_read.rs @@ -10,36 +10,40 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateJoinRequestsRead { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateJoinRequestsReadOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdateJoinRequestsReadError { #[serde(rename = "InvalidConvo")] @@ -48,10 +52,7 @@ pub enum UpdateJoinRequestsReadError { InsufficientRole(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdateJoinRequestsReadError { @@ -95,8 +96,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateJoinRequestsReadResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateJoinRequestsRead { const NSID: &'static str = "chat.bsky.group.updateJoinRequestsRead"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateJoinRequestsReadResponse; } @@ -106,8 +108,9 @@ Path: `/xrpc/chat.bsky.group.updateJoinRequestsRead`. The request payload type i pub struct UpdateJoinRequestsReadRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateJoinRequestsReadRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.updateJoinRequestsRead"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateJoinRequestsRead; type Response = UpdateJoinRequestsReadResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/group/withdraw_join_request.rs b/crates/jacquard-api/src/chat_bsky/group/withdraw_join_request.rs index 5e27d3cf2..e50e98a6c 100644 --- a/crates/jacquard-api/src/chat_bsky/group/withdraw_join_request.rs +++ b/crates/jacquard-api/src/chat_bsky/group/withdraw_join_request.rs @@ -10,46 +10,47 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct WithdrawJoinRequest { pub convo_id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct WithdrawJoinRequestOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum WithdrawJoinRequestError { #[serde(rename = "InvalidJoinRequest")] InvalidJoinRequest(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for WithdrawJoinRequestError { @@ -86,8 +87,9 @@ impl jacquard_common::xrpc::XrpcResp for WithdrawJoinRequestResponse { impl jacquard_common::xrpc::XrpcRequest for WithdrawJoinRequest { const NSID: &'static str = "chat.bsky.group.withdrawJoinRequest"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = WithdrawJoinRequestResponse; } @@ -97,8 +99,9 @@ Path: `/xrpc/chat.bsky.group.withdrawJoinRequest`. The request payload type is ` pub struct WithdrawJoinRequestRequest; impl jacquard_common::xrpc::XrpcEndpoint for WithdrawJoinRequestRequest { const PATH: &'static str = "/xrpc/chat.bsky.group.withdrawJoinRequest"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = WithdrawJoinRequest; type Response = WithdrawJoinRequestResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation.rs b/crates/jacquard-api/src/chat_bsky/moderation.rs index 1274271ff..97f5621df 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation.rs @@ -12,16 +12,18 @@ pub mod get_convo_members; pub mod get_convos; pub mod get_message_context; + #[cfg(feature = "streaming")] pub mod subscribe_mod_events; pub mod update_actor_access; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -32,19 +34,16 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::chat_bsky::convo::ConvoLockStatus; use crate::chat_bsky::group::JoinLinkView; use crate::chat_bsky::moderation; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// [NOTE: This is under active development and should be considered unstable while this note is here]. A view of a conversation for moderation purposes. Unlike chat.bsky.convo.defs#convoView, it does not include viewer-specific data (such as muted, unreadCount, status, lastMessage, lastReaction), since the requester is a moderator and not a member of the conversation. The member list is not included; use chat.bsky.moderation.getConvoMembers to list members. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConvoView { pub id: S, ///Union field that has data specific to different kinds of convos. @@ -55,6 +54,7 @@ pub struct ConvoView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -68,10 +68,7 @@ pub enum ConvoViewKind { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Data specific to a direct conversation, for moderation purposes. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DirectConvo { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -80,10 +77,7 @@ pub struct DirectConvo { /// [NOTE: This is under active development and should be considered unstable while this note is here]. Data specific to a group conversation, for moderation purposes. Unlike chat.bsky.convo.defs#groupConvo, it does not include viewer-specific data (such as unreadJoinRequestCount), since the requester is a moderator and not a member of the conversation. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GroupConvo { pub created_at: Datetime, #[serde(skip_serializing_if = "Option::is_none")] @@ -172,10 +166,10 @@ impl LexiconSchema for GroupConvo { } fn lexicon_doc_chat_bsky_moderation_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.moderation.defs"), @@ -329,7 +323,7 @@ fn lexicon_doc_chat_bsky_moderation_defs() -> LexiconDoc<'static> { pub mod group_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -641,7 +635,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GroupConvo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GroupConvo { GroupConvo { created_at: self._fields.0.unwrap(), join_link: self._fields.1, @@ -653,4 +650,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation/get_actor_metadata.rs b/crates/jacquard-api/src/chat_bsky/moderation/get_actor_metadata.rs index 154efcfe2..455062edc 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation/get_actor_metadata.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation/get_actor_metadata.rs @@ -21,25 +21,20 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::chat_bsky::moderation::get_actor_metadata; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::moderation::get_actor_metadata; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorMetadata { pub actor: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetActorMetadataOutput { pub all: get_actor_metadata::Metadata, pub day: get_actor_metadata::Metadata, @@ -48,11 +43,9 @@ pub struct GetActorMetadataOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Metadata { pub convos: i64, pub convos_started: i64, @@ -107,7 +100,7 @@ impl LexiconSchema for Metadata { pub mod get_actor_metadata_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -138,7 +131,10 @@ pub mod get_actor_metadata_state { } /// Builder for constructing an instance of this type. -pub struct GetActorMetadataBuilder { +pub struct GetActorMetadataBuilder< + St: get_actor_metadata_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -146,7 +142,10 @@ pub struct GetActorMetadataBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetActorMetadataBuilder { + pub fn new() -> GetActorMetadataBuilder< + get_actor_metadata_state::Empty, + DefaultStr, + > { GetActorMetadataBuilder::new() } } @@ -214,7 +213,7 @@ where pub mod metadata_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -436,10 +435,10 @@ where } fn lexicon_doc_chat_bsky_moderation_getActorMetadata() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.moderation.getActorMetadata"), @@ -448,34 +447,38 @@ fn lexicon_doc_chat_bsky_moderation_getActorMetadata() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("actor")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("actor"), - LexXrpcParametersProperty::String(LexString { - format: Some(LexStringFormat::Did), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("actor")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("actor"), + LexXrpcParametersProperty::String(LexString { + format: Some(LexStringFormat::Did), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("metadata"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("messagesSent"), - SmolStr::new_static("messagesReceived"), - SmolStr::new_static("convos"), - SmolStr::new_static("convosStarted"), - ]), + required: Some( + vec![ + SmolStr::new_static("messagesSent"), + SmolStr::new_static("messagesReceived"), + SmolStr::new_static("convos"), + SmolStr::new_static("convosStarted") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -512,4 +515,4 @@ fn lexicon_doc_chat_bsky_moderation_getActorMetadata() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation/get_convo.rs b/crates/jacquard-api/src/chat_bsky/moderation/get_convo.rs index 6a9402df5..d6d88ee62 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation/get_convo.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation/get_convo.rs @@ -8,48 +8,49 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::moderation::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::moderation::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvo { pub convo_id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoOutput { pub convo: ConvoView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetConvoError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetConvoError { @@ -103,7 +104,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConvoRequest { pub mod get_convo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -206,4 +207,4 @@ where convo_id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation/get_convo_members.rs b/crates/jacquard-api/src/chat_bsky/moderation/get_convo_members.rs index 56383b1d7..edb661bfe 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation/get_convo_members.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation/get_convo_members.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::actor::ProfileViewBasic; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::actor::ProfileViewBasic; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoMembers { pub convo_id: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetConvoMembers { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvoMembersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -45,19 +40,25 @@ pub struct GetConvoMembersOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetConvoMembersError { #[serde(rename = "InvalidConvo")] InvalidConvo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetConvoMembersError { @@ -115,7 +116,7 @@ fn _default_limit() -> Option { pub mod get_convo_members_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -146,7 +147,10 @@ pub mod get_convo_members_state { } /// Builder for constructing an instance of this type. -pub struct GetConvoMembersBuilder { +pub struct GetConvoMembersBuilder< + St: get_convo_members_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -246,4 +250,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation/get_convos.rs b/crates/jacquard-api/src/chat_bsky/moderation/get_convos.rs index aef88150f..856b49eff 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation/get_convos.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation/get_convos.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::moderation::ConvoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::moderation::ConvoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvos { pub convo_ids: Vec, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConvosOutput { pub convos: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetConvosRequest { pub mod get_convos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -170,4 +165,4 @@ where convo_ids: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation/get_message_context.rs b/crates/jacquard-api/src/chat_bsky/moderation/get_message_context.rs index c440b1818..20c3dbac5 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation/get_message_context.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation/get_message_context.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::chat_bsky::convo::MessageView; -use crate::chat_bsky::convo::SystemMessageView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::convo::MessageView; +use crate::chat_bsky::convo::SystemMessageView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMessageContext { /// Defaults to `5`. #[serde(default = "_default_after")] @@ -41,17 +38,16 @@ pub struct GetMessageContext { pub message_id: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetMessageContextOutput { pub messages: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -104,7 +100,7 @@ fn _default_max_interleaved_system_messages() -> Option { pub mod get_message_context_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -135,7 +131,10 @@ pub mod get_message_context_state { } /// Builder for constructing an instance of this type. -pub struct GetMessageContextBuilder { +pub struct GetMessageContextBuilder< + St: get_message_context_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option, Option, Option), _type: PhantomData S>, @@ -143,7 +142,10 @@ pub struct GetMessageContextBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetMessageContextBuilder { + pub fn new() -> GetMessageContextBuilder< + get_message_context_state::Empty, + DefaultStr, + > { GetMessageContextBuilder::new() } } @@ -218,7 +220,10 @@ impl GetMessageContextBuilder GetMessageContextBuilder { /// Set the `maxInterleavedSystemMessages` field (optional) - pub fn max_interleaved_system_messages(mut self, value: impl Into>) -> Self { + pub fn max_interleaved_system_messages( + mut self, + value: impl Into>, + ) -> Self { self._fields.3 = value.into(); self } @@ -263,4 +268,4 @@ where message_id: self._fields.4.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation/subscribe_mod_events.rs b/crates/jacquard-api/src/chat_bsky/moderation/subscribe_mod_events.rs index 7eac4278e..6ec1266c9 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation/subscribe_mod_events.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation/subscribe_mod_events.rs @@ -10,28 +10,25 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::chat_bsky::moderation::subscribe_mod_events; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_bsky::moderation::subscribe_mod_events; /// Fired when a user accepts a chat convo, either explicitly or by sending a message. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventChatAccepted { ///The DID of the person accepting the convo. pub actor_did: Did, @@ -129,7 +126,9 @@ where match self { EventChatAcceptedMethod::Explicit => EventChatAcceptedMethod::Explicit, EventChatAcceptedMethod::Message => EventChatAcceptedMethod::Message, - EventChatAcceptedMethod::Other(v) => EventChatAcceptedMethod::Other(v.into_static()), + EventChatAcceptedMethod::Other(v) => { + EventChatAcceptedMethod::Other(v.into_static()) + } } } } @@ -137,10 +136,7 @@ where /// Fired when the first message was sent on a convo. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventConvoFirstMessage { pub convo_id: S, pub created_at: Datetime, @@ -158,10 +154,7 @@ pub struct EventConvoFirstMessage { /// Fire when a group chat is created. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatCreated { ///The DID of the actor performing the action. For this event, same as ownerDid. pub actor_did: Did, @@ -185,10 +178,7 @@ pub struct EventGroupChatCreated { /// Fired when a user requests to join a group chat via an join link that requires approval. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatJoinRequest { ///The DID of the person requesting to join. pub actor_did: Did, @@ -213,10 +203,7 @@ pub struct EventGroupChatJoinRequest { /// Fired when a join request is approved by the group owner. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatJoinRequestApproved { ///The DID of the owner approving the request. pub actor_did: Did, @@ -239,10 +226,7 @@ pub struct EventGroupChatJoinRequestApproved { /// Fired when a join request is rejected by the group owner. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatJoinRequestRejected { ///The DID of the owner rejecting the request. pub actor_did: Did, @@ -265,10 +249,7 @@ pub struct EventGroupChatJoinRequestRejected { /// Fired when a member is added to a group chat. Note that members are added in the 'request' state. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatMemberAdded { ///The DID of the actor performing the action. For this event, same as ownerDid. pub actor_did: Did, @@ -295,10 +276,7 @@ pub struct EventGroupChatMemberAdded { /// Fired when a member joins a group chat via an join link that does not require approval. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatMemberJoined { ///The DID of the person joining. pub actor_did: Did, @@ -323,10 +301,7 @@ pub struct EventGroupChatMemberJoined { /// Fired when a member leaves or is removed from a group chat. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatMemberLeft { ///The DID of the actor. For voluntary: the person leaving. For kicked: the owner. pub actor_did: Did, @@ -397,8 +372,7 @@ impl Serialize for EventGroupChatMemberLeftLeaveMethod { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for EventGroupChatMemberLeftLeaveMethod -{ +for EventGroupChatMemberLeftLeaveMethod { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -438,10 +412,7 @@ where /// Fired when a group chat's metadata or status changes. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventGroupChatUpdated { ///The DID of the actor performing the action (the owner). pub actor_did: Did, @@ -543,7 +514,8 @@ impl Serialize for EventGroupChatUpdatedLockReason { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for EventGroupChatUpdatedLockReason { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for EventGroupChatUpdatedLockReason { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -658,7 +630,8 @@ impl Serialize for EventGroupChatUpdatedUpdateType { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for EventGroupChatUpdatedUpdateType { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for EventGroupChatUpdatedUpdateType { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -685,11 +658,15 @@ where EventGroupChatUpdatedUpdateType::NameChanged => { EventGroupChatUpdatedUpdateType::NameChanged } - EventGroupChatUpdatedUpdateType::Locked => EventGroupChatUpdatedUpdateType::Locked, + EventGroupChatUpdatedUpdateType::Locked => { + EventGroupChatUpdatedUpdateType::Locked + } EventGroupChatUpdatedUpdateType::LockedPermanently => { EventGroupChatUpdatedUpdateType::LockedPermanently } - EventGroupChatUpdatedUpdateType::Unlocked => EventGroupChatUpdatedUpdateType::Unlocked, + EventGroupChatUpdatedUpdateType::Unlocked => { + EventGroupChatUpdatedUpdateType::Unlocked + } EventGroupChatUpdatedUpdateType::JoinLinkCreated => { EventGroupChatUpdatedUpdateType::JoinLinkCreated } @@ -709,10 +686,7 @@ where /// Fired when a user exceeds a rate limit. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventRateLimitExceeded { ///The DID of the user who hit the rate limit. pub actor_did: Did, @@ -724,16 +698,15 @@ pub struct EventRateLimitExceeded { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubscribeModEvents { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -774,62 +747,97 @@ impl SubscribeModEventsMessage { where S: serde::Deserialize<'de>, { - let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?; + let (header, body) = jacquard_common::xrpc::subscription::parse_event_header( + bytes, + )?; match header.t.as_str() { "#eventConvoFirstMessage" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventConvoFirstMessage(Box::new(variant))) } "#eventGroupChatCreated" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatCreated(Box::new(variant))) } "#eventGroupChatMemberAdded" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatMemberAdded(Box::new(variant))) } "#eventGroupChatMemberJoined" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatMemberJoined(Box::new(variant))) } "#eventGroupChatJoinRequest" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatJoinRequest(Box::new(variant))) } "#eventGroupChatJoinRequestApproved" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatJoinRequestApproved(Box::new(variant))) } "#eventGroupChatJoinRequestRejected" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatJoinRequestRejected(Box::new(variant))) } "#eventChatAccepted" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventChatAccepted(Box::new(variant))) } "#eventGroupChatMemberLeft" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatMemberLeft(Box::new(variant))) } "#eventGroupChatUpdated" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventGroupChatUpdated(Box::new(variant))) } "#eventRateLimitExceeded" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::EventRateLimitExceeded(Box::new(variant))) } - unknown => Err(jacquard_common::error::DecodeError::UnknownEventType( - unknown.into(), - )), + unknown => { + Err( + jacquard_common::error::DecodeError::UnknownEventType(unknown.into()), + ) + } } } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SubscribeModEventsError { #[serde(rename = "FutureCursor")] @@ -839,10 +847,7 @@ pub enum SubscribeModEventsError { ConsumerTooSlow(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SubscribeModEventsError { @@ -1043,31 +1048,28 @@ impl LexiconSchema for EventRateLimitExceeded { pub struct SubscribeModEventsStream; impl jacquard_common::xrpc::SubscriptionResp for SubscribeModEventsStream { const NSID: &'static str = "chat.bsky.moderation.subscribeModEvents"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::Json; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json; type Message = SubscribeModEventsMessage; type Error = SubscribeModEventsError; } impl jacquard_common::xrpc::XrpcSubscription for SubscribeModEvents { const NSID: &'static str = "chat.bsky.moderation.subscribeModEvents"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::Json; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json; type Stream = SubscribeModEventsStream; } pub struct SubscribeModEventsEndpoint; impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeModEventsEndpoint { const PATH: &'static str = "/xrpc/chat.bsky.moderation.subscribeModEvents"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::Json; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json; type Params = SubscribeModEvents; type Stream = SubscribeModEventsStream; } pub mod event_chat_accepted_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1178,7 +1180,10 @@ pub mod event_chat_accepted_state { } /// Builder for constructing an instance of this type. -pub struct EventChatAcceptedBuilder { +pub struct EventChatAcceptedBuilder< + St: event_chat_accepted_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -1196,7 +1201,10 @@ pub struct EventChatAcceptedBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> EventChatAcceptedBuilder { + pub fn new() -> EventChatAcceptedBuilder< + event_chat_accepted_state::Empty, + DefaultStr, + > { EventChatAcceptedBuilder::new() } } @@ -1409,7 +1417,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> EventChatAccepted { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> EventChatAccepted { EventChatAccepted { actor_did: self._fields.0.unwrap(), convo_created_at: self._fields.1.unwrap(), @@ -1426,10 +1437,10 @@ where } fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.bsky.moderation.subscribeModEvents"), @@ -1811,29 +1822,34 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> map.insert( SmolStr::new_static("eventGroupChatJoinRequestApproved"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Fired when a join request is approved by the group owner.", - )), - required: Some(vec![ - SmolStr::new_static("actorDid"), - SmolStr::new_static("convoCreatedAt"), - SmolStr::new_static("convoId"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("groupMemberCount"), - SmolStr::new_static("groupName"), - SmolStr::new_static("ownerDid"), - SmolStr::new_static("rev"), - SmolStr::new_static("subjectDid"), - ]), + description: Some( + CowStr::new_static( + "Fired when a join request is approved by the group owner.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("actorDid"), + SmolStr::new_static("convoCreatedAt"), + SmolStr::new_static("convoId"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("groupMemberCount"), + SmolStr::new_static("groupName"), + SmolStr::new_static("ownerDid"), SmolStr::new_static("rev"), + SmolStr::new_static("subjectDid") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("actorDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the owner approving the request.", - )), + description: Some( + CowStr::new_static( + "The DID of the owner approving the request.", + ), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -1841,18 +1857,16 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> map.insert( SmolStr::new_static("convoCreatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the group was originally created.", - )), + description: Some( + CowStr::new_static("When the group was originally created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), ); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -1869,32 +1883,30 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> ); map.insert( SmolStr::new_static("groupName"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("ownerDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the group chat owner.", - )), + description: Some( + CowStr::new_static("The DID of the group chat owner."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), ); map.insert( SmolStr::new_static("rev"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("subjectDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the member whose request was approved.", - )), + description: Some( + CowStr::new_static( + "The DID of the member whose request was approved.", + ), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -1907,29 +1919,34 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> map.insert( SmolStr::new_static("eventGroupChatJoinRequestRejected"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Fired when a join request is rejected by the group owner.", - )), - required: Some(vec![ - SmolStr::new_static("actorDid"), - SmolStr::new_static("convoCreatedAt"), - SmolStr::new_static("convoId"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("groupMemberCount"), - SmolStr::new_static("groupName"), - SmolStr::new_static("ownerDid"), - SmolStr::new_static("rev"), - SmolStr::new_static("subjectDid"), - ]), + description: Some( + CowStr::new_static( + "Fired when a join request is rejected by the group owner.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("actorDid"), + SmolStr::new_static("convoCreatedAt"), + SmolStr::new_static("convoId"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("groupMemberCount"), + SmolStr::new_static("groupName"), + SmolStr::new_static("ownerDid"), SmolStr::new_static("rev"), + SmolStr::new_static("subjectDid") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("actorDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the owner rejecting the request.", - )), + description: Some( + CowStr::new_static( + "The DID of the owner rejecting the request.", + ), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -1937,18 +1954,16 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> map.insert( SmolStr::new_static("convoCreatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the group was originally created.", - )), + description: Some( + CowStr::new_static("When the group was originally created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), ); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -1965,32 +1980,30 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> ); map.insert( SmolStr::new_static("groupName"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("ownerDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the group chat owner.", - )), + description: Some( + CowStr::new_static("The DID of the group chat owner."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), ); map.insert( SmolStr::new_static("rev"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("subjectDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the member whose request was rejected.", - )), + description: Some( + CowStr::new_static( + "The DID of the member whose request was rejected.", + ), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -2474,24 +2487,27 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> map.insert( SmolStr::new_static("eventRateLimitExceeded"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Fired when a user exceeds a rate limit.", - )), - required: Some(vec![ - SmolStr::new_static("actorDid"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("endpoint"), - SmolStr::new_static("rev"), - ]), + description: Some( + CowStr::new_static("Fired when a user exceeds a rate limit."), + ), + required: Some( + vec![ + SmolStr::new_static("actorDid"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("endpoint"), SmolStr::new_static("rev") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("actorDid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID of the user who hit the rate limit.", - )), + description: Some( + CowStr::new_static( + "The DID of the user who hit the rate limit.", + ), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -2506,17 +2522,17 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> map.insert( SmolStr::new_static("endpoint"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The NSID of the endpoint that was rate limited.", - )), + description: Some( + CowStr::new_static( + "The NSID of the endpoint that was rate limited.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("rev"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -2558,7 +2574,7 @@ fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> pub mod event_convo_first_message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2667,15 +2683,20 @@ pub struct EventConvoFirstMessageBuilder< impl EventConvoFirstMessage { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> EventConvoFirstMessageBuilder - { + pub fn new() -> EventConvoFirstMessageBuilder< + event_convo_first_message_state::Empty, + DefaultStr, + > { EventConvoFirstMessageBuilder::new() } } impl EventConvoFirstMessage { /// Create a new builder for this type - pub fn builder() -> EventConvoFirstMessageBuilder { + pub fn builder() -> EventConvoFirstMessageBuilder< + event_convo_first_message_state::Empty, + S, + > { EventConvoFirstMessageBuilder::builder() } } @@ -2691,7 +2712,9 @@ impl EventConvoFirstMessageBuilder EventConvoFirstMessageBuilder { +impl< + S: BosStr, +> EventConvoFirstMessageBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { EventConvoFirstMessageBuilder { @@ -2711,7 +2734,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> EventConvoFirstMessageBuilder, S> { + ) -> EventConvoFirstMessageBuilder< + event_convo_first_message_state::SetConvoId, + S, + > { self._fields.0 = Option::Some(value.into()); EventConvoFirstMessageBuilder { _state: PhantomData, @@ -2730,7 +2756,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventConvoFirstMessageBuilder, S> { + ) -> EventConvoFirstMessageBuilder< + event_convo_first_message_state::SetCreatedAt, + S, + > { self._fields.1 = Option::Some(value.into()); EventConvoFirstMessageBuilder { _state: PhantomData, @@ -2740,7 +2769,10 @@ where } } -impl EventConvoFirstMessageBuilder { +impl< + St: event_convo_first_message_state::State, + S: BosStr, +> EventConvoFirstMessageBuilder { /// Set the `messageId` field (optional) pub fn message_id(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -2762,7 +2794,10 @@ where pub fn recipients( mut self, value: impl Into>>, - ) -> EventConvoFirstMessageBuilder, S> { + ) -> EventConvoFirstMessageBuilder< + event_convo_first_message_state::SetRecipients, + S, + > { self._fields.3 = Option::Some(value.into()); EventConvoFirstMessageBuilder { _state: PhantomData, @@ -2850,7 +2885,7 @@ where pub mod event_group_chat_created_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3054,15 +3089,20 @@ pub struct EventGroupChatCreatedBuilder< impl EventGroupChatCreated { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> EventGroupChatCreatedBuilder - { + pub fn new() -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::Empty, + DefaultStr, + > { EventGroupChatCreatedBuilder::new() } } impl EventGroupChatCreated { /// Create a new builder for this type - pub fn builder() -> EventGroupChatCreatedBuilder { + pub fn builder() -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::Empty, + S, + > { EventGroupChatCreatedBuilder::builder() } } @@ -3098,7 +3138,10 @@ where pub fn actor_did( mut self, value: impl Into>, - ) -> EventGroupChatCreatedBuilder, S> { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetActorDid, + S, + > { self._fields.0 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3117,8 +3160,10 @@ where pub fn convo_created_at( mut self, value: impl Into, - ) -> EventGroupChatCreatedBuilder, S> - { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetConvoCreatedAt, + S, + > { self._fields.1 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3137,7 +3182,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> EventGroupChatCreatedBuilder, S> { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetConvoId, + S, + > { self._fields.2 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3156,7 +3204,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventGroupChatCreatedBuilder, S> { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetCreatedAt, + S, + > { self._fields.3 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3175,8 +3226,10 @@ where pub fn group_member_count( mut self, value: impl Into, - ) -> EventGroupChatCreatedBuilder, S> - { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetGroupMemberCount, + S, + > { self._fields.4 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3195,7 +3248,10 @@ where pub fn group_name( mut self, value: impl Into, - ) -> EventGroupChatCreatedBuilder, S> { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetGroupName, + S, + > { self._fields.5 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3214,8 +3270,10 @@ where pub fn initial_member_dids( mut self, value: impl Into>>, - ) -> EventGroupChatCreatedBuilder, S> - { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetInitialMemberDids, + S, + > { self._fields.6 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3234,7 +3292,10 @@ where pub fn owner_did( mut self, value: impl Into>, - ) -> EventGroupChatCreatedBuilder, S> { + ) -> EventGroupChatCreatedBuilder< + event_group_chat_created_state::SetOwnerDid, + S, + > { self._fields.7 = Option::Some(value.into()); EventGroupChatCreatedBuilder { _state: PhantomData, @@ -3313,7 +3374,7 @@ where pub mod event_group_chat_join_request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3546,22 +3607,28 @@ pub struct EventGroupChatJoinRequestBuilder< impl EventGroupChatJoinRequest { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> EventGroupChatJoinRequestBuilder - { + pub fn new() -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::Empty, + DefaultStr, + > { EventGroupChatJoinRequestBuilder::new() } } impl EventGroupChatJoinRequest { /// Create a new builder for this type - pub fn builder() - -> EventGroupChatJoinRequestBuilder { + pub fn builder() -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::Empty, + S, + > { EventGroupChatJoinRequestBuilder::builder() } } -impl EventGroupChatJoinRequestBuilder { +impl EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { EventGroupChatJoinRequestBuilder { @@ -3572,7 +3639,9 @@ impl EventGroupChatJoinRequestBuilder EventGroupChatJoinRequestBuilder { +impl< + S: BosStr, +> EventGroupChatJoinRequestBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { EventGroupChatJoinRequestBuilder { @@ -3592,8 +3661,10 @@ where pub fn actor_did( mut self, value: impl Into>, - ) -> EventGroupChatJoinRequestBuilder, S> - { + ) -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::SetActorDid, + S, + > { self._fields.0 = Option::Some(value.into()); EventGroupChatJoinRequestBuilder { _state: PhantomData, @@ -3634,8 +3705,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> EventGroupChatJoinRequestBuilder, S> - { + ) -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::SetConvoId, + S, + > { self._fields.2 = Option::Some(value.into()); EventGroupChatJoinRequestBuilder { _state: PhantomData, @@ -3654,8 +3727,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventGroupChatJoinRequestBuilder, S> - { + ) -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::SetCreatedAt, + S, + > { self._fields.3 = Option::Some(value.into()); EventGroupChatJoinRequestBuilder { _state: PhantomData, @@ -3696,8 +3771,10 @@ where pub fn group_name( mut self, value: impl Into, - ) -> EventGroupChatJoinRequestBuilder, S> - { + ) -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::SetGroupName, + S, + > { self._fields.5 = Option::Some(value.into()); EventGroupChatJoinRequestBuilder { _state: PhantomData, @@ -3716,8 +3793,10 @@ where pub fn join_link_code( mut self, value: impl Into, - ) -> EventGroupChatJoinRequestBuilder, S> - { + ) -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::SetJoinLinkCode, + S, + > { self._fields.6 = Option::Some(value.into()); EventGroupChatJoinRequestBuilder { _state: PhantomData, @@ -3736,8 +3815,10 @@ where pub fn owner_did( mut self, value: impl Into>, - ) -> EventGroupChatJoinRequestBuilder, S> - { + ) -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::SetOwnerDid, + S, + > { self._fields.7 = Option::Some(value.into()); EventGroupChatJoinRequestBuilder { _state: PhantomData, @@ -3756,7 +3837,10 @@ where pub fn rev( mut self, value: impl Into, - ) -> EventGroupChatJoinRequestBuilder, S> { + ) -> EventGroupChatJoinRequestBuilder< + event_group_chat_join_request_state::SetRev, + S, + > { self._fields.8 = Option::Some(value.into()); EventGroupChatJoinRequestBuilder { _state: PhantomData, @@ -3841,7 +3925,7 @@ where pub mod event_group_chat_join_request_approved_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4063,12 +4147,10 @@ impl EventGroupChatJoinRequestApproved { } } -impl - EventGroupChatJoinRequestApprovedBuilder< - event_group_chat_join_request_approved_state::Empty, - DefaultStr, - > -{ +impl EventGroupChatJoinRequestApprovedBuilder< + event_group_chat_join_request_approved_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { EventGroupChatJoinRequestApprovedBuilder { @@ -4079,9 +4161,12 @@ impl } } -impl - EventGroupChatJoinRequestApprovedBuilder -{ +impl< + S: BosStr, +> EventGroupChatJoinRequestApprovedBuilder< + event_group_chat_join_request_approved_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { EventGroupChatJoinRequestApprovedBuilder { @@ -4340,7 +4425,7 @@ where pub mod event_group_chat_join_request_rejected_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4562,12 +4647,10 @@ impl EventGroupChatJoinRequestRejected { } } -impl - EventGroupChatJoinRequestRejectedBuilder< - event_group_chat_join_request_rejected_state::Empty, - DefaultStr, - > -{ +impl EventGroupChatJoinRequestRejectedBuilder< + event_group_chat_join_request_rejected_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { EventGroupChatJoinRequestRejectedBuilder { @@ -4578,9 +4661,12 @@ impl } } -impl - EventGroupChatJoinRequestRejectedBuilder -{ +impl< + S: BosStr, +> EventGroupChatJoinRequestRejectedBuilder< + event_group_chat_join_request_rejected_state::Empty, + S, +> { /// Create a new builder with all fields unset pub fn builder() -> Self { EventGroupChatJoinRequestRejectedBuilder { @@ -4839,7 +4925,7 @@ where pub mod event_group_chat_member_added_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5103,42 +5189,46 @@ pub struct EventGroupChatMemberAddedBuilder< impl EventGroupChatMemberAdded { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> EventGroupChatMemberAddedBuilder - { + pub fn new() -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::Empty, + DefaultStr, + > { EventGroupChatMemberAddedBuilder::new() } } impl EventGroupChatMemberAdded { /// Create a new builder for this type - pub fn builder() - -> EventGroupChatMemberAddedBuilder { + pub fn builder() -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::Empty, + S, + > { EventGroupChatMemberAddedBuilder::builder() } } -impl EventGroupChatMemberAddedBuilder { +impl EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { EventGroupChatMemberAddedBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } } -impl EventGroupChatMemberAddedBuilder { +impl< + S: BosStr, +> EventGroupChatMemberAddedBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { EventGroupChatMemberAddedBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -5153,8 +5243,10 @@ where pub fn actor_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberAddedBuilder, S> - { + ) -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::SetActorDid, + S, + > { self._fields.0 = Option::Some(value.into()); EventGroupChatMemberAddedBuilder { _state: PhantomData, @@ -5195,8 +5287,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> EventGroupChatMemberAddedBuilder, S> - { + ) -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::SetConvoId, + S, + > { self._fields.2 = Option::Some(value.into()); EventGroupChatMemberAddedBuilder { _state: PhantomData, @@ -5215,8 +5309,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventGroupChatMemberAddedBuilder, S> - { + ) -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::SetCreatedAt, + S, + > { self._fields.3 = Option::Some(value.into()); EventGroupChatMemberAddedBuilder { _state: PhantomData, @@ -5257,8 +5353,10 @@ where pub fn group_name( mut self, value: impl Into, - ) -> EventGroupChatMemberAddedBuilder, S> - { + ) -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::SetGroupName, + S, + > { self._fields.5 = Option::Some(value.into()); EventGroupChatMemberAddedBuilder { _state: PhantomData, @@ -5277,8 +5375,10 @@ where pub fn owner_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberAddedBuilder, S> - { + ) -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::SetOwnerDid, + S, + > { self._fields.6 = Option::Some(value.into()); EventGroupChatMemberAddedBuilder { _state: PhantomData, @@ -5319,7 +5419,10 @@ where pub fn rev( mut self, value: impl Into, - ) -> EventGroupChatMemberAddedBuilder, S> { + ) -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::SetRev, + S, + > { self._fields.8 = Option::Some(value.into()); EventGroupChatMemberAddedBuilder { _state: PhantomData, @@ -5338,8 +5441,10 @@ where pub fn subject_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberAddedBuilder, S> - { + ) -> EventGroupChatMemberAddedBuilder< + event_group_chat_member_added_state::SetSubjectDid, + S, + > { self._fields.9 = Option::Some(value.into()); EventGroupChatMemberAddedBuilder { _state: PhantomData, @@ -5427,7 +5532,7 @@ where pub mod event_group_chat_member_joined_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5660,22 +5765,28 @@ pub struct EventGroupChatMemberJoinedBuilder< impl EventGroupChatMemberJoined { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> EventGroupChatMemberJoinedBuilder - { + pub fn new() -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::Empty, + DefaultStr, + > { EventGroupChatMemberJoinedBuilder::new() } } impl EventGroupChatMemberJoined { /// Create a new builder for this type - pub fn builder() - -> EventGroupChatMemberJoinedBuilder { + pub fn builder() -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::Empty, + S, + > { EventGroupChatMemberJoinedBuilder::builder() } } -impl EventGroupChatMemberJoinedBuilder { +impl EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { EventGroupChatMemberJoinedBuilder { @@ -5686,7 +5797,9 @@ impl EventGroupChatMemberJoinedBuilder EventGroupChatMemberJoinedBuilder { +impl< + S: BosStr, +> EventGroupChatMemberJoinedBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { EventGroupChatMemberJoinedBuilder { @@ -5706,8 +5819,10 @@ where pub fn actor_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberJoinedBuilder, S> - { + ) -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::SetActorDid, + S, + > { self._fields.0 = Option::Some(value.into()); EventGroupChatMemberJoinedBuilder { _state: PhantomData, @@ -5748,8 +5863,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> EventGroupChatMemberJoinedBuilder, S> - { + ) -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::SetConvoId, + S, + > { self._fields.2 = Option::Some(value.into()); EventGroupChatMemberJoinedBuilder { _state: PhantomData, @@ -5768,8 +5885,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventGroupChatMemberJoinedBuilder, S> - { + ) -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::SetCreatedAt, + S, + > { self._fields.3 = Option::Some(value.into()); EventGroupChatMemberJoinedBuilder { _state: PhantomData, @@ -5810,8 +5929,10 @@ where pub fn group_name( mut self, value: impl Into, - ) -> EventGroupChatMemberJoinedBuilder, S> - { + ) -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::SetGroupName, + S, + > { self._fields.5 = Option::Some(value.into()); EventGroupChatMemberJoinedBuilder { _state: PhantomData, @@ -5852,8 +5973,10 @@ where pub fn owner_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberJoinedBuilder, S> - { + ) -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::SetOwnerDid, + S, + > { self._fields.7 = Option::Some(value.into()); EventGroupChatMemberJoinedBuilder { _state: PhantomData, @@ -5872,8 +5995,10 @@ where pub fn rev( mut self, value: impl Into, - ) -> EventGroupChatMemberJoinedBuilder, S> - { + ) -> EventGroupChatMemberJoinedBuilder< + event_group_chat_member_joined_state::SetRev, + S, + > { self._fields.8 = Option::Some(value.into()); EventGroupChatMemberJoinedBuilder { _state: PhantomData, @@ -5958,7 +6083,7 @@ where pub mod event_group_chat_member_left_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6191,21 +6316,28 @@ pub struct EventGroupChatMemberLeftBuilder< impl EventGroupChatMemberLeft { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> EventGroupChatMemberLeftBuilder { + pub fn new() -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::Empty, + DefaultStr, + > { EventGroupChatMemberLeftBuilder::new() } } impl EventGroupChatMemberLeft { /// Create a new builder for this type - pub fn builder() -> EventGroupChatMemberLeftBuilder - { + pub fn builder() -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::Empty, + S, + > { EventGroupChatMemberLeftBuilder::builder() } } -impl EventGroupChatMemberLeftBuilder { +impl EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { EventGroupChatMemberLeftBuilder { @@ -6216,7 +6348,9 @@ impl EventGroupChatMemberLeftBuilder EventGroupChatMemberLeftBuilder { +impl< + S: BosStr, +> EventGroupChatMemberLeftBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { EventGroupChatMemberLeftBuilder { @@ -6236,8 +6370,10 @@ where pub fn actor_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetActorDid, + S, + > { self._fields.0 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6256,8 +6392,10 @@ where pub fn convo_created_at( mut self, value: impl Into, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetConvoCreatedAt, + S, + > { self._fields.1 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6276,8 +6414,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetConvoId, + S, + > { self._fields.2 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6296,8 +6436,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetCreatedAt, + S, + > { self._fields.3 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6338,8 +6480,10 @@ where pub fn group_name( mut self, value: impl Into, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetGroupName, + S, + > { self._fields.5 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6358,8 +6502,10 @@ where pub fn leave_method( mut self, value: impl Into>, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetLeaveMethod, + S, + > { self._fields.6 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6378,8 +6524,10 @@ where pub fn owner_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetOwnerDid, + S, + > { self._fields.7 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6398,7 +6546,10 @@ where pub fn rev( mut self, value: impl Into, - ) -> EventGroupChatMemberLeftBuilder, S> { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetRev, + S, + > { self._fields.8 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6417,8 +6568,10 @@ where pub fn subject_did( mut self, value: impl Into>, - ) -> EventGroupChatMemberLeftBuilder, S> - { + ) -> EventGroupChatMemberLeftBuilder< + event_group_chat_member_left_state::SetSubjectDid, + S, + > { self._fields.9 = Option::Some(value.into()); EventGroupChatMemberLeftBuilder { _state: PhantomData, @@ -6481,7 +6634,7 @@ where pub mod event_group_chat_updated_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6691,15 +6844,20 @@ pub struct EventGroupChatUpdatedBuilder< impl EventGroupChatUpdated { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> EventGroupChatUpdatedBuilder - { + pub fn new() -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::Empty, + DefaultStr, + > { EventGroupChatUpdatedBuilder::new() } } impl EventGroupChatUpdated { /// Create a new builder for this type - pub fn builder() -> EventGroupChatUpdatedBuilder { + pub fn builder() -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::Empty, + S, + > { EventGroupChatUpdatedBuilder::builder() } } @@ -6710,7 +6868,20 @@ impl EventGroupChatUpdatedBuilder EventGroupChatUpdatedBuilder>, - ) -> EventGroupChatUpdatedBuilder, S> { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetActorDid, + S, + > { self._fields.0 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -6760,8 +6947,10 @@ where pub fn convo_created_at( mut self, value: impl Into, - ) -> EventGroupChatUpdatedBuilder, S> - { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetConvoCreatedAt, + S, + > { self._fields.1 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -6780,7 +6969,10 @@ where pub fn convo_id( mut self, value: impl Into, - ) -> EventGroupChatUpdatedBuilder, S> { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetConvoId, + S, + > { self._fields.2 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -6799,7 +6991,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventGroupChatUpdatedBuilder, S> { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetCreatedAt, + S, + > { self._fields.3 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -6818,8 +7013,10 @@ where pub fn group_member_count( mut self, value: impl Into, - ) -> EventGroupChatUpdatedBuilder, S> - { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetGroupMemberCount, + S, + > { self._fields.4 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -6838,7 +7035,10 @@ where pub fn group_name( mut self, value: impl Into, - ) -> EventGroupChatUpdatedBuilder, S> { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetGroupName, + S, + > { self._fields.5 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -6848,7 +7048,10 @@ where } } -impl EventGroupChatUpdatedBuilder { +impl< + St: event_group_chat_updated_state::State, + S: BosStr, +> EventGroupChatUpdatedBuilder { /// Set the `joinLinkCode` field (optional) pub fn join_link_code(mut self, value: impl Into>) -> Self { self._fields.6 = value.into(); @@ -6861,7 +7064,10 @@ impl EventGroupChatUpdated } } -impl EventGroupChatUpdatedBuilder { +impl< + St: event_group_chat_updated_state::State, + S: BosStr, +> EventGroupChatUpdatedBuilder { /// Set the `joinLinkFollowersOnly` field (optional) pub fn join_link_followers_only(mut self, value: impl Into>) -> Self { self._fields.7 = value.into(); @@ -6874,9 +7080,15 @@ impl EventGroupChatUpdated } } -impl EventGroupChatUpdatedBuilder { +impl< + St: event_group_chat_updated_state::State, + S: BosStr, +> EventGroupChatUpdatedBuilder { /// Set the `joinLinkRequiresApproval` field (optional) - pub fn join_link_requires_approval(mut self, value: impl Into>) -> Self { + pub fn join_link_requires_approval( + mut self, + value: impl Into>, + ) -> Self { self._fields.8 = value.into(); self } @@ -6887,7 +7099,10 @@ impl EventGroupChatUpdated } } -impl EventGroupChatUpdatedBuilder { +impl< + St: event_group_chat_updated_state::State, + S: BosStr, +> EventGroupChatUpdatedBuilder { /// Set the `lockReason` field (optional) pub fn lock_reason( mut self, @@ -6897,13 +7112,19 @@ impl EventGroupChatUpdated self } /// Set the `lockReason` field to an Option value (optional) - pub fn maybe_lock_reason(mut self, value: Option>) -> Self { + pub fn maybe_lock_reason( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } } -impl EventGroupChatUpdatedBuilder { +impl< + St: event_group_chat_updated_state::State, + S: BosStr, +> EventGroupChatUpdatedBuilder { /// Set the `newName` field (optional) pub fn new_name(mut self, value: impl Into>) -> Self { self._fields.10 = value.into(); @@ -6916,7 +7137,10 @@ impl EventGroupChatUpdated } } -impl EventGroupChatUpdatedBuilder { +impl< + St: event_group_chat_updated_state::State, + S: BosStr, +> EventGroupChatUpdatedBuilder { /// Set the `oldName` field (optional) pub fn old_name(mut self, value: impl Into>) -> Self { self._fields.11 = value.into(); @@ -6938,7 +7162,10 @@ where pub fn owner_did( mut self, value: impl Into>, - ) -> EventGroupChatUpdatedBuilder, S> { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetOwnerDid, + S, + > { self._fields.12 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -6976,7 +7203,10 @@ where pub fn update_type( mut self, value: impl Into>, - ) -> EventGroupChatUpdatedBuilder, S> { + ) -> EventGroupChatUpdatedBuilder< + event_group_chat_updated_state::SetUpdateType, + S, + > { self._fields.14 = Option::Some(value.into()); EventGroupChatUpdatedBuilder { _state: PhantomData, @@ -7048,7 +7278,7 @@ where pub mod event_rate_limit_exceeded_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7132,15 +7362,20 @@ pub struct EventRateLimitExceededBuilder< impl EventRateLimitExceeded { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> EventRateLimitExceededBuilder - { + pub fn new() -> EventRateLimitExceededBuilder< + event_rate_limit_exceeded_state::Empty, + DefaultStr, + > { EventRateLimitExceededBuilder::new() } } impl EventRateLimitExceeded { /// Create a new builder for this type - pub fn builder() -> EventRateLimitExceededBuilder { + pub fn builder() -> EventRateLimitExceededBuilder< + event_rate_limit_exceeded_state::Empty, + S, + > { EventRateLimitExceededBuilder::builder() } } @@ -7156,7 +7391,9 @@ impl EventRateLimitExceededBuilder EventRateLimitExceededBuilder { +impl< + S: BosStr, +> EventRateLimitExceededBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { EventRateLimitExceededBuilder { @@ -7176,7 +7413,10 @@ where pub fn actor_did( mut self, value: impl Into>, - ) -> EventRateLimitExceededBuilder, S> { + ) -> EventRateLimitExceededBuilder< + event_rate_limit_exceeded_state::SetActorDid, + S, + > { self._fields.0 = Option::Some(value.into()); EventRateLimitExceededBuilder { _state: PhantomData, @@ -7195,7 +7435,10 @@ where pub fn created_at( mut self, value: impl Into, - ) -> EventRateLimitExceededBuilder, S> { + ) -> EventRateLimitExceededBuilder< + event_rate_limit_exceeded_state::SetCreatedAt, + S, + > { self._fields.1 = Option::Some(value.into()); EventRateLimitExceededBuilder { _state: PhantomData, @@ -7214,7 +7457,10 @@ where pub fn endpoint( mut self, value: impl Into, - ) -> EventRateLimitExceededBuilder, S> { + ) -> EventRateLimitExceededBuilder< + event_rate_limit_exceeded_state::SetEndpoint, + S, + > { self._fields.2 = Option::Some(value.into()); EventRateLimitExceededBuilder { _state: PhantomData, @@ -7278,7 +7524,7 @@ where pub mod subscribe_mod_events_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7296,8 +7542,10 @@ pub mod subscribe_mod_events_state { } /// Builder for constructing an instance of this type. -pub struct SubscribeModEventsBuilder -{ +pub struct SubscribeModEventsBuilder< + St: subscribe_mod_events_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -7305,7 +7553,10 @@ pub struct SubscribeModEventsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SubscribeModEventsBuilder { + pub fn new() -> SubscribeModEventsBuilder< + subscribe_mod_events_state::Empty, + DefaultStr, + > { SubscribeModEventsBuilder::new() } } @@ -7362,4 +7613,4 @@ where cursor: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_bsky/moderation/update_actor_access.rs b/crates/jacquard-api/src/chat_bsky/moderation/update_actor_access.rs index 787305aba..f5985d34f 100644 --- a/crates/jacquard-api/src/chat_bsky/moderation/update_actor_access.rs +++ b/crates/jacquard-api/src/chat_bsky/moderation/update_actor_access.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateActorAccess { pub actor: Did, pub allow_access: bool, @@ -44,8 +41,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateActorAccessResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateActorAccess { const NSID: &'static str = "chat.bsky.moderation.updateActorAccess"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateActorAccessResponse; } @@ -55,15 +53,16 @@ Path: `/xrpc/chat.bsky.moderation.updateActorAccess`. The request payload type i pub struct UpdateActorAccessRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateActorAccessRequest { const PATH: &'static str = "/xrpc/chat.bsky.moderation.updateActorAccess"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateActorAccess; type Response = UpdateActorAccessResponse; } pub mod update_actor_access_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -106,7 +105,10 @@ pub mod update_actor_access_state { } /// Builder for constructing an instance of this type. -pub struct UpdateActorAccessBuilder { +pub struct UpdateActorAccessBuilder< + St: update_actor_access_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -114,7 +116,10 @@ pub struct UpdateActorAccessBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdateActorAccessBuilder { + pub fn new() -> UpdateActorAccessBuilder< + update_actor_access_state::Empty, + DefaultStr, + > { UpdateActorAccessBuilder::new() } } @@ -215,7 +220,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateActorAccess { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateActorAccess { UpdateActorAccess { actor: self._fields.0.unwrap(), allow_access: self._fields.1.unwrap(), @@ -223,4 +231,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_firehose.rs b/crates/jacquard-api/src/chat_firehose.rs index 439374210..f6b86ea65 100644 --- a/crates/jacquard-api/src/chat_firehose.rs +++ b/crates/jacquard-api/src/chat_firehose.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `chat.firehose` Lexicon namespace/module. pub mod auth_full; -pub mod get_user_channels; +pub mod get_user_channels; \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_firehose/auth_full.rs b/crates/jacquard-api/src/chat_firehose/auth_full.rs index 32a48e4d0..c9df5006e 100644 --- a/crates/jacquard-api/src/chat_firehose/auth_full.rs +++ b/crates/jacquard-api/src/chat_firehose/auth_full.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/chat_firehose/get_user_channels.rs b/crates/jacquard-api/src/chat_firehose/get_user_channels.rs index dbf90f8b3..828e2f0a2 100644 --- a/crates/jacquard-api/src/chat_firehose/get_user_channels.rs +++ b/crates/jacquard-api/src/chat_firehose/get_user_channels.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::chat_firehose::get_user_channels; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::chat_firehose::get_user_channels; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Channel { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -39,11 +36,9 @@ pub struct Channel { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetUserChannelsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub channels: Option>>, @@ -101,10 +96,10 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetUserChannelsRequest { } fn lexicon_doc_chat_firehose_getUserChannels() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("chat.firehose.getUserChannels"), @@ -118,15 +113,11 @@ fn lexicon_doc_chat_firehose_getUserChannels() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("uri"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -144,4 +135,4 @@ fn lexicon_doc_chat_firehose_getUserChannels() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/city_yoyle.rs b/crates/jacquard-api/src/city_yoyle.rs index 76d021310..9fc917892 100644 --- a/crates/jacquard-api/src/city_yoyle.rs +++ b/crates/jacquard-api/src/city_yoyle.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `city.yoyle` Lexicon namespace/module. -pub mod status; +pub mod status; \ No newline at end of file diff --git a/crates/jacquard-api/src/city_yoyle/status.rs b/crates/jacquard-api/src/city_yoyle/status.rs index c99838ddf..b1adda0b0 100644 --- a/crates/jacquard-api/src/city_yoyle/status.rs +++ b/crates/jacquard-api/src/city_yoyle/status.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Short status update #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,7 +129,7 @@ impl LexiconSchema for Status { pub mod status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -221,7 +221,10 @@ where St::Text: status_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> StatusBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> StatusBuilder, S> { self._fields.1 = Option::Some(value.into()); StatusBuilder { _state: PhantomData, @@ -255,10 +258,10 @@ where } fn lexicon_doc_city_yoyle_status() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("city.yoyle.status"), @@ -300,4 +303,4 @@ fn lexicon_doc_city_yoyle_status() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/club_stellz.rs b/crates/jacquard-api/src/club_stellz.rs index 5d66b7955..ca2d18de2 100644 --- a/crates/jacquard-api/src/club_stellz.rs +++ b/crates/jacquard-api/src/club_stellz.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `club.stellz` Lexicon namespace/module. -pub mod evm; +pub mod evm; \ No newline at end of file diff --git a/crates/jacquard-api/src/club_stellz/evm.rs b/crates/jacquard-api/src/club_stellz/evm.rs index a68ba8e42..ff9cf6c41 100644 --- a/crates/jacquard-api/src/club_stellz/evm.rs +++ b/crates/jacquard-api/src/club_stellz/evm.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `club.stellz.evm` Lexicon namespace/module. -pub mod address_control; +pub mod address_control; \ No newline at end of file diff --git a/crates/jacquard-api/src/club_stellz/evm/address_control.rs b/crates/jacquard-api/src/club_stellz/evm/address_control.rs index 20e8e3f02..6d638c6b2 100644 --- a/crates/jacquard-api/src/club_stellz/evm/address_control.rs +++ b/crates/jacquard-api/src/club_stellz/evm/address_control.rs @@ -10,8 +10,8 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,16 +22,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::club_stellz::evm::address_control; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::club_stellz::evm::address_control; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddressControl { ///Ethereum address as bytes (20 bytes) #[serde(with = "jacquard_common::serde_bytes_helper")] @@ -47,11 +44,9 @@ pub struct AddressControl { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SiweMessage { ///Ethereum address in 0x-prefixed, checksummed hex format pub address: S, @@ -160,7 +155,7 @@ impl LexiconSchema for SiweMessage { pub mod address_control_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -217,7 +212,10 @@ pub mod address_control_state { } /// Builder for constructing an instance of this type. -pub struct AddressControlBuilder { +pub struct AddressControlBuilder< + St: address_control_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -352,7 +350,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AddressControl { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AddressControl { AddressControl { address: self._fields.0.unwrap(), also_on: self._fields.1, @@ -364,10 +365,10 @@ where } fn lexicon_doc_club_stellz_evm_addressControl() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("club.stellz.evm.addressControl"), @@ -534,7 +535,7 @@ fn lexicon_doc_club_stellz_evm_addressControl() -> LexiconDoc<'static> { pub mod siwe_message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -921,7 +922,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SiweMessage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SiweMessage { SiweMessage { address: self._fields.0.unwrap(), chain_id: self._fields.1.unwrap(), @@ -934,4 +938,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com__5jiji.rs b/crates/jacquard-api/src/com__5jiji.rs index ba7819b76..53ceb02db 100644 --- a/crates/jacquard-api/src/com__5jiji.rs +++ b/crates/jacquard-api/src/com__5jiji.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com..5jiji` Lexicon namespace/module. -pub mod test; +pub mod test; \ No newline at end of file diff --git a/crates/jacquard-api/src/com__5jiji/test.rs b/crates/jacquard-api/src/com__5jiji/test.rs index b6afe2a87..dae517b78 100644 --- a/crates/jacquard-api/src/com__5jiji/test.rs +++ b/crates/jacquard-api/src/com__5jiji/test.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `com..5jiji.test` Lexicon namespace/module. pub mod list_videos; pub mod publish_video; -pub mod videos; +pub mod videos; \ No newline at end of file diff --git a/crates/jacquard-api/src/com__5jiji/test/list_videos.rs b/crates/jacquard-api/src/com__5jiji/test/list_videos.rs index b150e285a..1584f6711 100644 --- a/crates/jacquard-api/src/com__5jiji/test/list_videos.rs +++ b/crates/jacquard-api/src/com__5jiji/test/list_videos.rs @@ -10,12 +10,12 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -54,4 +54,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListVideosRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = ListVideos; type Response = ListVideosResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com__5jiji/test/publish_video.rs b/crates/jacquard-api/src/com__5jiji/test/publish_video.rs index 95f979e25..dee6cf1a5 100644 --- a/crates/jacquard-api/src/com__5jiji/test/publish_video.rs +++ b/crates/jacquard-api/src/com__5jiji/test/publish_video.rs @@ -10,12 +10,12 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -23,15 +23,25 @@ pub struct PublishVideo { pub body: Bytes, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct PublishVideoOutput { pub body: Bytes, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum PublishVideoError { /// The uploaded file was not a video file (or couldn't get converted to a valid video @@ -39,10 +49,7 @@ pub enum PublishVideoError { NotAVideo(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for PublishVideoError { @@ -79,16 +86,22 @@ impl jacquard_common::xrpc::XrpcResp for PublishVideoResponse { impl jacquard_common::xrpc::XrpcRequest for PublishVideo { const NSID: &'static str = "com.5jiji.test.publishVideo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("*/*"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "*/*", + ); type Response = PublishVideoResponse; - fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError> + fn encode_body( + &self, + buffer: &mut Vec, + ) -> Result<(), jacquard_common::xrpc::EncodeError> where Self: Serialize, { Ok(buffer.copy_from_slice(self.body.as_ref())) } - fn decode_body<'de>(body: &'de [u8]) -> Result + fn decode_body<'de>( + body: &'de [u8], + ) -> Result where Self: Deserialize<'de>, { @@ -104,8 +117,9 @@ Path: `/xrpc/com.5jiji.test.publishVideo`. The request payload type is `PublishV pub struct PublishVideoRequest; impl jacquard_common::xrpc::XrpcEndpoint for PublishVideoRequest { const PATH: &'static str = "/xrpc/com.5jiji.test.publishVideo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("*/*"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "*/*", + ); type Request = PublishVideo; type Response = PublishVideoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com__5jiji/test/videos.rs b/crates/jacquard-api/src/com__5jiji/test/videos.rs index 8d00e3d05..23b899696 100644 --- a/crates/jacquard-api/src/com__5jiji/test/videos.rs +++ b/crates/jacquard-api/src/com__5jiji/test/videos.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A video #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -118,7 +118,7 @@ impl LexiconSchema for Videos { pub mod videos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -242,7 +242,10 @@ where St::Id: videos_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into>) -> VideosBuilder, S> { + pub fn id( + mut self, + value: impl Into>, + ) -> VideosBuilder, S> { self._fields.1 = Option::Some(value.into()); VideosBuilder { _state: PhantomData, @@ -258,7 +261,10 @@ where St::Title: videos_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> VideosBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> VideosBuilder, S> { self._fields.2 = Option::Some(value.into()); VideosBuilder { _state: PhantomData, @@ -296,10 +302,10 @@ where } fn lexicon_doc_com_5jiji_test_videos() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.5jiji.test.videos"), @@ -311,11 +317,12 @@ fn lexicon_doc_com_5jiji_test_videos() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A video")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("title"), - SmolStr::new_static("creator"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("title"), + SmolStr::new_static("creator") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -351,4 +358,4 @@ fn lexicon_doc_com_5jiji_test_videos() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_alephcubed.rs b/crates/jacquard-api/src/com_alephcubed.rs index 4494e37fd..da7d647b4 100644 --- a/crates/jacquard-api/src/com_alephcubed.rs +++ b/crates/jacquard-api/src/com_alephcubed.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.alephcubed` Lexicon namespace/module. -pub mod starmark; +pub mod starmark; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_alephcubed/starmark.rs b/crates/jacquard-api/src/com_alephcubed/starmark.rs index 015c53905..3dfb6db2d 100644 --- a/crates/jacquard-api/src/com_alephcubed/starmark.rs +++ b/crates/jacquard-api/src/com_alephcubed/starmark.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.alephcubed.starmark` Lexicon namespace/module. -pub mod review; +pub mod review; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_alephcubed/starmark/review.rs b/crates/jacquard-api/src/com_alephcubed/starmark/review.rs index 4415f0ac7..a61fd1fe4 100644 --- a/crates/jacquard-api/src/com_alephcubed/starmark/review.rs +++ b/crates/jacquard-api/src/com_alephcubed/starmark/review.rs @@ -7,4 +7,4 @@ pub mod book; pub mod game; pub mod movie; -pub mod tvshow; +pub mod tvshow; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_alephcubed/starmark/review/book.rs b/crates/jacquard-api/src/com_alephcubed/starmark/review/book.rs index 7f8ea5cd1..3804ea01c 100644 --- a/crates/jacquard-api/src/com_alephcubed/starmark/review/book.rs +++ b/crates/jacquard-api/src/com_alephcubed/starmark/review/book.rs @@ -7,7 +7,7 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A type of media that can be reviewed #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -16,4 +16,4 @@ impl core::fmt::Display for Book { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "main") } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_alephcubed/starmark/review/game.rs b/crates/jacquard-api/src/com_alephcubed/starmark/review/game.rs index 5a31bbb5c..8908f801e 100644 --- a/crates/jacquard-api/src/com_alephcubed/starmark/review/game.rs +++ b/crates/jacquard-api/src/com_alephcubed/starmark/review/game.rs @@ -7,7 +7,7 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A type of media that can be reviewed #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -16,4 +16,4 @@ impl core::fmt::Display for Game { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "main") } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_alephcubed/starmark/review/movie.rs b/crates/jacquard-api/src/com_alephcubed/starmark/review/movie.rs index 834aa8fe1..4ce72bbd0 100644 --- a/crates/jacquard-api/src/com_alephcubed/starmark/review/movie.rs +++ b/crates/jacquard-api/src/com_alephcubed/starmark/review/movie.rs @@ -7,7 +7,7 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A type of media that can be reviewed #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -16,4 +16,4 @@ impl core::fmt::Display for Movie { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "main") } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_alephcubed/starmark/review/tvshow.rs b/crates/jacquard-api/src/com_alephcubed/starmark/review/tvshow.rs index 0d4bda491..e38da3362 100644 --- a/crates/jacquard-api/src/com_alephcubed/starmark/review/tvshow.rs +++ b/crates/jacquard-api/src/com_alephcubed/starmark/review/tvshow.rs @@ -7,7 +7,7 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A type of media that can be reviewed #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -16,4 +16,4 @@ impl core::fmt::Display for Tvshow { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "main") } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto.rs b/crates/jacquard-api/src/com_atproto.rs index 4e134e12b..d44b10587 100644 --- a/crates/jacquard-api/src/com_atproto.rs +++ b/crates/jacquard-api/src/com_atproto.rs @@ -12,4 +12,4 @@ pub mod moderation; pub mod repo; pub mod server; pub mod sync; -pub mod temp; +pub mod temp; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin.rs b/crates/jacquard-api/src/com_atproto/admin.rs index 05f5b968d..0d744847d 100644 --- a/crates/jacquard-api/src/com_atproto/admin.rs +++ b/crates/jacquard-api/src/com_atproto/admin.rs @@ -22,33 +22,31 @@ pub mod update_account_password; pub mod update_account_signing_key; pub mod update_subject_status; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, Handle}; +use jacquard_common::types::string::{Did, Handle, AtUri, Cid, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::admin; -use crate::com_atproto::server::InviteCode; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server::InviteCode; +use crate::com_atproto::admin; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AccountView { #[serde(skip_serializing_if = "Option::is_none")] pub deactivated_at: Option, @@ -75,11 +73,9 @@ pub struct AccountView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RepoBlobRef { pub cid: Cid, pub did: Did, @@ -89,22 +85,18 @@ pub struct RepoBlobRef { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RepoRef { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StatusAttr { pub applied: bool, #[serde(skip_serializing_if = "Option::is_none")] @@ -113,11 +105,9 @@ pub struct StatusAttr { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ThreatSignature { pub property: S, pub value: S, @@ -202,7 +192,7 @@ impl LexiconSchema for ThreatSignature { pub mod account_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -298,7 +288,18 @@ impl AccountViewBuilder { AccountViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -311,7 +312,18 @@ impl AccountViewBuilder { AccountViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -524,7 +536,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AccountView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AccountView { AccountView { deactivated_at: self._fields.0, did: self._fields.1.unwrap(), @@ -544,10 +559,10 @@ where } fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.admin.defs"), @@ -556,11 +571,12 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("accountView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("did"), SmolStr::new_static("handle"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -580,9 +596,7 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("email"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("emailConfirmedAt"), @@ -607,14 +621,14 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("inviteNote"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("invitedBy"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.server.defs#inviteCode"), + r#ref: CowStr::new_static( + "com.atproto.server.defs#inviteCode", + ), ..Default::default() }), ); @@ -622,7 +636,9 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { SmolStr::new_static("invites"), LexObjectProperty::Array(LexArray { items: LexArrayItem::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.server.defs#inviteCode"), + r#ref: CowStr::new_static( + "com.atproto.server.defs#inviteCode", + ), ..Default::default() }), ..Default::default() @@ -661,7 +677,9 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("repoBlobRef"), LexUserType::Object(LexObject { - required: Some(vec![SmolStr::new_static("did"), SmolStr::new_static("cid")]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -725,9 +743,7 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("ref"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -737,24 +753,21 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("threatSignature"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("property"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![ + SmolStr::new_static("property"), SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("property"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("value"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -769,7 +782,7 @@ fn lexicon_doc_com_atproto_admin_defs() -> LexiconDoc<'static> { pub mod repo_blob_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -921,7 +934,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RepoBlobRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RepoBlobRef { RepoBlobRef { cid: self._fields.0.unwrap(), did: self._fields.1.unwrap(), @@ -933,7 +949,7 @@ where pub mod repo_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1048,7 +1064,7 @@ where pub mod status_attr_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1167,11 +1183,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> StatusAttr { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> StatusAttr { StatusAttr { applied: self._fields.0.unwrap(), r#ref: self._fields.1, extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/delete_account.rs b/crates/jacquard-api/src/com_atproto/admin/delete_account.rs index da61eaac8..cb8ecc61a 100644 --- a/crates/jacquard-api/src/com_atproto/admin/delete_account.rs +++ b/crates/jacquard-api/src/com_atproto/admin/delete_account.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteAccount { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteAccountResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteAccount { const NSID: &'static str = "com.atproto.admin.deleteAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteAccountResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/com.atproto.admin.deleteAccount`. The request payload type is `Dele pub struct DeleteAccountRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteAccountRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.deleteAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteAccount; type Response = DeleteAccountResponse; } pub mod delete_account_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -91,7 +90,10 @@ pub mod delete_account_state { } /// Builder for constructing an instance of this type. -pub struct DeleteAccountBuilder { +pub struct DeleteAccountBuilder< + St: delete_account_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -165,10 +167,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteAccount { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteAccount { DeleteAccount { did: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/disable_account_invites.rs b/crates/jacquard-api/src/com_atproto/admin/disable_account_invites.rs index 10388a073..100981bdc 100644 --- a/crates/jacquard-api/src/com_atproto/admin/disable_account_invites.rs +++ b/crates/jacquard-api/src/com_atproto/admin/disable_account_invites.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DisableAccountInvites { pub account: Did, ///Optional reason for disabled invites. @@ -44,8 +41,9 @@ impl jacquard_common::xrpc::XrpcResp for DisableAccountInvitesResponse { impl jacquard_common::xrpc::XrpcRequest for DisableAccountInvites { const NSID: &'static str = "com.atproto.admin.disableAccountInvites"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DisableAccountInvitesResponse; } @@ -55,15 +53,16 @@ Path: `/xrpc/com.atproto.admin.disableAccountInvites`. The request payload type pub struct DisableAccountInvitesRequest; impl jacquard_common::xrpc::XrpcEndpoint for DisableAccountInvitesRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.disableAccountInvites"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DisableAccountInvites; type Response = DisableAccountInvitesResponse; } pub mod disable_account_invites_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,14 +104,20 @@ pub struct DisableAccountInvitesBuilder< impl DisableAccountInvites { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> DisableAccountInvitesBuilder { + pub fn new() -> DisableAccountInvitesBuilder< + disable_account_invites_state::Empty, + DefaultStr, + > { DisableAccountInvitesBuilder::new() } } impl DisableAccountInvites { /// Create a new builder for this type - pub fn builder() -> DisableAccountInvitesBuilder { + pub fn builder() -> DisableAccountInvitesBuilder< + disable_account_invites_state::Empty, + S, + > { DisableAccountInvitesBuilder::builder() } } @@ -158,7 +163,10 @@ where } } -impl DisableAccountInvitesBuilder { +impl< + St: disable_account_invites_state::State, + S: BosStr, +> DisableAccountInvitesBuilder { /// Set the `note` field (optional) pub fn note(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -195,4 +203,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/disable_invite_codes.rs b/crates/jacquard-api/src/com_atproto/admin/disable_invite_codes.rs index febe7193d..4161128b6 100644 --- a/crates/jacquard-api/src/com_atproto/admin/disable_invite_codes.rs +++ b/crates/jacquard-api/src/com_atproto/admin/disable_invite_codes.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DisableInviteCodes { #[serde(skip_serializing_if = "Option::is_none")] pub accounts: Option>, @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for DisableInviteCodesResponse { impl jacquard_common::xrpc::XrpcRequest for DisableInviteCodes { const NSID: &'static str = "com.atproto.admin.disableInviteCodes"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DisableInviteCodesResponse; } @@ -54,8 +52,9 @@ Path: `/xrpc/com.atproto.admin.disableInviteCodes`. The request payload type is pub struct DisableInviteCodesRequest; impl jacquard_common::xrpc::XrpcEndpoint for DisableInviteCodesRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.disableInviteCodes"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DisableInviteCodes; type Response = DisableInviteCodesResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/enable_account_invites.rs b/crates/jacquard-api/src/com_atproto/admin/enable_account_invites.rs index 73154b2cb..38857c014 100644 --- a/crates/jacquard-api/src/com_atproto/admin/enable_account_invites.rs +++ b/crates/jacquard-api/src/com_atproto/admin/enable_account_invites.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EnableAccountInvites { pub account: Did, ///Optional reason for enabled invites. @@ -44,8 +41,9 @@ impl jacquard_common::xrpc::XrpcResp for EnableAccountInvitesResponse { impl jacquard_common::xrpc::XrpcRequest for EnableAccountInvites { const NSID: &'static str = "com.atproto.admin.enableAccountInvites"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = EnableAccountInvitesResponse; } @@ -55,15 +53,16 @@ Path: `/xrpc/com.atproto.admin.enableAccountInvites`. The request payload type i pub struct EnableAccountInvitesRequest; impl jacquard_common::xrpc::XrpcEndpoint for EnableAccountInvitesRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.enableAccountInvites"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = EnableAccountInvites; type Response = EnableAccountInvitesResponse; } pub mod enable_account_invites_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,14 +104,20 @@ pub struct EnableAccountInvitesBuilder< impl EnableAccountInvites { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> EnableAccountInvitesBuilder { + pub fn new() -> EnableAccountInvitesBuilder< + enable_account_invites_state::Empty, + DefaultStr, + > { EnableAccountInvitesBuilder::new() } } impl EnableAccountInvites { /// Create a new builder for this type - pub fn builder() -> EnableAccountInvitesBuilder { + pub fn builder() -> EnableAccountInvitesBuilder< + enable_account_invites_state::Empty, + S, + > { EnableAccountInvitesBuilder::builder() } } @@ -158,7 +163,10 @@ where } } -impl EnableAccountInvitesBuilder { +impl< + St: enable_account_invites_state::State, + S: BosStr, +> EnableAccountInvitesBuilder { /// Set the `note` field (optional) pub fn note(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -195,4 +203,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/get_account_info.rs b/crates/jacquard-api/src/com_atproto/admin/get_account_info.rs index 114f37b38..5b5dbb3de 100644 --- a/crates/jacquard-api/src/com_atproto/admin/get_account_info.rs +++ b/crates/jacquard-api/src/com_atproto/admin/get_account_info.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::admin::AccountView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::admin::AccountView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountInfo { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountInfoOutput { #[serde(flatten)] pub value: AccountView, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAccountInfoRequest { pub mod get_account_info_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -100,7 +95,10 @@ pub mod get_account_info_state { } /// Builder for constructing an instance of this type. -pub struct GetAccountInfoBuilder { +pub struct GetAccountInfoBuilder< + St: get_account_info_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -172,4 +170,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/get_account_infos.rs b/crates/jacquard-api/src/com_atproto/admin/get_account_infos.rs index f0129ecbd..af75c73c6 100644 --- a/crates/jacquard-api/src/com_atproto/admin/get_account_infos.rs +++ b/crates/jacquard-api/src/com_atproto/admin/get_account_infos.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::admin::AccountView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::admin::AccountView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountInfos { pub dids: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountInfosOutput { pub infos: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAccountInfosRequest { pub mod get_account_infos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_account_infos_state { } /// Builder for constructing an instance of this type. -pub struct GetAccountInfosBuilder { +pub struct GetAccountInfosBuilder< + St: get_account_infos_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -171,4 +169,4 @@ where dids: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/get_invite_codes.rs b/crates/jacquard-api/src/com_atproto/admin/get_invite_codes.rs index 77deb86b4..8b926c809 100644 --- a/crates/jacquard-api/src/com_atproto/admin/get_invite_codes.rs +++ b/crates/jacquard-api/src/com_atproto/admin/get_invite_codes.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::server::InviteCode; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server::InviteCode; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetInviteCodes { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -35,11 +32,9 @@ pub struct GetInviteCodes { pub sort: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetInviteCodesOutput { pub codes: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -86,7 +81,7 @@ fn _default_sort() -> Option { pub mod get_invite_codes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -104,7 +99,10 @@ pub mod get_invite_codes_state { } /// Builder for constructing an instance of this type. -pub struct GetInviteCodesBuilder { +pub struct GetInviteCodesBuilder< + St: get_invite_codes_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -197,4 +195,4 @@ where sort: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/get_subject_status.rs b/crates/jacquard-api/src/com_atproto/admin/get_subject_status.rs index b96b2cac9..0f9210cd2 100644 --- a/crates/jacquard-api/src/com_atproto/admin/get_subject_status.rs +++ b/crates/jacquard-api/src/com_atproto/admin/get_subject_status.rs @@ -8,24 +8,21 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::admin::RepoBlobRef; -use crate::com_atproto::admin::RepoRef; -use crate::com_atproto::admin::StatusAttr; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::admin::RepoBlobRef; +use crate::com_atproto::admin::RepoRef; +use crate::com_atproto::admin::StatusAttr; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSubjectStatus { #[serde(skip_serializing_if = "Option::is_none")] pub blob: Option>, @@ -35,11 +32,9 @@ pub struct GetSubjectStatus { pub uri: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSubjectStatusOutput { #[serde(skip_serializing_if = "Option::is_none")] pub deactivated: Option>, @@ -50,6 +45,7 @@ pub struct GetSubjectStatusOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -92,7 +88,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSubjectStatusRequest { pub mod get_subject_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -110,7 +106,10 @@ pub mod get_subject_status_state { } /// Builder for constructing an instance of this type. -pub struct GetSubjectStatusBuilder { +pub struct GetSubjectStatusBuilder< + St: get_subject_status_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>, Option>), _type: PhantomData S>, @@ -118,7 +117,10 @@ pub struct GetSubjectStatusBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetSubjectStatusBuilder { + pub fn new() -> GetSubjectStatusBuilder< + get_subject_status_state::Empty, + DefaultStr, + > { GetSubjectStatusBuilder::new() } } @@ -203,4 +205,4 @@ where uri: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/search_accounts.rs b/crates/jacquard-api/src/com_atproto/admin/search_accounts.rs index 041f01eae..408134d96 100644 --- a/crates/jacquard-api/src/com_atproto/admin/search_accounts.rs +++ b/crates/jacquard-api/src/com_atproto/admin/search_accounts.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::admin::AccountView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::admin::AccountView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchAccounts { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -33,11 +30,9 @@ pub struct SearchAccounts { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchAccountsOutput { pub accounts: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -80,7 +75,7 @@ fn _default_limit() -> Option { pub mod search_accounts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -98,7 +93,10 @@ pub mod search_accounts_state { } /// Builder for constructing an instance of this type. -pub struct SearchAccountsBuilder { +pub struct SearchAccountsBuilder< + St: search_accounts_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -191,4 +189,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/send_email.rs b/crates/jacquard-api/src/com_atproto/admin/send_email.rs index 15bc94c32..a6b509e1c 100644 --- a/crates/jacquard-api/src/com_atproto/admin/send_email.rs +++ b/crates/jacquard-api/src/com_atproto/admin/send_email.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendEmail { ///Additional comment by the sender that won't be used in the email itself but helpful to provide more context for moderators/reviewers #[serde(skip_serializing_if = "Option::is_none")] @@ -35,11 +32,9 @@ pub struct SendEmail { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SendEmailOutput { pub sent: bool, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -59,8 +54,9 @@ impl jacquard_common::xrpc::XrpcResp for SendEmailResponse { impl jacquard_common::xrpc::XrpcRequest for SendEmail { const NSID: &'static str = "com.atproto.admin.sendEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SendEmailResponse; } @@ -70,15 +66,16 @@ Path: `/xrpc/com.atproto.admin.sendEmail`. The request payload type is `SendEmai pub struct SendEmailRequest; impl jacquard_common::xrpc::XrpcEndpoint for SendEmailRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.sendEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = SendEmail; type Response = SendEmailResponse; } pub mod send_email_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -137,13 +134,7 @@ pub mod send_email_state { /// Builder for constructing an instance of this type. pub struct SendEmailBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -285,7 +276,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SendEmail { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SendEmail { SendEmail { comment: self._fields.0, content: self._fields.1.unwrap(), @@ -295,4 +289,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/update_account_email.rs b/crates/jacquard-api/src/com_atproto/admin/update_account_email.rs index 4c4f9b93f..fbaa5881a 100644 --- a/crates/jacquard-api/src/com_atproto/admin/update_account_email.rs +++ b/crates/jacquard-api/src/com_atproto/admin/update_account_email.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateAccountEmail { ///The handle or DID of the repo. pub account: AtIdentifier, @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateAccountEmailResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateAccountEmail { const NSID: &'static str = "com.atproto.admin.updateAccountEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateAccountEmailResponse; } @@ -54,15 +52,16 @@ Path: `/xrpc/com.atproto.admin.updateAccountEmail`. The request payload type is pub struct UpdateAccountEmailRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateAccountEmailRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.updateAccountEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateAccountEmail; type Response = UpdateAccountEmailResponse; } pub mod update_account_email_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -105,8 +104,10 @@ pub mod update_account_email_state { } /// Builder for constructing an instance of this type. -pub struct UpdateAccountEmailBuilder -{ +pub struct UpdateAccountEmailBuilder< + St: update_account_email_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option), _type: PhantomData S>, @@ -114,7 +115,10 @@ pub struct UpdateAccountEmailBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdateAccountEmailBuilder { + pub fn new() -> UpdateAccountEmailBuilder< + update_account_email_state::Empty, + DefaultStr, + > { UpdateAccountEmailBuilder::new() } } @@ -201,11 +205,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateAccountEmail { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateAccountEmail { UpdateAccountEmail { account: self._fields.0.unwrap(), email: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/update_account_handle.rs b/crates/jacquard-api/src/com_atproto/admin/update_account_handle.rs index 73bd42b50..4d296ad9a 100644 --- a/crates/jacquard-api/src/com_atproto/admin/update_account_handle.rs +++ b/crates/jacquard-api/src/com_atproto/admin/update_account_handle.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Handle}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateAccountHandle { pub did: Did, pub handle: Handle, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateAccountHandleResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateAccountHandle { const NSID: &'static str = "com.atproto.admin.updateAccountHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateAccountHandleResponse; } @@ -53,15 +51,16 @@ Path: `/xrpc/com.atproto.admin.updateAccountHandle`. The request payload type is pub struct UpdateAccountHandleRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateAccountHandleRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.updateAccountHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateAccountHandle; type Response = UpdateAccountHandleResponse; } pub mod update_account_handle_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -115,14 +114,20 @@ pub struct UpdateAccountHandleBuilder< impl UpdateAccountHandle { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdateAccountHandleBuilder { + pub fn new() -> UpdateAccountHandleBuilder< + update_account_handle_state::Empty, + DefaultStr, + > { UpdateAccountHandleBuilder::new() } } impl UpdateAccountHandle { /// Create a new builder for this type - pub fn builder() -> UpdateAccountHandleBuilder { + pub fn builder() -> UpdateAccountHandleBuilder< + update_account_handle_state::Empty, + S, + > { UpdateAccountHandleBuilder::builder() } } @@ -202,11 +207,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateAccountHandle { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateAccountHandle { UpdateAccountHandle { did: self._fields.0.unwrap(), handle: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/update_account_password.rs b/crates/jacquard-api/src/com_atproto/admin/update_account_password.rs index 529319c45..911200351 100644 --- a/crates/jacquard-api/src/com_atproto/admin/update_account_password.rs +++ b/crates/jacquard-api/src/com_atproto/admin/update_account_password.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateAccountPassword { pub did: Did, pub password: S, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateAccountPasswordResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateAccountPassword { const NSID: &'static str = "com.atproto.admin.updateAccountPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateAccountPasswordResponse; } @@ -53,15 +51,16 @@ Path: `/xrpc/com.atproto.admin.updateAccountPassword`. The request payload type pub struct UpdateAccountPasswordRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateAccountPasswordRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.updateAccountPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateAccountPassword; type Response = UpdateAccountPasswordResponse; } pub mod update_account_password_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -115,14 +114,20 @@ pub struct UpdateAccountPasswordBuilder< impl UpdateAccountPassword { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdateAccountPasswordBuilder { + pub fn new() -> UpdateAccountPasswordBuilder< + update_account_password_state::Empty, + DefaultStr, + > { UpdateAccountPasswordBuilder::new() } } impl UpdateAccountPassword { /// Create a new builder for this type - pub fn builder() -> UpdateAccountPasswordBuilder { + pub fn builder() -> UpdateAccountPasswordBuilder< + update_account_password_state::Empty, + S, + > { UpdateAccountPasswordBuilder::builder() } } @@ -177,7 +182,10 @@ where pub fn password( mut self, value: impl Into, - ) -> UpdateAccountPasswordBuilder, S> { + ) -> UpdateAccountPasswordBuilder< + update_account_password_state::SetPassword, + S, + > { self._fields.1 = Option::Some(value.into()); UpdateAccountPasswordBuilder { _state: PhantomData, @@ -212,4 +220,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/update_account_signing_key.rs b/crates/jacquard-api/src/com_atproto/admin/update_account_signing_key.rs index 3829095a6..d7d41e309 100644 --- a/crates/jacquard-api/src/com_atproto/admin/update_account_signing_key.rs +++ b/crates/jacquard-api/src/com_atproto/admin/update_account_signing_key.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateAccountSigningKey { pub did: Did, ///Did-key formatted public key @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateAccountSigningKeyResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateAccountSigningKey { const NSID: &'static str = "com.atproto.admin.updateAccountSigningKey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateAccountSigningKeyResponse; } @@ -54,15 +52,16 @@ Path: `/xrpc/com.atproto.admin.updateAccountSigningKey`. The request payload typ pub struct UpdateAccountSigningKeyRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateAccountSigningKeyRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.updateAccountSigningKey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateAccountSigningKey; type Response = UpdateAccountSigningKeyResponse; } pub mod update_account_signing_key_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -116,20 +115,28 @@ pub struct UpdateAccountSigningKeyBuilder< impl UpdateAccountSigningKey { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> UpdateAccountSigningKeyBuilder { + pub fn new() -> UpdateAccountSigningKeyBuilder< + update_account_signing_key_state::Empty, + DefaultStr, + > { UpdateAccountSigningKeyBuilder::new() } } impl UpdateAccountSigningKey { /// Create a new builder for this type - pub fn builder() -> UpdateAccountSigningKeyBuilder { + pub fn builder() -> UpdateAccountSigningKeyBuilder< + update_account_signing_key_state::Empty, + S, + > { UpdateAccountSigningKeyBuilder::builder() } } -impl UpdateAccountSigningKeyBuilder { +impl UpdateAccountSigningKeyBuilder< + update_account_signing_key_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { UpdateAccountSigningKeyBuilder { @@ -140,7 +147,9 @@ impl UpdateAccountSigningKeyBuilder UpdateAccountSigningKeyBuilder { +impl< + S: BosStr, +> UpdateAccountSigningKeyBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { UpdateAccountSigningKeyBuilder { @@ -160,7 +169,10 @@ where pub fn did( mut self, value: impl Into>, - ) -> UpdateAccountSigningKeyBuilder, S> { + ) -> UpdateAccountSigningKeyBuilder< + update_account_signing_key_state::SetDid, + S, + > { self._fields.0 = Option::Some(value.into()); UpdateAccountSigningKeyBuilder { _state: PhantomData, @@ -179,8 +191,10 @@ where pub fn signing_key( mut self, value: impl Into>, - ) -> UpdateAccountSigningKeyBuilder, S> - { + ) -> UpdateAccountSigningKeyBuilder< + update_account_signing_key_state::SetSigningKey, + S, + > { self._fields.1 = Option::Some(value.into()); UpdateAccountSigningKeyBuilder { _state: PhantomData, @@ -215,4 +229,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/admin/update_subject_status.rs b/crates/jacquard-api/src/com_atproto/admin/update_subject_status.rs index 183aaee64..9998fc784 100644 --- a/crates/jacquard-api/src/com_atproto/admin/update_subject_status.rs +++ b/crates/jacquard-api/src/com_atproto/admin/update_subject_status.rs @@ -8,23 +8,20 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::admin::RepoBlobRef; -use crate::com_atproto::admin::RepoRef; -use crate::com_atproto::admin::StatusAttr; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::admin::RepoBlobRef; +use crate::com_atproto::admin::RepoRef; +use crate::com_atproto::admin::StatusAttr; +use crate::com_atproto::repo::strong_ref::StrongRef; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateSubjectStatus { #[serde(skip_serializing_if = "Option::is_none")] pub deactivated: Option>, @@ -35,6 +32,7 @@ pub struct UpdateSubjectStatus { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -47,11 +45,9 @@ pub enum UpdateSubjectStatusSubject { RepoBlobRef(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateSubjectStatusOutput { pub subject: UpdateSubjectStatusOutputSubject, #[serde(skip_serializing_if = "Option::is_none")] @@ -60,6 +56,7 @@ pub struct UpdateSubjectStatusOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -85,8 +82,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateSubjectStatusResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateSubjectStatus { const NSID: &'static str = "com.atproto.admin.updateSubjectStatus"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateSubjectStatusResponse; } @@ -96,15 +94,16 @@ Path: `/xrpc/com.atproto.admin.updateSubjectStatus`. The request payload type is pub struct UpdateSubjectStatusRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateSubjectStatusRequest { const PATH: &'static str = "/xrpc/com.atproto.admin.updateSubjectStatus"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateSubjectStatus; type Response = UpdateSubjectStatusResponse; } pub mod update_subject_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -150,14 +149,20 @@ pub struct UpdateSubjectStatusBuilder< impl UpdateSubjectStatus { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UpdateSubjectStatusBuilder { + pub fn new() -> UpdateSubjectStatusBuilder< + update_subject_status_state::Empty, + DefaultStr, + > { UpdateSubjectStatusBuilder::new() } } impl UpdateSubjectStatus { /// Create a new builder for this type - pub fn builder() -> UpdateSubjectStatusBuilder { + pub fn builder() -> UpdateSubjectStatusBuilder< + update_subject_status_state::Empty, + S, + > { UpdateSubjectStatusBuilder::builder() } } @@ -184,7 +189,10 @@ impl UpdateSubjectStatusBuilder UpdateSubjectStatusBuilder { +impl< + St: update_subject_status_state::State, + S: BosStr, +> UpdateSubjectStatusBuilder { /// Set the `deactivated` field (optional) pub fn deactivated(mut self, value: impl Into>>) -> Self { self._fields.0 = value.into(); @@ -216,7 +224,10 @@ where } } -impl UpdateSubjectStatusBuilder { +impl< + St: update_subject_status_state::State, + S: BosStr, +> UpdateSubjectStatusBuilder { /// Set the `takedown` field (optional) pub fn takedown(mut self, value: impl Into>>) -> Self { self._fields.2 = value.into(); @@ -244,7 +255,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateSubjectStatus { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateSubjectStatus { UpdateSubjectStatus { deactivated: self._fields.0, subject: self._fields.1.unwrap(), @@ -252,4 +266,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity.rs b/crates/jacquard-api/src/com_atproto/identity.rs index ac5a09c57..0e5de0dcf 100644 --- a/crates/jacquard-api/src/com_atproto/identity.rs +++ b/crates/jacquard-api/src/com_atproto/identity.rs @@ -16,6 +16,7 @@ pub mod sign_plc_operation; pub mod submit_plc_operation; pub mod update_handle; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -34,13 +35,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct IdentityInfo { pub did: Did, ///The complete DID document for the identity. @@ -68,7 +66,7 @@ impl LexiconSchema for IdentityInfo { pub mod identity_info_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -241,7 +239,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> IdentityInfo { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> IdentityInfo { IdentityInfo { did: self._fields.0.unwrap(), did_doc: self._fields.1.unwrap(), @@ -252,10 +253,10 @@ where } fn lexicon_doc_com_atproto_identity_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.identity.defs"), @@ -307,4 +308,4 @@ fn lexicon_doc_com_atproto_identity_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/get_recommended_did_credentials.rs b/crates/jacquard-api/src/com_atproto/identity/get_recommended_did_credentials.rs index d58d04918..94f7b9d58 100644 --- a/crates/jacquard-api/src/com_atproto/identity/get_recommended_did_credentials.rs +++ b/crates/jacquard-api/src/com_atproto/identity/get_recommended_did_credentials.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecommendedDidCredentialsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub also_known_as: Option>, @@ -67,4 +64,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecommendedDidCredentialsRequest const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetRecommendedDidCredentials; type Response = GetRecommendedDidCredentialsResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/refresh_identity.rs b/crates/jacquard-api/src/com_atproto/identity/refresh_identity.rs index aebf39b10..0b9d68e18 100644 --- a/crates/jacquard-api/src/com_atproto/identity/refresh_identity.rs +++ b/crates/jacquard-api/src/com_atproto/identity/refresh_identity.rs @@ -8,32 +8,27 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::identity::IdentityInfo; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::identity::IdentityInfo; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RefreshIdentity { pub identifier: AtIdentifier, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RefreshIdentityOutput { #[serde(flatten)] pub value: IdentityInfo, @@ -41,9 +36,18 @@ pub struct RefreshIdentityOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RefreshIdentityError { /// The resolution process confirmed that the handle does not resolve to any DID. @@ -57,10 +61,7 @@ pub enum RefreshIdentityError { DidDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RefreshIdentityError { @@ -111,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for RefreshIdentityResponse { impl jacquard_common::xrpc::XrpcRequest for RefreshIdentity { const NSID: &'static str = "com.atproto.identity.refreshIdentity"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RefreshIdentityResponse; } @@ -122,15 +124,16 @@ Path: `/xrpc/com.atproto.identity.refreshIdentity`. The request payload type is pub struct RefreshIdentityRequest; impl jacquard_common::xrpc::XrpcEndpoint for RefreshIdentityRequest { const PATH: &'static str = "/xrpc/com.atproto.identity.refreshIdentity"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RefreshIdentity; type Response = RefreshIdentityResponse; } pub mod refresh_identity_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -161,7 +164,10 @@ pub mod refresh_identity_state { } /// Builder for constructing an instance of this type. -pub struct RefreshIdentityBuilder { +pub struct RefreshIdentityBuilder< + St: refresh_identity_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -235,10 +241,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RefreshIdentity { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RefreshIdentity { RefreshIdentity { identifier: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/request_plc_operation_signature.rs b/crates/jacquard-api/src/com_atproto/identity/request_plc_operation_signature.rs index cc2c19f31..2ee6f361c 100644 --- a/crates/jacquard-api/src/com_atproto/identity/request_plc_operation_signature.rs +++ b/crates/jacquard-api/src/com_atproto/identity/request_plc_operation_signature.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `com.atproto.identity.requestPlcOperationSignature` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestPlcOperationSignatureResponse { impl jacquard_common::xrpc::XrpcRequest for RequestPlcOperationSignature { const NSID: &'static str = "com.atproto.identity.requestPlcOperationSignature"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestPlcOperationSignatureResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/com.atproto.identity.requestPlcOperationSignature`. The request pay pub struct RequestPlcOperationSignatureRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestPlcOperationSignatureRequest { const PATH: &'static str = "/xrpc/com.atproto.identity.requestPlcOperationSignature"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestPlcOperationSignature; type Response = RequestPlcOperationSignatureResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/resolve_did.rs b/crates/jacquard-api/src/com_atproto/identity/resolve_did.rs index 8d330ae9d..7a8e2c82d 100644 --- a/crates/jacquard-api/src/com_atproto/identity/resolve_did.rs +++ b/crates/jacquard-api/src/com_atproto/identity/resolve_did.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveDid { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveDidOutput { ///The complete DID document for the identity. pub did_doc: Data, @@ -38,9 +33,18 @@ pub struct ResolveDidOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ResolveDidError { /// The DID resolution process confirmed that there is no current DID. @@ -51,10 +55,7 @@ pub enum ResolveDidError { DidDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ResolveDidError { @@ -115,7 +116,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveDidRequest { pub mod resolve_did_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -218,4 +219,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/resolve_handle.rs b/crates/jacquard-api/src/com_atproto/identity/resolve_handle.rs index fd82f97c5..7a208588c 100644 --- a/crates/jacquard-api/src/com_atproto/identity/resolve_handle.rs +++ b/crates/jacquard-api/src/com_atproto/identity/resolve_handle.rs @@ -10,36 +10,40 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Handle}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveHandle { pub handle: Handle, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveHandleOutput { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ResolveHandleError { /// The resolution process confirmed that the handle does not resolve to any DID. @@ -47,10 +51,7 @@ pub enum ResolveHandleError { HandleNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ResolveHandleError { @@ -104,7 +105,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveHandleRequest { pub mod resolve_handle_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -135,7 +136,10 @@ pub mod resolve_handle_state { } /// Builder for constructing an instance of this type. -pub struct ResolveHandleBuilder { +pub struct ResolveHandleBuilder< + St: resolve_handle_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -207,4 +211,4 @@ where handle: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/resolve_identity.rs b/crates/jacquard-api/src/com_atproto/identity/resolve_identity.rs index 1ed203ea7..d1c97b995 100644 --- a/crates/jacquard-api/src/com_atproto/identity/resolve_identity.rs +++ b/crates/jacquard-api/src/com_atproto/identity/resolve_identity.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::identity::IdentityInfo; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::identity::IdentityInfo; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveIdentity { pub identifier: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveIdentityOutput { #[serde(flatten)] pub value: IdentityInfo, @@ -39,9 +34,18 @@ pub struct ResolveIdentityOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ResolveIdentityError { /// The resolution process confirmed that the handle does not resolve to any DID. @@ -55,10 +59,7 @@ pub enum ResolveIdentityError { DidDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ResolveIdentityError { @@ -126,7 +127,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveIdentityRequest { pub mod resolve_identity_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -157,7 +158,10 @@ pub mod resolve_identity_state { } /// Builder for constructing an instance of this type. -pub struct ResolveIdentityBuilder { +pub struct ResolveIdentityBuilder< + St: resolve_identity_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -229,4 +233,4 @@ where identifier: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/sign_plc_operation.rs b/crates/jacquard-api/src/com_atproto/identity/sign_plc_operation.rs index 949719203..07368e2af 100644 --- a/crates/jacquard-api/src/com_atproto/identity/sign_plc_operation.rs +++ b/crates/jacquard-api/src/com_atproto/identity/sign_plc_operation.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SignPlcOperation { #[serde(skip_serializing_if = "Option::is_none")] pub also_known_as: Option>, @@ -37,11 +34,9 @@ pub struct SignPlcOperation { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SignPlcOperationOutput { ///A signed DID PLC operation. pub operation: Data, @@ -62,8 +57,9 @@ impl jacquard_common::xrpc::XrpcResp for SignPlcOperationResponse { impl jacquard_common::xrpc::XrpcRequest for SignPlcOperation { const NSID: &'static str = "com.atproto.identity.signPlcOperation"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SignPlcOperationResponse; } @@ -73,8 +69,9 @@ Path: `/xrpc/com.atproto.identity.signPlcOperation`. The request payload type is pub struct SignPlcOperationRequest; impl jacquard_common::xrpc::XrpcEndpoint for SignPlcOperationRequest { const PATH: &'static str = "/xrpc/com.atproto.identity.signPlcOperation"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = SignPlcOperation; type Response = SignPlcOperationResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/submit_plc_operation.rs b/crates/jacquard-api/src/com_atproto/identity/submit_plc_operation.rs index da692be7a..dcc6a228d 100644 --- a/crates/jacquard-api/src/com_atproto/identity/submit_plc_operation.rs +++ b/crates/jacquard-api/src/com_atproto/identity/submit_plc_operation.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubmitPlcOperation { pub operation: Data, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -40,8 +37,9 @@ impl jacquard_common::xrpc::XrpcResp for SubmitPlcOperationResponse { impl jacquard_common::xrpc::XrpcRequest for SubmitPlcOperation { const NSID: &'static str = "com.atproto.identity.submitPlcOperation"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = SubmitPlcOperationResponse; } @@ -51,15 +49,16 @@ Path: `/xrpc/com.atproto.identity.submitPlcOperation`. The request payload type pub struct SubmitPlcOperationRequest; impl jacquard_common::xrpc::XrpcEndpoint for SubmitPlcOperationRequest { const PATH: &'static str = "/xrpc/com.atproto.identity.submitPlcOperation"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = SubmitPlcOperation; type Response = SubmitPlcOperationResponse; } pub mod submit_plc_operation_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -90,8 +89,10 @@ pub mod submit_plc_operation_state { } /// Builder for constructing an instance of this type. -pub struct SubmitPlcOperationBuilder -{ +pub struct SubmitPlcOperationBuilder< + St: submit_plc_operation_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -99,7 +100,10 @@ pub struct SubmitPlcOperationBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SubmitPlcOperationBuilder { + pub fn new() -> SubmitPlcOperationBuilder< + submit_plc_operation_state::Empty, + DefaultStr, + > { SubmitPlcOperationBuilder::new() } } @@ -165,10 +169,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SubmitPlcOperation { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SubmitPlcOperation { SubmitPlcOperation { operation: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/identity/update_handle.rs b/crates/jacquard-api/src/com_atproto/identity/update_handle.rs index c1909193d..a0b78c1d9 100644 --- a/crates/jacquard-api/src/com_atproto/identity/update_handle.rs +++ b/crates/jacquard-api/src/com_atproto/identity/update_handle.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Handle; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateHandle { ///The new handle. pub handle: Handle, @@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateHandleResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateHandle { const NSID: &'static str = "com.atproto.identity.updateHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateHandleResponse; } @@ -53,15 +51,16 @@ Path: `/xrpc/com.atproto.identity.updateHandle`. The request payload type is `Up pub struct UpdateHandleRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateHandleRequest { const PATH: &'static str = "/xrpc/com.atproto.identity.updateHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateHandle; type Response = UpdateHandleResponse; } pub mod update_handle_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -166,10 +165,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateHandle { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateHandle { UpdateHandle { handle: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/label.rs b/crates/jacquard-api/src/com_atproto/label.rs index 86d0dd5ea..35502dcba 100644 --- a/crates/jacquard-api/src/com_atproto/label.rs +++ b/crates/jacquard-api/src/com_atproto/label.rs @@ -8,37 +8,36 @@ //! Generated bindings for the `com.atproto.label` Lexicon namespace/module. pub mod query_labels; + #[cfg(feature = "streaming")] pub mod subscribe_labels; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Datetime, Did, Language, UriValue}; +use jacquard_common::types::string::{Did, Cid, Datetime, Language, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::label; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::label; /// Metadata tag on an atproto resource (eg, repo or record). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Label { ///Optionally, CID specifying the specific version of 'uri' resource this label applies to. #[serde(skip_serializing_if = "Option::is_none")] @@ -68,6 +67,7 @@ pub struct Label { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum LabelValue { Hide, @@ -166,10 +166,7 @@ where /// Declares a label value and its expected interpretations and behaviors. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelValueDefinition { ///Does the user need to have adult content enabled in order to configure this label? #[serde(skip_serializing_if = "Option::is_none")] @@ -239,7 +236,8 @@ impl Serialize for LabelValueDefinitionBlurs { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for LabelValueDefinitionBlurs { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for LabelValueDefinitionBlurs { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -324,7 +322,8 @@ impl Serialize for LabelValueDefinitionDefaultSetting { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for LabelValueDefinitionDefaultSetting { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for LabelValueDefinitionDefaultSetting { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -351,8 +350,12 @@ where LabelValueDefinitionDefaultSetting::Ignore => { LabelValueDefinitionDefaultSetting::Ignore } - LabelValueDefinitionDefaultSetting::Warn => LabelValueDefinitionDefaultSetting::Warn, - LabelValueDefinitionDefaultSetting::Hide => LabelValueDefinitionDefaultSetting::Hide, + LabelValueDefinitionDefaultSetting::Warn => { + LabelValueDefinitionDefaultSetting::Warn + } + LabelValueDefinitionDefaultSetting::Hide => { + LabelValueDefinitionDefaultSetting::Hide + } LabelValueDefinitionDefaultSetting::Other(v) => { LabelValueDefinitionDefaultSetting::Other(v.into_static()) } @@ -411,7 +414,8 @@ impl Serialize for LabelValueDefinitionSeverity { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for LabelValueDefinitionSeverity { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for LabelValueDefinitionSeverity { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -448,10 +452,7 @@ where /// Strings which describe the label in the UI, localized into a specific language. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LabelValueDefinitionStrings { ///A longer description of what the label means and why it might be applied. pub description: S, @@ -466,10 +467,7 @@ pub struct LabelValueDefinitionStrings { /// Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SelfLabel { ///The short string name of the value or type of this label. pub val: S, @@ -480,10 +478,7 @@ pub struct SelfLabel { /// Metadata tags on an atproto record, published by the author within the record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SelfLabels { pub values: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -672,7 +667,7 @@ impl LexiconSchema for SelfLabels { pub mod label_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -816,7 +811,10 @@ where St::Cts: label_state::IsUnset, { /// Set the `cts` field (required) - pub fn cts(mut self, value: impl Into) -> LabelBuilder, S> { + pub fn cts( + mut self, + value: impl Into, + ) -> LabelBuilder, S> { self._fields.1 = Option::Some(value.into()); LabelBuilder { _state: PhantomData, @@ -871,7 +869,10 @@ where St::Src: label_state::IsUnset, { /// Set the `src` field (required) - pub fn src(mut self, value: impl Into>) -> LabelBuilder, S> { + pub fn src( + mut self, + value: impl Into>, + ) -> LabelBuilder, S> { self._fields.5 = Option::Some(value.into()); LabelBuilder { _state: PhantomData, @@ -906,7 +907,10 @@ where St::Val: label_state::IsUnset, { /// Set the `val` field (required) - pub fn val(mut self, value: impl Into) -> LabelBuilder, S> { + pub fn val( + mut self, + value: impl Into, + ) -> LabelBuilder, S> { self._fields.7 = Option::Some(value.into()); LabelBuilder { _state: PhantomData, @@ -970,10 +974,10 @@ where } fn lexicon_doc_com_atproto_label_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.label.defs"), @@ -1089,9 +1093,7 @@ fn lexicon_doc_com_atproto_label_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("labelValue"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("labelValueDefinition"), @@ -1301,7 +1303,7 @@ fn lexicon_doc_com_atproto_label_defs() -> LexiconDoc<'static> { pub mod label_value_definition_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1392,14 +1394,20 @@ pub struct LabelValueDefinitionBuilder< impl LabelValueDefinition { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> LabelValueDefinitionBuilder { + pub fn new() -> LabelValueDefinitionBuilder< + label_value_definition_state::Empty, + DefaultStr, + > { LabelValueDefinitionBuilder::new() } } impl LabelValueDefinition { /// Create a new builder for this type - pub fn builder() -> LabelValueDefinitionBuilder { + pub fn builder() -> LabelValueDefinitionBuilder< + label_value_definition_state::Empty, + S, + > { LabelValueDefinitionBuilder::builder() } } @@ -1426,7 +1434,10 @@ impl LabelValueDefinitionBuilder LabelValueDefinitionBuilder { +impl< + St: label_value_definition_state::State, + S: BosStr, +> LabelValueDefinitionBuilder { /// Set the `adultOnly` field (optional) pub fn adult_only(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -1458,7 +1469,10 @@ where } } -impl LabelValueDefinitionBuilder { +impl< + St: label_value_definition_state::State, + S: BosStr, +> LabelValueDefinitionBuilder { /// Set the `defaultSetting` field (optional) pub fn default_setting( mut self, @@ -1486,7 +1500,10 @@ where pub fn identifier( mut self, value: impl Into, - ) -> LabelValueDefinitionBuilder, S> { + ) -> LabelValueDefinitionBuilder< + label_value_definition_state::SetIdentifier, + S, + > { self._fields.3 = Option::Some(value.into()); LabelValueDefinitionBuilder { _state: PhantomData, @@ -1573,7 +1590,7 @@ where pub mod label_value_definition_strings_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1641,22 +1658,28 @@ pub struct LabelValueDefinitionStringsBuilder< impl LabelValueDefinitionStrings { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> LabelValueDefinitionStringsBuilder - { + pub fn new() -> LabelValueDefinitionStringsBuilder< + label_value_definition_strings_state::Empty, + DefaultStr, + > { LabelValueDefinitionStringsBuilder::new() } } impl LabelValueDefinitionStrings { /// Create a new builder for this type - pub fn builder() - -> LabelValueDefinitionStringsBuilder { + pub fn builder() -> LabelValueDefinitionStringsBuilder< + label_value_definition_strings_state::Empty, + S, + > { LabelValueDefinitionStringsBuilder::builder() } } -impl LabelValueDefinitionStringsBuilder { +impl LabelValueDefinitionStringsBuilder< + label_value_definition_strings_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { LabelValueDefinitionStringsBuilder { @@ -1667,7 +1690,9 @@ impl LabelValueDefinitionStringsBuilder LabelValueDefinitionStringsBuilder { +impl< + S: BosStr, +> LabelValueDefinitionStringsBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { LabelValueDefinitionStringsBuilder { @@ -1709,8 +1734,10 @@ where pub fn lang( mut self, value: impl Into, - ) -> LabelValueDefinitionStringsBuilder, S> - { + ) -> LabelValueDefinitionStringsBuilder< + label_value_definition_strings_state::SetLang, + S, + > { self._fields.1 = Option::Some(value.into()); LabelValueDefinitionStringsBuilder { _state: PhantomData, @@ -1729,8 +1756,10 @@ where pub fn name( mut self, value: impl Into, - ) -> LabelValueDefinitionStringsBuilder, S> - { + ) -> LabelValueDefinitionStringsBuilder< + label_value_definition_strings_state::SetName, + S, + > { self._fields.2 = Option::Some(value.into()); LabelValueDefinitionStringsBuilder { _state: PhantomData, @@ -1772,7 +1801,7 @@ where pub mod self_labels_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1877,10 +1906,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SelfLabels { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SelfLabels { SelfLabels { values: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/label/query_labels.rs b/crates/jacquard-api/src/com_atproto/label/query_labels.rs index dbdd2234f..ce28f99fe 100644 --- a/crates/jacquard-api/src/com_atproto/label/query_labels.rs +++ b/crates/jacquard-api/src/com_atproto/label/query_labels.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::label::Label; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::label::Label; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryLabels { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -35,11 +32,9 @@ pub struct QueryLabels { pub uri_patterns: Vec, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryLabelsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -82,7 +77,7 @@ fn _default_limit() -> Option { pub mod query_labels_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -227,4 +222,4 @@ where uri_patterns: self._fields.3.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/label/subscribe_labels.rs b/crates/jacquard-api/src/com_atproto/label/subscribe_labels.rs index d9162f701..62a7ec505 100644 --- a/crates/jacquard-api/src/com_atproto/label/subscribe_labels.rs +++ b/crates/jacquard-api/src/com_atproto/label/subscribe_labels.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,17 +20,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::label::Label; -use crate::com_atproto::label::subscribe_labels; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::label::Label; +use crate::com_atproto::label::subscribe_labels; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Info { #[serde(skip_serializing_if = "Option::is_none")] pub message: Option, @@ -39,6 +36,7 @@ pub struct Info { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum InfoName { OutdatedCursor, @@ -112,11 +110,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Labels { pub labels: Vec>, pub seq: i64, @@ -124,6 +120,7 @@ pub struct Labels { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct SubscribeLabels { @@ -131,6 +128,7 @@ pub struct SubscribeLabels { pub cursor: Option, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -149,36 +147,50 @@ impl SubscribeLabelsMessage { where S: serde::Deserialize<'de>, { - let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?; + let (header, body) = jacquard_common::xrpc::subscription::parse_event_header( + bytes, + )?; match header.t.as_str() { "#labels" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Labels(Box::new(variant))) } "#info" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Info(Box::new(variant))) } - unknown => Err(jacquard_common::error::DecodeError::UnknownEventType( - unknown.into(), - )), + unknown => { + Err( + jacquard_common::error::DecodeError::UnknownEventType(unknown.into()), + ) + } } } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SubscribeLabelsError { #[serde(rename = "FutureCursor")] FutureCursor(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SubscribeLabelsError { @@ -237,8 +249,7 @@ impl LexiconSchema for Labels { pub struct SubscribeLabelsStream; impl jacquard_common::xrpc::SubscriptionResp for SubscribeLabelsStream { const NSID: &'static str = "com.atproto.label.subscribeLabels"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::DagCbor; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; type Message = SubscribeLabelsMessage; type Error = SubscribeLabelsError; fn decode_message<'de, S>( @@ -254,25 +265,23 @@ impl jacquard_common::xrpc::SubscriptionResp for SubscribeLabelsStream { impl jacquard_common::xrpc::XrpcSubscription for SubscribeLabels { const NSID: &'static str = "com.atproto.label.subscribeLabels"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::DagCbor; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; type Stream = SubscribeLabelsStream; } pub struct SubscribeLabelsEndpoint; impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeLabelsEndpoint { const PATH: &'static str = "/xrpc/com.atproto.label.subscribeLabels"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::DagCbor; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; type Params = SubscribeLabels; type Stream = SubscribeLabelsStream; } fn lexicon_doc_com_atproto_label_subscribeLabels() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.label.subscribeLabels"), @@ -287,15 +296,11 @@ fn lexicon_doc_com_atproto_label_subscribeLabels() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("message"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -305,10 +310,9 @@ fn lexicon_doc_com_atproto_label_subscribeLabels() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("labels"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("seq"), - SmolStr::new_static("labels"), - ]), + required: Some( + vec![SmolStr::new_static("seq"), SmolStr::new_static("labels")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -336,20 +340,22 @@ fn lexicon_doc_com_atproto_label_subscribeLabels() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcSubscription(LexXrpcSubscription { - parameters: Some(LexXrpcSubscriptionParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcSubscriptionParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -361,7 +367,7 @@ fn lexicon_doc_com_atproto_label_subscribeLabels() -> LexiconDoc<'static> { pub mod labels_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -471,7 +477,10 @@ where St::Seq: labels_state::IsUnset, { /// Set the `seq` field (required) - pub fn seq(mut self, value: impl Into) -> LabelsBuilder, S> { + pub fn seq( + mut self, + value: impl Into, + ) -> LabelsBuilder, S> { self._fields.1 = Option::Some(value.into()); LabelsBuilder { _state: PhantomData, @@ -507,7 +516,7 @@ where pub mod subscribe_labels_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -580,4 +589,4 @@ where cursor: self._fields.0, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/lexicon.rs b/crates/jacquard-api/src/com_atproto/lexicon.rs index 125d4aa6a..17f6bdbf9 100644 --- a/crates/jacquard-api/src/com_atproto/lexicon.rs +++ b/crates/jacquard-api/src/com_atproto/lexicon.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `com.atproto.lexicon` Lexicon namespace/module. pub mod resolve_lexicon; -pub mod schema; +pub mod schema; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/lexicon/resolve_lexicon.rs b/crates/jacquard-api/src/com_atproto/lexicon/resolve_lexicon.rs index 3c89ae571..3b5bbe0c4 100644 --- a/crates/jacquard-api/src/com_atproto/lexicon/resolve_lexicon.rs +++ b/crates/jacquard-api/src/com_atproto/lexicon/resolve_lexicon.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::lexicon::schema::Schema; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Nsid}; +use jacquard_common::types::string::{AtUri, Nsid, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::lexicon::schema::Schema; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveLexicon { pub nsid: Nsid, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveLexiconOutput { ///The CID of the lexicon schema record. pub cid: Cid, @@ -43,9 +38,18 @@ pub struct ResolveLexiconOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ResolveLexiconError { /// No lexicon was resolved for the NSID. @@ -53,10 +57,7 @@ pub enum ResolveLexiconError { LexiconNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ResolveLexiconError { @@ -110,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveLexiconRequest { pub mod resolve_lexicon_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -141,7 +142,10 @@ pub mod resolve_lexicon_state { } /// Builder for constructing an instance of this type. -pub struct ResolveLexiconBuilder { +pub struct ResolveLexiconBuilder< + St: resolve_lexicon_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -213,4 +217,4 @@ where nsid: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/lexicon/schema.rs b/crates/jacquard-api/src/com_atproto/lexicon/schema.rs index 9f6843c6e..fa2bfbd42 100644 --- a/crates/jacquard-api/src/com_atproto/lexicon/schema.rs +++ b/crates/jacquard-api/src/com_atproto/lexicon/schema.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Representation of Lexicon schemas themselves, when published as atproto records. Note that the schema language is not defined in Lexicon; this meta schema currently only includes a single version field ('lexicon'). See the atproto specifications for description of the other expected top-level fields ('id', 'defs', etc). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -104,7 +104,7 @@ impl LexiconSchema for Schema { pub mod schema_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -218,10 +218,10 @@ where } fn lexicon_doc_com_atproto_lexicon_schema() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.lexicon.schema"), @@ -258,4 +258,4 @@ fn lexicon_doc_com_atproto_lexicon_schema() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/moderation.rs b/crates/jacquard-api/src/com_atproto/moderation.rs index 07f4b85aa..e668eae3e 100644 --- a/crates/jacquard-api/src/com_atproto/moderation.rs +++ b/crates/jacquard-api/src/com_atproto/moderation.rs @@ -8,9 +8,9 @@ //! Generated bindings for the `com.atproto.moderation` Lexicon namespace/module. pub mod create_report; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Appeal a previously taken moderation action #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -71,6 +71,7 @@ impl core::fmt::Display for ReasonSpam { } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ReasonType { ComAtprotoModerationDefsReasonSpam, @@ -126,7 +127,9 @@ pub enum ReasonType { impl ReasonType { pub fn as_str(&self) -> &str { match self { - Self::ComAtprotoModerationDefsReasonSpam => "com.atproto.moderation.defs#reasonSpam", + Self::ComAtprotoModerationDefsReasonSpam => { + "com.atproto.moderation.defs#reasonSpam" + } Self::ComAtprotoModerationDefsReasonViolation => { "com.atproto.moderation.defs#reasonViolation" } @@ -136,13 +139,21 @@ impl ReasonType { Self::ComAtprotoModerationDefsReasonSexual => { "com.atproto.moderation.defs#reasonSexual" } - Self::ComAtprotoModerationDefsReasonRude => "com.atproto.moderation.defs#reasonRude", - Self::ComAtprotoModerationDefsReasonOther => "com.atproto.moderation.defs#reasonOther", + Self::ComAtprotoModerationDefsReasonRude => { + "com.atproto.moderation.defs#reasonRude" + } + Self::ComAtprotoModerationDefsReasonOther => { + "com.atproto.moderation.defs#reasonOther" + } Self::ComAtprotoModerationDefsReasonAppeal => { "com.atproto.moderation.defs#reasonAppeal" } - Self::ToolsOzoneReportDefsReasonAppeal => "tools.ozone.report.defs#reasonAppeal", - Self::ToolsOzoneReportDefsReasonOther => "tools.ozone.report.defs#reasonOther", + Self::ToolsOzoneReportDefsReasonAppeal => { + "tools.ozone.report.defs#reasonAppeal" + } + Self::ToolsOzoneReportDefsReasonOther => { + "tools.ozone.report.defs#reasonOther" + } Self::ToolsOzoneReportDefsReasonViolenceAnimal => { "tools.ozone.report.defs#reasonViolenceAnimal" } @@ -239,7 +250,9 @@ impl ReasonType { Self::ToolsOzoneReportDefsReasonRuleBanEvasion => { "tools.ozone.report.defs#reasonRuleBanEvasion" } - Self::ToolsOzoneReportDefsReasonRuleOther => "tools.ozone.report.defs#reasonRuleOther", + Self::ToolsOzoneReportDefsReasonRuleOther => { + "tools.ozone.report.defs#reasonRuleOther" + } Self::ToolsOzoneReportDefsReasonSelfHarmContent => { "tools.ozone.report.defs#reasonSelfHarmContent" } @@ -261,7 +274,9 @@ impl ReasonType { /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "com.atproto.moderation.defs#reasonSpam" => Self::ComAtprotoModerationDefsReasonSpam, + "com.atproto.moderation.defs#reasonSpam" => { + Self::ComAtprotoModerationDefsReasonSpam + } "com.atproto.moderation.defs#reasonViolation" => { Self::ComAtprotoModerationDefsReasonViolation } @@ -271,13 +286,21 @@ impl ReasonType { "com.atproto.moderation.defs#reasonSexual" => { Self::ComAtprotoModerationDefsReasonSexual } - "com.atproto.moderation.defs#reasonRude" => Self::ComAtprotoModerationDefsReasonRude, - "com.atproto.moderation.defs#reasonOther" => Self::ComAtprotoModerationDefsReasonOther, + "com.atproto.moderation.defs#reasonRude" => { + Self::ComAtprotoModerationDefsReasonRude + } + "com.atproto.moderation.defs#reasonOther" => { + Self::ComAtprotoModerationDefsReasonOther + } "com.atproto.moderation.defs#reasonAppeal" => { Self::ComAtprotoModerationDefsReasonAppeal } - "tools.ozone.report.defs#reasonAppeal" => Self::ToolsOzoneReportDefsReasonAppeal, - "tools.ozone.report.defs#reasonOther" => Self::ToolsOzoneReportDefsReasonOther, + "tools.ozone.report.defs#reasonAppeal" => { + Self::ToolsOzoneReportDefsReasonAppeal + } + "tools.ozone.report.defs#reasonOther" => { + Self::ToolsOzoneReportDefsReasonOther + } "tools.ozone.report.defs#reasonViolenceAnimal" => { Self::ToolsOzoneReportDefsReasonViolenceAnimal } @@ -374,7 +397,9 @@ impl ReasonType { "tools.ozone.report.defs#reasonRuleBanEvasion" => { Self::ToolsOzoneReportDefsReasonRuleBanEvasion } - "tools.ozone.report.defs#reasonRuleOther" => Self::ToolsOzoneReportDefsReasonRuleOther, + "tools.ozone.report.defs#reasonRuleOther" => { + Self::ToolsOzoneReportDefsReasonRuleOther + } "tools.ozone.report.defs#reasonSelfHarmContent" => { Self::ToolsOzoneReportDefsReasonSelfHarmContent } @@ -665,4 +690,4 @@ where SubjectType::Other(v) => SubjectType::Other(v.into_static()), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/moderation/create_report.rs b/crates/jacquard-api/src/com_atproto/moderation/create_report.rs index 77dd80a02..4a81d9d43 100644 --- a/crates/jacquard-api/src/com_atproto/moderation/create_report.rs +++ b/crates/jacquard-api/src/com_atproto/moderation/create_report.rs @@ -10,30 +10,27 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::admin::RepoRef; use crate::com_atproto::moderation::ReasonType; -use crate::com_atproto::moderation::create_report; use crate::com_atproto::repo::strong_ref::StrongRef; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::com_atproto::moderation::create_report; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateReport { #[serde(skip_serializing_if = "Option::is_none")] pub mod_tool: Option>, @@ -47,6 +44,7 @@ pub struct CreateReport { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -57,11 +55,9 @@ pub enum CreateReportSubject { StrongRef(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateReportOutput { pub created_at: Datetime, pub id: i64, @@ -74,6 +70,7 @@ pub struct CreateReportOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -87,10 +84,7 @@ pub enum CreateReportOutputSubject { /// Moderation tool information for tracing the source of the action #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModTool { ///Additional arbitrary metadata about the source #[serde(skip_serializing_if = "Option::is_none")] @@ -114,8 +108,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateReportResponse { impl jacquard_common::xrpc::XrpcRequest for CreateReport { const NSID: &'static str = "com.atproto.moderation.createReport"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateReportResponse; } @@ -125,8 +120,9 @@ Path: `/xrpc/com.atproto.moderation.createReport`. The request payload type is ` pub struct CreateReportRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateReportRequest { const PATH: &'static str = "/xrpc/com.atproto.moderation.createReport"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateReport; type Response = CreateReportResponse; } @@ -148,7 +144,7 @@ impl LexiconSchema for ModTool { pub mod create_report_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -240,7 +236,10 @@ impl CreateReportBuilder { impl CreateReportBuilder { /// Set the `modTool` field (optional) - pub fn mod_tool(mut self, value: impl Into>>) -> Self { + pub fn mod_tool( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -319,7 +318,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateReport { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateReport { CreateReport { mod_tool: self._fields.0, reason: self._fields.1, @@ -331,10 +333,10 @@ where } fn lexicon_doc_com_atproto_moderation_createReport() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.moderation.createReport"), @@ -345,55 +347,61 @@ fn lexicon_doc_com_atproto_moderation_createReport() -> LexiconDoc<'static> { LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("reasonType"), - SmolStr::new_static("subject"), - ]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("modTool"), - LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("#modTool"), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("reason"), - LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Additional context about the content and violation.", - )), - max_length: Some(20000usize), - max_graphemes: Some(2000usize), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("reasonType"), - LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static( - "com.atproto.moderation.defs#reasonType", - ), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("subject"), - LexObjectProperty::Union(LexRefUnion { - refs: vec![ - CowStr::new_static("com.atproto.admin.defs#repoRef"), - CowStr::new_static("com.atproto.repo.strongRef"), - ], - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some( + vec![ + SmolStr::new_static("reasonType"), + SmolStr::new_static("subject") + ], + ), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("modTool"), + LexObjectProperty::Ref(LexRef { + r#ref: CowStr::new_static("#modTool"), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("reason"), + LexObjectProperty::String(LexString { + description: Some( + CowStr::new_static( + "Additional context about the content and violation.", + ), + ), + max_length: Some(20000usize), + max_graphemes: Some(2000usize), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("reasonType"), + LexObjectProperty::Ref(LexRef { + r#ref: CowStr::new_static( + "com.atproto.moderation.defs#reasonType", + ), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("subject"), + LexObjectProperty::Union(LexRefUnion { + refs: vec![ + CowStr::new_static("com.atproto.admin.defs#repoRef"), + CowStr::new_static("com.atproto.repo.strongRef") + ], + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -437,4 +445,4 @@ fn lexicon_doc_com_atproto_moderation_createReport() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo.rs b/crates/jacquard-api/src/com_atproto/repo.rs index cfb2d442f..418965865 100644 --- a/crates/jacquard-api/src/com_atproto/repo.rs +++ b/crates/jacquard-api/src/com_atproto/repo.rs @@ -18,6 +18,7 @@ pub mod put_record; pub mod strong_ref; pub mod upload_blob; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -28,7 +29,7 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Tid}; +use jacquard_common::types::string::{Tid, Cid}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; @@ -36,13 +37,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CommitMeta { pub cid: Cid, pub rev: Tid, @@ -67,7 +65,7 @@ impl LexiconSchema for CommitMeta { pub mod commit_meta_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -205,7 +203,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CommitMeta { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CommitMeta { CommitMeta { cid: self._fields.0.unwrap(), rev: self._fields.1.unwrap(), @@ -215,10 +216,10 @@ where } fn lexicon_doc_com_atproto_repo_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.repo.defs"), @@ -227,7 +228,9 @@ fn lexicon_doc_com_atproto_repo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("commitMeta"), LexUserType::Object(LexObject { - required: Some(vec![SmolStr::new_static("cid"), SmolStr::new_static("rev")]), + required: Some( + vec![SmolStr::new_static("cid"), SmolStr::new_static("rev")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -254,4 +257,4 @@ fn lexicon_doc_com_atproto_repo_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/apply_writes.rs b/crates/jacquard-api/src/com_atproto/repo/apply_writes.rs index cd3d3f2db..d5572a511 100644 --- a/crates/jacquard-api/src/com_atproto/repo/apply_writes.rs +++ b/crates/jacquard-api/src/com_atproto/repo/apply_writes.rs @@ -10,30 +10,27 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; -use jacquard_common::types::string::{AtUri, Cid, Nsid, RecordKey, Rkey}; +use jacquard_common::types::string::{AtUri, Nsid, Cid, RecordKey, Rkey}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::CommitMeta; -use crate::com_atproto::repo::apply_writes; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::CommitMeta; +use crate::com_atproto::repo::apply_writes; /// Operation which creates a new record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Create { pub collection: Nsid, ///NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility. @@ -44,11 +41,9 @@ pub struct Create { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateResult { pub cid: Cid, pub uri: AtUri, @@ -58,6 +53,7 @@ pub struct CreateResult { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum CreateResultValidationStatus { Valid, @@ -104,7 +100,8 @@ impl Serialize for CreateResultValidationStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CreateResultValidationStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for CreateResultValidationStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -129,7 +126,9 @@ where fn into_static(self) -> Self::Output { match self { CreateResultValidationStatus::Valid => CreateResultValidationStatus::Valid, - CreateResultValidationStatus::Unknown => CreateResultValidationStatus::Unknown, + CreateResultValidationStatus::Unknown => { + CreateResultValidationStatus::Unknown + } CreateResultValidationStatus::Other(v) => { CreateResultValidationStatus::Other(v.into_static()) } @@ -140,10 +139,7 @@ where /// Operation which deletes an existing record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Delete { pub collection: Nsid, pub rkey: RecordKey>, @@ -151,21 +147,17 @@ pub struct Delete { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteResult { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ApplyWrites { ///The handle or DID of the repo (aka, current account). pub repo: AtIdentifier, @@ -180,6 +172,7 @@ pub struct ApplyWrites { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub enum ApplyWritesWritesItem { @@ -191,11 +184,9 @@ pub enum ApplyWritesWritesItem { Delete(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ApplyWritesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub commit: Option>, @@ -205,6 +196,7 @@ pub struct ApplyWritesOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub enum ApplyWritesOutputResultsItem { @@ -216,9 +208,18 @@ pub enum ApplyWritesOutputResultsItem { DeleteResult(Box>), } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ApplyWritesError { /// Indicates that the 'swapCommit' parameter did not match current commit. @@ -226,10 +227,7 @@ pub enum ApplyWritesError { InvalidSwap(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ApplyWritesError { @@ -256,10 +254,7 @@ impl core::fmt::Display for ApplyWritesError { /// Operation which updates an existing record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Update { pub collection: Nsid, pub rkey: RecordKey>, @@ -268,11 +263,9 @@ pub struct Update { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateResult { pub cid: Cid, pub uri: AtUri, @@ -282,6 +275,7 @@ pub struct UpdateResult { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UpdateResultValidationStatus { Valid, @@ -328,7 +322,8 @@ impl Serialize for UpdateResultValidationStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for UpdateResultValidationStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for UpdateResultValidationStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -353,7 +348,9 @@ where fn into_static(self) -> Self::Output { match self { UpdateResultValidationStatus::Valid => UpdateResultValidationStatus::Valid, - UpdateResultValidationStatus::Unknown => UpdateResultValidationStatus::Unknown, + UpdateResultValidationStatus::Unknown => { + UpdateResultValidationStatus::Unknown + } UpdateResultValidationStatus::Other(v) => { UpdateResultValidationStatus::Other(v.into_static()) } @@ -444,8 +441,9 @@ impl jacquard_common::xrpc::XrpcResp for ApplyWritesResponse { impl jacquard_common::xrpc::XrpcRequest for ApplyWrites { const NSID: &'static str = "com.atproto.repo.applyWrites"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ApplyWritesResponse; } @@ -455,8 +453,9 @@ Path: `/xrpc/com.atproto.repo.applyWrites`. The request payload type is `ApplyWr pub struct ApplyWritesRequest; impl jacquard_common::xrpc::XrpcEndpoint for ApplyWritesRequest { const PATH: &'static str = "/xrpc/com.atproto.repo.applyWrites"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ApplyWrites; type Response = ApplyWritesResponse; } @@ -493,7 +492,7 @@ impl LexiconSchema for UpdateResult { pub mod create_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -656,10 +655,10 @@ where } fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.repo.applyWrites"), @@ -714,7 +713,9 @@ fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createResult"), LexUserType::Object(LexObject { - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -734,9 +735,7 @@ fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("validationStatus"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -746,13 +745,15 @@ fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("delete"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Operation which deletes an existing record.", - )), - required: Some(vec![ - SmolStr::new_static("collection"), - SmolStr::new_static("rkey"), - ]), + description: Some( + CowStr::new_static("Operation which deletes an existing record."), + ), + required: Some( + vec![ + SmolStr::new_static("collection"), + SmolStr::new_static("rkey") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -859,14 +860,15 @@ fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("update"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Operation which updates an existing record.", - )), - required: Some(vec![ - SmolStr::new_static("collection"), - SmolStr::new_static("rkey"), - SmolStr::new_static("value"), - ]), + description: Some( + CowStr::new_static("Operation which updates an existing record."), + ), + required: Some( + vec![ + SmolStr::new_static("collection"), + SmolStr::new_static("rkey"), SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -898,7 +900,9 @@ fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updateResult"), LexUserType::Object(LexObject { - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -918,9 +922,7 @@ fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("validationStatus"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -935,7 +937,7 @@ fn lexicon_doc_com_atproto_repo_applyWrites() -> LexiconDoc<'static> { pub mod create_result_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -980,11 +982,7 @@ pub mod create_result_state { /// Builder for constructing an instance of this type. pub struct CreateResultBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - Option>, - ), + _fields: (Option>, Option>, Option>), _type: PhantomData S>, } @@ -1097,7 +1095,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateResult { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateResult { CreateResult { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -1109,7 +1110,7 @@ where pub mod delete_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1258,7 +1259,7 @@ where pub mod apply_writes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1429,7 +1430,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ApplyWrites { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ApplyWrites { ApplyWrites { repo: self._fields.0.unwrap(), swap_commit: self._fields.1, @@ -1442,7 +1446,7 @@ where pub mod update_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1627,7 +1631,7 @@ where pub mod update_result_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1672,11 +1676,7 @@ pub mod update_result_state { /// Builder for constructing an instance of this type. pub struct UpdateResultBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - Option>, - ), + _fields: (Option>, Option>, Option>), _type: PhantomData S>, } @@ -1789,7 +1789,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateResult { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateResult { UpdateResult { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -1797,4 +1800,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/create_record.rs b/crates/jacquard-api/src/com_atproto/repo/create_record.rs index 2bcca02ab..861c315b4 100644 --- a/crates/jacquard-api/src/com_atproto/repo/create_record.rs +++ b/crates/jacquard-api/src/com_atproto/repo/create_record.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::repo::CommitMeta; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; -use jacquard_common::types::string::{AtUri, Cid, Nsid, RecordKey, Rkey}; +use jacquard_common::types::string::{AtUri, Nsid, Cid, RecordKey, Rkey}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::CommitMeta; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateRecord { ///The NSID of the record collection. pub collection: Nsid, @@ -44,11 +41,9 @@ pub struct CreateRecord { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateRecordOutput { pub cid: Cid, #[serde(skip_serializing_if = "Option::is_none")] @@ -60,6 +55,7 @@ pub struct CreateRecordOutput { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum CreateRecordOutputValidationStatus { Valid, @@ -106,7 +102,8 @@ impl Serialize for CreateRecordOutputValidationStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CreateRecordOutputValidationStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for CreateRecordOutputValidationStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -130,7 +127,9 @@ where type Output = CreateRecordOutputValidationStatus; fn into_static(self) -> Self::Output { match self { - CreateRecordOutputValidationStatus::Valid => CreateRecordOutputValidationStatus::Valid, + CreateRecordOutputValidationStatus::Valid => { + CreateRecordOutputValidationStatus::Valid + } CreateRecordOutputValidationStatus::Unknown => { CreateRecordOutputValidationStatus::Unknown } @@ -141,9 +140,18 @@ where } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateRecordError { /// Indicates that 'swapCommit' didn't match current repo commit. @@ -151,10 +159,7 @@ pub enum CreateRecordError { InvalidSwap(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateRecordError { @@ -191,8 +196,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateRecordResponse { impl jacquard_common::xrpc::XrpcRequest for CreateRecord { const NSID: &'static str = "com.atproto.repo.createRecord"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateRecordResponse; } @@ -202,15 +208,16 @@ Path: `/xrpc/com.atproto.repo.createRecord`. The request payload type is `Create pub struct CreateRecordRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateRecordRequest { const PATH: &'static str = "/xrpc/com.atproto.repo.createRecord"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateRecord; type Response = CreateRecordResponse; } pub mod create_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -432,7 +439,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateRecord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateRecord { CreateRecord { collection: self._fields.0.unwrap(), record: self._fields.1.unwrap(), @@ -443,4 +453,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/delete_record.rs b/crates/jacquard-api/src/com_atproto/repo/delete_record.rs index edcff7e35..a79a924c3 100644 --- a/crates/jacquard-api/src/com_atproto/repo/delete_record.rs +++ b/crates/jacquard-api/src/com_atproto/repo/delete_record.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::repo::CommitMeta; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; -use jacquard_common::types::string::{Cid, Nsid, RecordKey, Rkey}; +use jacquard_common::types::string::{Nsid, Cid, RecordKey, Rkey}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::CommitMeta; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteRecord { ///The NSID of the record collection. pub collection: Nsid, @@ -41,11 +38,9 @@ pub struct DeleteRecord { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteRecordOutput { #[serde(skip_serializing_if = "Option::is_none")] pub commit: Option>, @@ -53,19 +48,25 @@ pub struct DeleteRecordOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteRecordError { #[serde(rename = "InvalidSwap")] InvalidSwap(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteRecordError { @@ -102,8 +103,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteRecordResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteRecord { const NSID: &'static str = "com.atproto.repo.deleteRecord"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteRecordResponse; } @@ -113,15 +115,16 @@ Path: `/xrpc/com.atproto.repo.deleteRecord`. The request payload type is `Delete pub struct DeleteRecordRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteRecordRequest { const PATH: &'static str = "/xrpc/com.atproto.repo.deleteRecord"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteRecord; type Response = DeleteRecordResponse; } pub mod delete_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -328,7 +331,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteRecord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteRecord { DeleteRecord { collection: self._fields.0.unwrap(), repo: self._fields.1.unwrap(), @@ -338,4 +344,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/describe_repo.rs b/crates/jacquard-api/src/com_atproto/repo/describe_repo.rs index bfc0919f3..704e45d3a 100644 --- a/crates/jacquard-api/src/com_atproto/repo/describe_repo.rs +++ b/crates/jacquard-api/src/com_atproto/repo/describe_repo.rs @@ -10,28 +10,23 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::string::{Did, Handle, Nsid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DescribeRepo { pub repo: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DescribeRepoOutput { ///List of all the collections (NSIDs) for which this repo contains at least one record. pub collections: Vec>, @@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeRepoRequest { pub mod describe_repo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -178,4 +173,4 @@ where repo: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/get_record.rs b/crates/jacquard-api/src/com_atproto/repo/get_record.rs index 370e5dd54..1e6f639d8 100644 --- a/crates/jacquard-api/src/com_atproto/repo/get_record.rs +++ b/crates/jacquard-api/src/com_atproto/repo/get_record.rs @@ -10,19 +10,16 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; -use jacquard_common::types::string::{AtUri, Cid, Nsid, RecordKey, Rkey}; +use jacquard_common::types::string::{AtUri, Nsid, Cid, RecordKey, Rkey}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecord { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -31,11 +28,9 @@ pub struct GetRecord { pub rkey: RecordKey>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecordOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -45,19 +40,25 @@ pub struct GetRecordOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRecordError { #[serde(rename = "RecordNotFound")] RecordNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRecordError { @@ -111,7 +112,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecordRequest { pub mod get_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -301,4 +302,4 @@ where rkey: self._fields.3.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/import_repo.rs b/crates/jacquard-api/src/com_atproto/repo/import_repo.rs index 890576a38..3aa371ccc 100644 --- a/crates/jacquard-api/src/com_atproto/repo/import_repo.rs +++ b/crates/jacquard-api/src/com_atproto/repo/import_repo.rs @@ -10,12 +10,12 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -36,16 +36,22 @@ impl jacquard_common::xrpc::XrpcResp for ImportRepoResponse { impl jacquard_common::xrpc::XrpcRequest for ImportRepo { const NSID: &'static str = "com.atproto.repo.importRepo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/vnd.ipld.car", + ); type Response = ImportRepoResponse; - fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError> + fn encode_body( + &self, + buffer: &mut Vec, + ) -> Result<(), jacquard_common::xrpc::EncodeError> where Self: Serialize, { Ok(buffer.copy_from_slice(self.body.as_ref())) } - fn decode_body<'de>(body: &'de [u8]) -> Result + fn decode_body<'de>( + body: &'de [u8], + ) -> Result where Self: Deserialize<'de>, { @@ -61,8 +67,9 @@ Path: `/xrpc/com.atproto.repo.importRepo`. The request payload type is `ImportRe pub struct ImportRepoRequest; impl jacquard_common::xrpc::XrpcEndpoint for ImportRepoRequest { const PATH: &'static str = "/xrpc/com.atproto.repo.importRepo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/vnd.ipld.car", + ); type Request = ImportRepo; type Response = ImportRepoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/list_missing_blobs.rs b/crates/jacquard-api/src/com_atproto/repo/list_missing_blobs.rs index d4e2eb8e7..5ea9ab505 100644 --- a/crates/jacquard-api/src/com_atproto/repo/list_missing_blobs.rs +++ b/crates/jacquard-api/src/com_atproto/repo/list_missing_blobs.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::list_missing_blobs; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::list_missing_blobs; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListMissingBlobs { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -40,11 +37,9 @@ pub struct ListMissingBlobs { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListMissingBlobsOutput { pub blobs: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -53,11 +48,9 @@ pub struct ListMissingBlobsOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordBlob { pub cid: Cid, pub record_uri: AtUri, @@ -114,7 +107,7 @@ fn _default_limit() -> Option { pub mod list_missing_blobs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -132,7 +125,10 @@ pub mod list_missing_blobs_state { } /// Builder for constructing an instance of this type. -pub struct ListMissingBlobsBuilder { +pub struct ListMissingBlobsBuilder< + St: list_missing_blobs_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -140,7 +136,10 @@ pub struct ListMissingBlobsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListMissingBlobsBuilder { + pub fn new() -> ListMissingBlobsBuilder< + list_missing_blobs_state::Empty, + DefaultStr, + > { ListMissingBlobsBuilder::new() } } @@ -215,7 +214,7 @@ where pub mod record_blob_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -353,7 +352,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordBlob { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecordBlob { RecordBlob { cid: self._fields.0.unwrap(), record_uri: self._fields.1.unwrap(), @@ -363,10 +365,10 @@ where } fn lexicon_doc_com_atproto_repo_listMissingBlobs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.repo.listMissingBlobs"), @@ -375,36 +377,39 @@ fn lexicon_doc_com_atproto_repo_listMissingBlobs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("recordBlob"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("cid"), - SmolStr::new_static("recordUri"), - ]), + required: Some( + vec![ + SmolStr::new_static("cid"), SmolStr::new_static("recordUri") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -431,4 +436,4 @@ fn lexicon_doc_com_atproto_repo_listMissingBlobs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/list_records.rs b/crates/jacquard-api/src/com_atproto/repo/list_records.rs index 32eeba8bb..815fa18c6 100644 --- a/crates/jacquard-api/src/com_atproto/repo/list_records.rs +++ b/crates/jacquard-api/src/com_atproto/repo/list_records.rs @@ -10,28 +10,25 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; -use jacquard_common::types::string::{AtUri, Cid, Nsid}; +use jacquard_common::types::string::{AtUri, Nsid, Cid}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::list_records; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::list_records; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListRecords { pub collection: Nsid, #[serde(skip_serializing_if = "Option::is_none")] @@ -45,11 +42,9 @@ pub struct ListRecords { pub reverse: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListRecordsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -58,11 +53,9 @@ pub struct ListRecordsOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Record { pub cid: Cid, pub uri: AtUri, @@ -120,7 +113,7 @@ fn _default_limit() -> Option { pub mod list_records_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -308,7 +301,7 @@ where pub mod record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -413,7 +406,10 @@ where St::Cid: record_state::IsUnset, { /// Set the `cid` field (required) - pub fn cid(mut self, value: impl Into>) -> RecordBuilder, S> { + pub fn cid( + mut self, + value: impl Into>, + ) -> RecordBuilder, S> { self._fields.0 = Option::Some(value.into()); RecordBuilder { _state: PhantomData, @@ -429,7 +425,10 @@ where St::Uri: record_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> RecordBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> RecordBuilder, S> { self._fields.1 = Option::Some(value.into()); RecordBuilder { _state: PhantomData, @@ -486,10 +485,10 @@ where } fn lexicon_doc_com_atproto_repo_listRecords() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.repo.listRecords"), @@ -498,67 +497,72 @@ fn lexicon_doc_com_atproto_repo_listRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![ - SmolStr::new_static("repo"), - SmolStr::new_static("collection"), - ]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("collection"), - LexXrpcParametersProperty::String(LexString { - description: Some(CowStr::new_static( - "The NSID of the record type.", - )), - format: Some(LexStringFormat::Nsid), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("repo"), - LexXrpcParametersProperty::String(LexString { - description: Some(CowStr::new_static( - "The handle or DID of the repo.", - )), - format: Some(LexStringFormat::AtIdentifier), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("reverse"), - LexXrpcParametersProperty::Boolean(LexBoolean { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some( + vec![ + SmolStr::new_static("repo"), + SmolStr::new_static("collection") + ], + ), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("collection"), + LexXrpcParametersProperty::String(LexString { + description: Some( + CowStr::new_static("The NSID of the record type."), + ), + format: Some(LexStringFormat::Nsid), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("repo"), + LexXrpcParametersProperty::String(LexString { + description: Some( + CowStr::new_static("The handle or DID of the repo."), + ), + format: Some(LexStringFormat::AtIdentifier), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("reverse"), + LexXrpcParametersProperty::Boolean(LexBoolean { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("record"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -591,4 +595,4 @@ fn lexicon_doc_com_atproto_repo_listRecords() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/put_record.rs b/crates/jacquard-api/src/com_atproto/repo/put_record.rs index ef3460ba2..3d2b80ef6 100644 --- a/crates/jacquard-api/src/com_atproto/repo/put_record.rs +++ b/crates/jacquard-api/src/com_atproto/repo/put_record.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::repo::CommitMeta; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; -use jacquard_common::types::string::{AtUri, Cid, Nsid, RecordKey, Rkey}; +use jacquard_common::types::string::{AtUri, Nsid, Cid, RecordKey, Rkey}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::CommitMeta; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutRecord { ///The NSID of the record collection. pub collection: Nsid, @@ -46,11 +43,9 @@ pub struct PutRecord { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutRecordOutput { pub cid: Cid, #[serde(skip_serializing_if = "Option::is_none")] @@ -62,6 +57,7 @@ pub struct PutRecordOutput { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum PutRecordOutputValidationStatus { Valid, @@ -108,7 +104,8 @@ impl Serialize for PutRecordOutputValidationStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for PutRecordOutputValidationStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for PutRecordOutputValidationStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -132,8 +129,12 @@ where type Output = PutRecordOutputValidationStatus; fn into_static(self) -> Self::Output { match self { - PutRecordOutputValidationStatus::Valid => PutRecordOutputValidationStatus::Valid, - PutRecordOutputValidationStatus::Unknown => PutRecordOutputValidationStatus::Unknown, + PutRecordOutputValidationStatus::Valid => { + PutRecordOutputValidationStatus::Valid + } + PutRecordOutputValidationStatus::Unknown => { + PutRecordOutputValidationStatus::Unknown + } PutRecordOutputValidationStatus::Other(v) => { PutRecordOutputValidationStatus::Other(v.into_static()) } @@ -141,19 +142,25 @@ where } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum PutRecordError { #[serde(rename = "InvalidSwap")] InvalidSwap(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for PutRecordError { @@ -190,8 +197,9 @@ impl jacquard_common::xrpc::XrpcResp for PutRecordResponse { impl jacquard_common::xrpc::XrpcRequest for PutRecord { const NSID: &'static str = "com.atproto.repo.putRecord"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutRecordResponse; } @@ -201,15 +209,16 @@ Path: `/xrpc/com.atproto.repo.putRecord`. The request payload type is `PutRecord pub struct PutRecordRequest; impl jacquard_common::xrpc::XrpcEndpoint for PutRecordRequest { const PATH: &'static str = "/xrpc/com.atproto.repo.putRecord"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutRecord; type Response = PutRecordResponse; } pub mod put_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -469,7 +478,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PutRecord { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PutRecord { PutRecord { collection: self._fields.0.unwrap(), record: self._fields.1.unwrap(), @@ -481,4 +493,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/strong_ref.rs b/crates/jacquard-api/src/com_atproto/repo/strong_ref.rs index 27d033403..5489e1403 100644 --- a/crates/jacquard-api/src/com_atproto/repo/strong_ref.rs +++ b/crates/jacquard-api/src/com_atproto/repo/strong_ref.rs @@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StrongRef { pub cid: Cid, pub uri: AtUri, @@ -54,7 +51,7 @@ impl LexiconSchema for StrongRef { pub mod strong_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -192,7 +189,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> StrongRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> StrongRef { StrongRef { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -202,10 +202,10 @@ where } fn lexicon_doc_com_atproto_repo_strongRef() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.repo.strongRef"), @@ -214,7 +214,9 @@ fn lexicon_doc_com_atproto_repo_strongRef() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -241,4 +243,4 @@ fn lexicon_doc_com_atproto_repo_strongRef() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/repo/upload_blob.rs b/crates/jacquard-api/src/com_atproto/repo/upload_blob.rs index 1217197be..3529491d5 100644 --- a/crates/jacquard-api/src/com_atproto/repo/upload_blob.rs +++ b/crates/jacquard-api/src/com_atproto/repo/upload_blob.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -24,11 +24,9 @@ pub struct UploadBlob { pub body: Bytes, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UploadBlobOutput { pub blob: BlobRef, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -48,16 +46,22 @@ impl jacquard_common::xrpc::XrpcResp for UploadBlobResponse { impl jacquard_common::xrpc::XrpcRequest for UploadBlob { const NSID: &'static str = "com.atproto.repo.uploadBlob"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("*/*"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "*/*", + ); type Response = UploadBlobResponse; - fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError> + fn encode_body( + &self, + buffer: &mut Vec, + ) -> Result<(), jacquard_common::xrpc::EncodeError> where Self: Serialize, { Ok(buffer.copy_from_slice(self.body.as_ref())) } - fn decode_body<'de>(body: &'de [u8]) -> Result + fn decode_body<'de>( + body: &'de [u8], + ) -> Result where Self: Deserialize<'de>, { @@ -73,8 +77,9 @@ Path: `/xrpc/com.atproto.repo.uploadBlob`. The request payload type is `UploadBl pub struct UploadBlobRequest; impl jacquard_common::xrpc::XrpcEndpoint for UploadBlobRequest { const PATH: &'static str = "/xrpc/com.atproto.repo.uploadBlob"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("*/*"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "*/*", + ); type Request = UploadBlob; type Response = UploadBlobResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server.rs b/crates/jacquard-api/src/com_atproto/server.rs index 56e5a8953..7e8d51e8c 100644 --- a/crates/jacquard-api/src/com_atproto/server.rs +++ b/crates/jacquard-api/src/com_atproto/server.rs @@ -32,32 +32,30 @@ pub mod reset_password; pub mod revoke_app_password; pub mod update_email; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::server; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct InviteCode { pub available: i64, pub code: S, @@ -70,11 +68,9 @@ pub struct InviteCode { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct InviteCodeUse { pub used_at: Datetime, pub used_by: Did, @@ -114,7 +110,7 @@ impl LexiconSchema for InviteCodeUse { pub mod invite_code_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -455,7 +451,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> InviteCode { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> InviteCode { InviteCode { available: self._fields.0.unwrap(), code: self._fields.1.unwrap(), @@ -470,10 +469,10 @@ where } fn lexicon_doc_com_atproto_server_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.server.defs"), @@ -482,15 +481,16 @@ fn lexicon_doc_com_atproto_server_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("inviteCode"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("code"), - SmolStr::new_static("available"), - SmolStr::new_static("disabled"), - SmolStr::new_static("forAccount"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("uses"), - ]), + required: Some( + vec![ + SmolStr::new_static("code"), + SmolStr::new_static("available"), + SmolStr::new_static("disabled"), + SmolStr::new_static("forAccount"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("createdAt"), SmolStr::new_static("uses") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -502,9 +502,7 @@ fn lexicon_doc_com_atproto_server_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("code"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -515,9 +513,7 @@ fn lexicon_doc_com_atproto_server_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("createdBy"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("disabled"), @@ -527,9 +523,7 @@ fn lexicon_doc_com_atproto_server_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("forAccount"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("uses"), @@ -549,10 +543,11 @@ fn lexicon_doc_com_atproto_server_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("inviteCodeUse"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("usedBy"), - SmolStr::new_static("usedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("usedBy"), SmolStr::new_static("usedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -583,7 +578,7 @@ fn lexicon_doc_com_atproto_server_defs() -> LexiconDoc<'static> { pub mod invite_code_use_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -626,7 +621,10 @@ pub mod invite_code_use_state { } /// Builder for constructing an instance of this type. -pub struct InviteCodeUseBuilder { +pub struct InviteCodeUseBuilder< + St: invite_code_use_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>), _type: PhantomData S>, @@ -721,11 +719,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> InviteCodeUse { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> InviteCodeUse { InviteCodeUse { used_at: self._fields.0.unwrap(), used_by: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/activate_account.rs b/crates/jacquard-api/src/com_atproto/server/activate_account.rs index d9e91492f..4ae1e5969 100644 --- a/crates/jacquard-api/src/com_atproto/server/activate_account.rs +++ b/crates/jacquard-api/src/com_atproto/server/activate_account.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `com.atproto.server.activateAccount` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for ActivateAccountResponse { impl jacquard_common::xrpc::XrpcRequest for ActivateAccount { const NSID: &'static str = "com.atproto.server.activateAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ActivateAccountResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/com.atproto.server.activateAccount`. The request payload type is `A pub struct ActivateAccountRequest; impl jacquard_common::xrpc::XrpcEndpoint for ActivateAccountRequest { const PATH: &'static str = "/xrpc/com.atproto.server.activateAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ActivateAccount; type Response = ActivateAccountResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/check_account_status.rs b/crates/jacquard-api/src/com_atproto/server/check_account_status.rs index fc0618923..402c5e0de 100644 --- a/crates/jacquard-api/src/com_atproto/server/check_account_status.rs +++ b/crates/jacquard-api/src/com_atproto/server/check_account_status.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Cid; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CheckAccountStatusOutput { pub activated: bool, pub expected_blobs: i64, @@ -68,4 +65,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for CheckAccountStatusRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = CheckAccountStatus; type Response = CheckAccountStatusResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/confirm_email.rs b/crates/jacquard-api/src/com_atproto/server/confirm_email.rs index 1785bc83f..1280eb5e9 100644 --- a/crates/jacquard-api/src/com_atproto/server/confirm_email.rs +++ b/crates/jacquard-api/src/com_atproto/server/confirm_email.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfirmEmail { pub email: S, pub token: S, @@ -28,9 +25,18 @@ pub struct ConfirmEmail { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ConfirmEmailError { #[serde(rename = "AccountNotFound")] @@ -43,10 +49,7 @@ pub enum ConfirmEmailError { InvalidEmail(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ConfirmEmailError { @@ -104,8 +107,9 @@ impl jacquard_common::xrpc::XrpcResp for ConfirmEmailResponse { impl jacquard_common::xrpc::XrpcRequest for ConfirmEmail { const NSID: &'static str = "com.atproto.server.confirmEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ConfirmEmailResponse; } @@ -115,8 +119,9 @@ Path: `/xrpc/com.atproto.server.confirmEmail`. The request payload type is `Conf pub struct ConfirmEmailRequest; impl jacquard_common::xrpc::XrpcEndpoint for ConfirmEmailRequest { const PATH: &'static str = "/xrpc/com.atproto.server.confirmEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ConfirmEmail; type Response = ConfirmEmailResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/create_account.rs b/crates/jacquard-api/src/com_atproto/server/create_account.rs index 6361690b0..5420ea392 100644 --- a/crates/jacquard-api/src/com_atproto/server/create_account.rs +++ b/crates/jacquard-api/src/com_atproto/server/create_account.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Handle}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateAccount { ///Pre-existing atproto DID, being imported to a new account. #[serde(skip_serializing_if = "Option::is_none")] @@ -49,11 +46,9 @@ pub struct CreateAccount { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateAccountOutput { pub access_jwt: S, ///The DID of the new account. @@ -67,9 +62,18 @@ pub struct CreateAccountOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateAccountError { #[serde(rename = "InvalidHandle")] @@ -88,10 +92,7 @@ pub enum CreateAccountError { IncompatibleDidDoc(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateAccountError { @@ -170,8 +171,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateAccountResponse { impl jacquard_common::xrpc::XrpcRequest for CreateAccount { const NSID: &'static str = "com.atproto.server.createAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateAccountResponse; } @@ -181,15 +183,16 @@ Path: `/xrpc/com.atproto.server.createAccount`. The request payload type is `Cre pub struct CreateAccountRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateAccountRequest { const PATH: &'static str = "/xrpc/com.atproto.server.createAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateAccount; type Response = CreateAccountResponse; } pub mod create_account_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -220,7 +223,10 @@ pub mod create_account_state { } /// Builder for constructing an instance of this type. -pub struct CreateAccountBuilder { +pub struct CreateAccountBuilder< + St: create_account_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -416,7 +422,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateAccount { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateAccount { CreateAccount { did: self._fields.0, email: self._fields.1, @@ -430,4 +439,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/create_app_password.rs b/crates/jacquard-api/src/com_atproto/server/create_app_password.rs index b8ae8afcb..e22e9865b 100644 --- a/crates/jacquard-api/src/com_atproto/server/create_app_password.rs +++ b/crates/jacquard-api/src/com_atproto/server/create_app_password.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::server::create_app_password; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server::create_app_password; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AppPassword { pub created_at: Datetime, pub name: S, @@ -41,11 +38,9 @@ pub struct AppPassword { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateAppPassword { ///A short name for the App Password, to help distinguish them. pub name: S, @@ -56,11 +51,9 @@ pub struct CreateAppPassword { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateAppPasswordOutput { #[serde(flatten)] pub value: Data, @@ -68,19 +61,25 @@ pub struct CreateAppPasswordOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateAppPasswordError { #[serde(rename = "AccountTakedown")] AccountTakedown(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateAppPasswordError { @@ -132,8 +131,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateAppPasswordResponse { impl jacquard_common::xrpc::XrpcRequest for CreateAppPassword { const NSID: &'static str = "com.atproto.server.createAppPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateAppPasswordResponse; } @@ -143,15 +143,16 @@ Path: `/xrpc/com.atproto.server.createAppPassword`. The request payload type is pub struct CreateAppPasswordRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateAppPasswordRequest { const PATH: &'static str = "/xrpc/com.atproto.server.createAppPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateAppPassword; type Response = CreateAppPasswordResponse; } pub mod app_password_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -338,7 +339,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AppPassword { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AppPassword { AppPassword { created_at: self._fields.0.unwrap(), name: self._fields.1.unwrap(), @@ -350,10 +354,10 @@ where } fn lexicon_doc_com_atproto_server_createAppPassword() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.server.createAppPassword"), @@ -362,11 +366,12 @@ fn lexicon_doc_com_atproto_server_createAppPassword() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("appPassword"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("password"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("password"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -379,15 +384,11 @@ fn lexicon_doc_com_atproto_server_createAppPassword() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("password"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("privileged"), @@ -442,4 +443,4 @@ fn lexicon_doc_com_atproto_server_createAppPassword() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/create_invite_code.rs b/crates/jacquard-api/src/com_atproto/server/create_invite_code.rs index ba35a7f38..514a52edc 100644 --- a/crates/jacquard-api/src/com_atproto/server/create_invite_code.rs +++ b/crates/jacquard-api/src/com_atproto/server/create_invite_code.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateInviteCode { #[serde(skip_serializing_if = "Option::is_none")] pub for_account: Option>, @@ -30,11 +27,9 @@ pub struct CreateInviteCode { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateInviteCodeOutput { pub code: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateInviteCodeResponse { impl jacquard_common::xrpc::XrpcRequest for CreateInviteCode { const NSID: &'static str = "com.atproto.server.createInviteCode"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateInviteCodeResponse; } @@ -65,15 +61,16 @@ Path: `/xrpc/com.atproto.server.createInviteCode`. The request payload type is ` pub struct CreateInviteCodeRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateInviteCodeRequest { const PATH: &'static str = "/xrpc/com.atproto.server.createInviteCode"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateInviteCode; type Response = CreateInviteCodeResponse; } pub mod create_invite_code_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -104,7 +101,10 @@ pub mod create_invite_code_state { } /// Builder for constructing an instance of this type. -pub struct CreateInviteCodeBuilder { +pub struct CreateInviteCodeBuilder< + St: create_invite_code_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option), _type: PhantomData S>, @@ -112,7 +112,10 @@ pub struct CreateInviteCodeBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> CreateInviteCodeBuilder { + pub fn new() -> CreateInviteCodeBuilder< + create_invite_code_state::Empty, + DefaultStr, + > { CreateInviteCodeBuilder::new() } } @@ -192,11 +195,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateInviteCode { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateInviteCode { CreateInviteCode { for_account: self._fields.0, use_count: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/create_invite_codes.rs b/crates/jacquard-api/src/com_atproto/server/create_invite_codes.rs index dc018bb21..bb722c1d7 100644 --- a/crates/jacquard-api/src/com_atproto/server/create_invite_codes.rs +++ b/crates/jacquard-api/src/com_atproto/server/create_invite_codes.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::server::create_invite_codes; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server::create_invite_codes; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AccountCodes { pub account: S, pub codes: Vec, @@ -38,11 +35,9 @@ pub struct AccountCodes { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateInviteCodes { /// Defaults to `1`. #[serde(default = "_default_create_invite_codes_code_count")] @@ -54,11 +49,9 @@ pub struct CreateInviteCodes { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateInviteCodesOutput { pub codes: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -93,8 +86,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateInviteCodesResponse { impl jacquard_common::xrpc::XrpcRequest for CreateInviteCodes { const NSID: &'static str = "com.atproto.server.createInviteCodes"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateInviteCodesResponse; } @@ -104,15 +98,16 @@ Path: `/xrpc/com.atproto.server.createInviteCodes`. The request payload type is pub struct CreateInviteCodesRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateInviteCodesRequest { const PATH: &'static str = "/xrpc/com.atproto.server.createInviteCodes"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateInviteCodes; type Response = CreateInviteCodesResponse; } pub mod account_codes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -250,7 +245,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AccountCodes { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AccountCodes { AccountCodes { account: self._fields.0.unwrap(), codes: self._fields.1.unwrap(), @@ -260,10 +258,10 @@ where } fn lexicon_doc_com_atproto_server_createInviteCodes() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.server.createInviteCodes"), @@ -272,18 +270,17 @@ fn lexicon_doc_com_atproto_server_createInviteCodes() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("accountCodes"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("account"), - SmolStr::new_static("codes"), - ]), + required: Some( + vec![ + SmolStr::new_static("account"), SmolStr::new_static("codes") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("account"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("codes"), @@ -304,40 +301,44 @@ fn lexicon_doc_com_atproto_server_createInviteCodes() -> LexiconDoc<'static> { LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("codeCount"), - SmolStr::new_static("useCount"), - ]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("codeCount"), - LexObjectProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("forAccounts"), - LexObjectProperty::Array(LexArray { - items: LexArrayItem::String(LexString { - format: Some(LexStringFormat::Did), + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some( + vec![ + SmolStr::new_static("codeCount"), + SmolStr::new_static("useCount") + ], + ), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("codeCount"), + LexObjectProperty::Integer(LexInteger { ..Default::default() }), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("useCount"), - LexObjectProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + ); + map.insert( + SmolStr::new_static("forAccounts"), + LexObjectProperty::Array(LexArray { + items: LexArrayItem::String(LexString { + format: Some(LexStringFormat::Did), + ..Default::default() + }), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("useCount"), + LexObjectProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -355,7 +356,7 @@ fn _default_create_invite_codes_code_count() -> i64 { pub mod create_invite_codes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -398,7 +399,10 @@ pub mod create_invite_codes_state { } /// Builder for constructing an instance of this type. -pub struct CreateInviteCodesBuilder { +pub struct CreateInviteCodesBuilder< + St: create_invite_codes_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>>, Option), _type: PhantomData S>, @@ -406,7 +410,10 @@ pub struct CreateInviteCodesBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> CreateInviteCodesBuilder { + pub fn new() -> CreateInviteCodesBuilder< + create_invite_codes_state::Empty, + DefaultStr, + > { CreateInviteCodesBuilder::new() } } @@ -507,7 +514,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateInviteCodes { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateInviteCodes { CreateInviteCodes { code_count: self._fields.0.unwrap(), for_accounts: self._fields.1, @@ -515,4 +525,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/create_session.rs b/crates/jacquard-api/src/com_atproto/server/create_session.rs index d29b6594c..ef83930c2 100644 --- a/crates/jacquard-api/src/com_atproto/server/create_session.rs +++ b/crates/jacquard-api/src/com_atproto/server/create_session.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Handle}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateSession { ///When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned #[serde(skip_serializing_if = "Option::is_none")] @@ -35,11 +32,9 @@ pub struct CreateSession { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateSessionOutput { pub access_jwt: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -113,7 +108,8 @@ impl Serialize for CreateSessionOutputStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CreateSessionOutputStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for CreateSessionOutputStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -139,7 +135,9 @@ where match self { CreateSessionOutputStatus::Takendown => CreateSessionOutputStatus::Takendown, CreateSessionOutputStatus::Suspended => CreateSessionOutputStatus::Suspended, - CreateSessionOutputStatus::Deactivated => CreateSessionOutputStatus::Deactivated, + CreateSessionOutputStatus::Deactivated => { + CreateSessionOutputStatus::Deactivated + } CreateSessionOutputStatus::Other(v) => { CreateSessionOutputStatus::Other(v.into_static()) } @@ -147,9 +145,18 @@ where } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateSessionError { #[serde(rename = "AccountTakedown")] @@ -158,10 +165,7 @@ pub enum CreateSessionError { AuthFactorTokenRequired(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateSessionError { @@ -205,8 +209,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateSessionResponse { impl jacquard_common::xrpc::XrpcRequest for CreateSession { const NSID: &'static str = "com.atproto.server.createSession"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateSessionResponse; } @@ -216,8 +221,9 @@ Path: `/xrpc/com.atproto.server.createSession`. The request payload type is `Cre pub struct CreateSessionRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateSessionRequest { const PATH: &'static str = "/xrpc/com.atproto.server.createSession"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateSession; type Response = CreateSessionResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/deactivate_account.rs b/crates/jacquard-api/src/com_atproto/server/deactivate_account.rs index 6d4c0bdf3..42dd83d80 100644 --- a/crates/jacquard-api/src/com_atproto/server/deactivate_account.rs +++ b/crates/jacquard-api/src/com_atproto/server/deactivate_account.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Datetime; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeactivateAccount { ///A recommendation to server as to how long they should hold onto the deactivated account before deleting. #[serde(skip_serializing_if = "Option::is_none")] @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for DeactivateAccountResponse { impl jacquard_common::xrpc::XrpcRequest for DeactivateAccount { const NSID: &'static str = "com.atproto.server.deactivateAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeactivateAccountResponse; } @@ -54,8 +52,9 @@ Path: `/xrpc/com.atproto.server.deactivateAccount`. The request payload type is pub struct DeactivateAccountRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeactivateAccountRequest { const PATH: &'static str = "/xrpc/com.atproto.server.deactivateAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeactivateAccount; type Response = DeactivateAccountResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/delete_account.rs b/crates/jacquard-api/src/com_atproto/server/delete_account.rs index 5050fdfbe..24497bf56 100644 --- a/crates/jacquard-api/src/com_atproto/server/delete_account.rs +++ b/crates/jacquard-api/src/com_atproto/server/delete_account.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteAccount { pub did: Did, pub password: S, @@ -30,9 +27,18 @@ pub struct DeleteAccount { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteAccountError { #[serde(rename = "ExpiredToken")] @@ -41,10 +47,7 @@ pub enum DeleteAccountError { InvalidToken(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteAccountError { @@ -88,8 +91,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteAccountResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteAccount { const NSID: &'static str = "com.atproto.server.deleteAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteAccountResponse; } @@ -99,15 +103,16 @@ Path: `/xrpc/com.atproto.server.deleteAccount`. The request payload type is `Del pub struct DeleteAccountRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteAccountRequest { const PATH: &'static str = "/xrpc/com.atproto.server.deleteAccount"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteAccount; type Response = DeleteAccountResponse; } pub mod delete_account_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -164,7 +169,10 @@ pub mod delete_account_state { } /// Builder for constructing an instance of this type. -pub struct DeleteAccountBuilder { +pub struct DeleteAccountBuilder< + St: delete_account_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -280,7 +288,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteAccount { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteAccount { DeleteAccount { did: self._fields.0.unwrap(), password: self._fields.1.unwrap(), @@ -288,4 +299,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/delete_session.rs b/crates/jacquard-api/src/com_atproto/server/delete_session.rs index eff080c98..159d54c9d 100644 --- a/crates/jacquard-api/src/com_atproto/server/delete_session.rs +++ b/crates/jacquard-api/src/com_atproto/server/delete_session.rs @@ -10,15 +10,23 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteSessionError { #[serde(rename = "InvalidToken")] @@ -27,10 +35,7 @@ pub enum DeleteSessionError { ExpiredToken(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteSessionError { @@ -80,8 +85,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteSessionResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteSession { const NSID: &'static str = "com.atproto.server.deleteSession"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteSessionResponse; } @@ -91,8 +97,9 @@ Path: `/xrpc/com.atproto.server.deleteSession`. The request payload type is `Del pub struct DeleteSessionRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteSessionRequest { const PATH: &'static str = "/xrpc/com.atproto.server.deleteSession"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteSession; type Response = DeleteSessionResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/describe_server.rs b/crates/jacquard-api/src/com_atproto/server/describe_server.rs index ec0eee807..4d11a5a95 100644 --- a/crates/jacquard-api/src/com_atproto/server/describe_server.rs +++ b/crates/jacquard-api/src/com_atproto/server/describe_server.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::server::describe_server; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server::describe_server; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Contact { #[serde(skip_serializing_if = "Option::is_none")] pub email: Option, @@ -38,11 +35,9 @@ pub struct Contact { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Links { #[serde(skip_serializing_if = "Option::is_none")] pub privacy_policy: Option>, @@ -52,11 +47,9 @@ pub struct Links { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DescribeServerOutput { ///List of domain suffixes that can be used in account handles. pub available_user_domains: Vec, @@ -142,10 +135,10 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeServerRequest { } fn lexicon_doc_com_atproto_server_describeServer() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.server.describeServer"), @@ -159,9 +152,7 @@ fn lexicon_doc_com_atproto_server_describeServer() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("email"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -204,4 +195,4 @@ fn lexicon_doc_com_atproto_server_describeServer() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/get_account_invite_codes.rs b/crates/jacquard-api/src/com_atproto/server/get_account_invite_codes.rs index dfa19e021..af60bec82 100644 --- a/crates/jacquard-api/src/com_atproto/server/get_account_invite_codes.rs +++ b/crates/jacquard-api/src/com_atproto/server/get_account_invite_codes.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::server::InviteCode; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server::InviteCode; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -30,30 +30,34 @@ pub struct GetAccountInviteCodes { pub include_used: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountInviteCodesOutput { pub codes: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetAccountInviteCodesError { #[serde(rename = "DuplicateCreate")] DuplicateCreate(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetAccountInviteCodesError { @@ -115,7 +119,7 @@ fn _default_include_used() -> Option { pub mod get_account_invite_codes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -202,4 +206,4 @@ where include_used: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/get_service_auth.rs b/crates/jacquard-api/src/com_atproto/server/get_service_auth.rs index 164339c9c..4fe86fa24 100644 --- a/crates/jacquard-api/src/com_atproto/server/get_service_auth.rs +++ b/crates/jacquard-api/src/com_atproto/server/get_service_auth.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Nsid; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetServiceAuth { pub aud: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -30,20 +27,27 @@ pub struct GetServiceAuth { pub lxm: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetServiceAuthOutput { pub token: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetServiceAuthError { /// Indicates that the requested expiration date is not a valid. May be in the past or may be reliant on the requested scopes. @@ -51,10 +55,7 @@ pub enum GetServiceAuthError { BadExpiration(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetServiceAuthError { @@ -108,7 +109,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetServiceAuthRequest { pub mod get_service_auth_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -139,7 +140,10 @@ pub mod get_service_auth_state { } /// Builder for constructing an instance of this type. -pub struct GetServiceAuthBuilder { +pub struct GetServiceAuthBuilder< + St: get_service_auth_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -239,4 +243,4 @@ where lxm: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/get_session.rs b/crates/jacquard-api/src/com_atproto/server/get_session.rs index 90660f81b..f446dfe98 100644 --- a/crates/jacquard-api/src/com_atproto/server/get_session.rs +++ b/crates/jacquard-api/src/com_atproto/server/get_session.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Handle}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSessionOutput { #[serde(skip_serializing_if = "Option::is_none")] pub active: Option, @@ -120,7 +117,9 @@ where GetSessionOutputStatus::Takendown => GetSessionOutputStatus::Takendown, GetSessionOutputStatus::Suspended => GetSessionOutputStatus::Suspended, GetSessionOutputStatus::Deactivated => GetSessionOutputStatus::Deactivated, - GetSessionOutputStatus::Other(v) => GetSessionOutputStatus::Other(v.into_static()), + GetSessionOutputStatus::Other(v) => { + GetSessionOutputStatus::Other(v.into_static()) + } } } } @@ -157,4 +156,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSessionRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetSession; type Response = GetSessionResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/list_app_passwords.rs b/crates/jacquard-api/src/com_atproto/server/list_app_passwords.rs index c8b29aa81..77026db5b 100644 --- a/crates/jacquard-api/src/com_atproto/server/list_app_passwords.rs +++ b/crates/jacquard-api/src/com_atproto/server/list_app_passwords.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::server::list_app_passwords; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::server::list_app_passwords; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AppPassword { pub created_at: Datetime, pub name: S, @@ -40,30 +37,34 @@ pub struct AppPassword { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListAppPasswordsOutput { pub passwords: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ListAppPasswordsError { #[serde(rename = "AccountTakedown")] AccountTakedown(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ListAppPasswordsError { @@ -138,7 +139,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListAppPasswordsRequest { pub mod app_password_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -290,7 +291,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AppPassword { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AppPassword { AppPassword { created_at: self._fields.0.unwrap(), name: self._fields.1.unwrap(), @@ -301,10 +305,10 @@ where } fn lexicon_doc_com_atproto_server_listAppPasswords() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.server.listAppPasswords"), @@ -313,10 +317,11 @@ fn lexicon_doc_com_atproto_server_listAppPasswords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("appPassword"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -329,9 +334,7 @@ fn lexicon_doc_com_atproto_server_listAppPasswords() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("privileged"), @@ -355,4 +358,4 @@ fn lexicon_doc_com_atproto_server_listAppPasswords() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/refresh_session.rs b/crates/jacquard-api/src/com_atproto/server/refresh_session.rs index 04379b3f0..dc4935f35 100644 --- a/crates/jacquard-api/src/com_atproto/server/refresh_session.rs +++ b/crates/jacquard-api/src/com_atproto/server/refresh_session.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Handle}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RefreshSessionOutput { pub access_jwt: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -95,7 +92,8 @@ impl Serialize for RefreshSessionOutputStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for RefreshSessionOutputStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for RefreshSessionOutputStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -119,9 +117,15 @@ where type Output = RefreshSessionOutputStatus; fn into_static(self) -> Self::Output { match self { - RefreshSessionOutputStatus::Takendown => RefreshSessionOutputStatus::Takendown, - RefreshSessionOutputStatus::Suspended => RefreshSessionOutputStatus::Suspended, - RefreshSessionOutputStatus::Deactivated => RefreshSessionOutputStatus::Deactivated, + RefreshSessionOutputStatus::Takendown => { + RefreshSessionOutputStatus::Takendown + } + RefreshSessionOutputStatus::Suspended => { + RefreshSessionOutputStatus::Suspended + } + RefreshSessionOutputStatus::Deactivated => { + RefreshSessionOutputStatus::Deactivated + } RefreshSessionOutputStatus::Other(v) => { RefreshSessionOutputStatus::Other(v.into_static()) } @@ -129,9 +133,18 @@ where } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RefreshSessionError { #[serde(rename = "AccountTakedown")] @@ -142,10 +155,7 @@ pub enum RefreshSessionError { ExpiredToken(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RefreshSessionError { @@ -202,8 +212,9 @@ impl jacquard_common::xrpc::XrpcResp for RefreshSessionResponse { impl jacquard_common::xrpc::XrpcRequest for RefreshSession { const NSID: &'static str = "com.atproto.server.refreshSession"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RefreshSessionResponse; } @@ -213,8 +224,9 @@ Path: `/xrpc/com.atproto.server.refreshSession`. The request payload type is `Re pub struct RefreshSessionRequest; impl jacquard_common::xrpc::XrpcEndpoint for RefreshSessionRequest { const PATH: &'static str = "/xrpc/com.atproto.server.refreshSession"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RefreshSession; type Response = RefreshSessionResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/request_account_delete.rs b/crates/jacquard-api/src/com_atproto/server/request_account_delete.rs index f7a385add..1e27edd0e 100644 --- a/crates/jacquard-api/src/com_atproto/server/request_account_delete.rs +++ b/crates/jacquard-api/src/com_atproto/server/request_account_delete.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `com.atproto.server.requestAccountDelete` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestAccountDeleteResponse { impl jacquard_common::xrpc::XrpcRequest for RequestAccountDelete { const NSID: &'static str = "com.atproto.server.requestAccountDelete"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestAccountDeleteResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/com.atproto.server.requestAccountDelete`. The request payload type pub struct RequestAccountDeleteRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestAccountDeleteRequest { const PATH: &'static str = "/xrpc/com.atproto.server.requestAccountDelete"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestAccountDelete; type Response = RequestAccountDeleteResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/request_email_confirmation.rs b/crates/jacquard-api/src/com_atproto/server/request_email_confirmation.rs index bdf683183..dbcacdec6 100644 --- a/crates/jacquard-api/src/com_atproto/server/request_email_confirmation.rs +++ b/crates/jacquard-api/src/com_atproto/server/request_email_confirmation.rs @@ -10,11 +10,11 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /** Request marker for the `com.atproto.server.requestEmailConfirmation` procedure. This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/ @@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestEmailConfirmationResponse { impl jacquard_common::xrpc::XrpcRequest for RequestEmailConfirmation { const NSID: &'static str = "com.atproto.server.requestEmailConfirmation"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestEmailConfirmationResponse; } @@ -45,8 +46,9 @@ Path: `/xrpc/com.atproto.server.requestEmailConfirmation`. The request payload t pub struct RequestEmailConfirmationRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestEmailConfirmationRequest { const PATH: &'static str = "/xrpc/com.atproto.server.requestEmailConfirmation"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestEmailConfirmation; type Response = RequestEmailConfirmationResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/request_email_update.rs b/crates/jacquard-api/src/com_atproto/server/request_email_update.rs index c75a0b2c7..c32691a0d 100644 --- a/crates/jacquard-api/src/com_atproto/server/request_email_update.rs +++ b/crates/jacquard-api/src/com_atproto/server/request_email_update.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestEmailUpdateOutput { pub token_required: bool, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -46,8 +43,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestEmailUpdateResponse { impl jacquard_common::xrpc::XrpcRequest for RequestEmailUpdate { const NSID: &'static str = "com.atproto.server.requestEmailUpdate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestEmailUpdateResponse; } @@ -57,8 +55,9 @@ Path: `/xrpc/com.atproto.server.requestEmailUpdate`. The request payload type is pub struct RequestEmailUpdateRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestEmailUpdateRequest { const PATH: &'static str = "/xrpc/com.atproto.server.requestEmailUpdate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestEmailUpdate; type Response = RequestEmailUpdateResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/request_password_reset.rs b/crates/jacquard-api/src/com_atproto/server/request_password_reset.rs index 4e0201bdd..33148f197 100644 --- a/crates/jacquard-api/src/com_atproto/server/request_password_reset.rs +++ b/crates/jacquard-api/src/com_atproto/server/request_password_reset.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestPasswordReset { pub email: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -40,8 +37,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestPasswordResetResponse { impl jacquard_common::xrpc::XrpcRequest for RequestPasswordReset { const NSID: &'static str = "com.atproto.server.requestPasswordReset"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestPasswordResetResponse; } @@ -51,8 +49,9 @@ Path: `/xrpc/com.atproto.server.requestPasswordReset`. The request payload type pub struct RequestPasswordResetRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestPasswordResetRequest { const PATH: &'static str = "/xrpc/com.atproto.server.requestPasswordReset"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestPasswordReset; type Response = RequestPasswordResetResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/reserve_signing_key.rs b/crates/jacquard-api/src/com_atproto/server/reserve_signing_key.rs index 91ba25350..3c0364280 100644 --- a/crates/jacquard-api/src/com_atproto/server/reserve_signing_key.rs +++ b/crates/jacquard-api/src/com_atproto/server/reserve_signing_key.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReserveSigningKey { ///The DID to reserve a key for. #[serde(skip_serializing_if = "Option::is_none")] @@ -30,11 +27,9 @@ pub struct ReserveSigningKey { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReserveSigningKeyOutput { ///The public key for the reserved signing key, in did:key serialization. pub signing_key: S, @@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for ReserveSigningKeyResponse { impl jacquard_common::xrpc::XrpcRequest for ReserveSigningKey { const NSID: &'static str = "com.atproto.server.reserveSigningKey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ReserveSigningKeyResponse; } @@ -66,8 +62,9 @@ Path: `/xrpc/com.atproto.server.reserveSigningKey`. The request payload type is pub struct ReserveSigningKeyRequest; impl jacquard_common::xrpc::XrpcEndpoint for ReserveSigningKeyRequest { const PATH: &'static str = "/xrpc/com.atproto.server.reserveSigningKey"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ReserveSigningKey; type Response = ReserveSigningKeyResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/reset_password.rs b/crates/jacquard-api/src/com_atproto/server/reset_password.rs index 2f7a2400b..7a664e8ab 100644 --- a/crates/jacquard-api/src/com_atproto/server/reset_password.rs +++ b/crates/jacquard-api/src/com_atproto/server/reset_password.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResetPassword { pub password: S, pub token: S, @@ -28,9 +25,18 @@ pub struct ResetPassword { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ResetPasswordError { #[serde(rename = "ExpiredToken")] @@ -39,10 +45,7 @@ pub enum ResetPasswordError { InvalidToken(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ResetPasswordError { @@ -86,8 +89,9 @@ impl jacquard_common::xrpc::XrpcResp for ResetPasswordResponse { impl jacquard_common::xrpc::XrpcRequest for ResetPassword { const NSID: &'static str = "com.atproto.server.resetPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ResetPasswordResponse; } @@ -97,8 +101,9 @@ Path: `/xrpc/com.atproto.server.resetPassword`. The request payload type is `Res pub struct ResetPasswordRequest; impl jacquard_common::xrpc::XrpcEndpoint for ResetPasswordRequest { const PATH: &'static str = "/xrpc/com.atproto.server.resetPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ResetPassword; type Response = ResetPasswordResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/revoke_app_password.rs b/crates/jacquard-api/src/com_atproto/server/revoke_app_password.rs index 2dd460d79..9f8b18144 100644 --- a/crates/jacquard-api/src/com_atproto/server/revoke_app_password.rs +++ b/crates/jacquard-api/src/com_atproto/server/revoke_app_password.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RevokeAppPassword { pub name: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -40,8 +37,9 @@ impl jacquard_common::xrpc::XrpcResp for RevokeAppPasswordResponse { impl jacquard_common::xrpc::XrpcRequest for RevokeAppPassword { const NSID: &'static str = "com.atproto.server.revokeAppPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RevokeAppPasswordResponse; } @@ -51,8 +49,9 @@ Path: `/xrpc/com.atproto.server.revokeAppPassword`. The request payload type is pub struct RevokeAppPasswordRequest; impl jacquard_common::xrpc::XrpcEndpoint for RevokeAppPasswordRequest { const PATH: &'static str = "/xrpc/com.atproto.server.revokeAppPassword"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RevokeAppPassword; type Response = RevokeAppPasswordResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/server/update_email.rs b/crates/jacquard-api/src/com_atproto/server/update_email.rs index 07c6b80c6..94dce71ce 100644 --- a/crates/jacquard-api/src/com_atproto/server/update_email.rs +++ b/crates/jacquard-api/src/com_atproto/server/update_email.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateEmail { pub email: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -32,9 +29,18 @@ pub struct UpdateEmail { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdateEmailError { #[serde(rename = "ExpiredToken")] @@ -45,10 +51,7 @@ pub enum UpdateEmailError { TokenRequired(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdateEmailError { @@ -99,8 +102,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateEmailResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateEmail { const NSID: &'static str = "com.atproto.server.updateEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateEmailResponse; } @@ -110,8 +114,9 @@ Path: `/xrpc/com.atproto.server.updateEmail`. The request payload type is `Updat pub struct UpdateEmailRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateEmailRequest { const PATH: &'static str = "/xrpc/com.atproto.server.updateEmail"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateEmail; type Response = UpdateEmailResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync.rs b/crates/jacquard-api/src/com_atproto/sync.rs index de25e0391..a4721c51a 100644 --- a/crates/jacquard-api/src/com_atproto/sync.rs +++ b/crates/jacquard-api/src/com_atproto/sync.rs @@ -22,10 +22,11 @@ pub mod list_repos_by_collection; pub mod notify_of_update; pub mod request_crawl; + #[cfg(feature = "streaming")] pub mod subscribe_repos; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum HostStatus { @@ -82,7 +83,8 @@ impl serde::Serialize for HostStatus { } } -impl<'de, S: serde::Deserialize<'de> + BosStr> serde::Deserialize<'de> for HostStatus { +impl<'de, S: serde::Deserialize<'de> + BosStr> serde::Deserialize<'de> +for HostStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -108,4 +110,4 @@ where HostStatus::Other(v) => HostStatus::Other(v.into_static()), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_blob.rs b/crates/jacquard-api/src/com_atproto/sync/get_blob.rs index d7151edb0..92a7f8f9d 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_blob.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_blob.rs @@ -10,33 +10,40 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did}; +use jacquard_common::types::string::{Did, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBlob { pub cid: Cid, pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetBlobOutput { pub body: Bytes, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetBlobError { #[serde(rename = "BlobNotFound")] @@ -51,10 +58,7 @@ pub enum GetBlobError { RepoDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetBlobError { @@ -155,7 +159,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBlobRequest { pub mod get_blob_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -291,4 +295,4 @@ where did: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_blocks.rs b/crates/jacquard-api/src/com_atproto/sync/get_blocks.rs index a1bb818e5..7a6d715bf 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_blocks.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_blocks.rs @@ -10,33 +10,40 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did}; +use jacquard_common::types::string::{Did, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBlocks { pub cids: Vec>, pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetBlocksOutput { pub body: Bytes, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetBlocksError { #[serde(rename = "BlockNotFound")] @@ -51,10 +58,7 @@ pub enum GetBlocksError { RepoDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetBlocksError { @@ -155,7 +159,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBlocksRequest { pub mod get_blocks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -291,4 +295,4 @@ where did: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_checkout.rs b/crates/jacquard-api/src/com_atproto/sync/get_checkout.rs index 6cf969f10..ee96f7171 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_checkout.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_checkout.rs @@ -10,23 +10,21 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetCheckout { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetCheckoutOutput { @@ -82,7 +80,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetCheckoutRequest { pub mod get_checkout_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -185,4 +183,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_head.rs b/crates/jacquard-api/src/com_atproto/sync/get_head.rs index 62fcdc66a..2f00bd355 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_head.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_head.rs @@ -10,46 +10,47 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did}; +use jacquard_common::types::string::{Did, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetHead { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetHeadOutput { pub root: Cid, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetHeadError { #[serde(rename = "HeadNotFound")] HeadNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetHeadError { @@ -103,7 +104,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetHeadRequest { pub mod get_head_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -206,4 +207,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_host_status.rs b/crates/jacquard-api/src/com_atproto/sync/get_host_status.rs index 9a86f3bc9..75d0c9143 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_host_status.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_host_status.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::sync::HostStatus; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::sync::HostStatus; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetHostStatus { pub hostname: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetHostStatusOutput { ///Number of accounts on the server which are associated with the upstream host. Note that the upstream may actually have more accounts. #[serde(skip_serializing_if = "Option::is_none")] @@ -45,19 +40,25 @@ pub struct GetHostStatusOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetHostStatusError { #[serde(rename = "HostNotFound")] HostNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetHostStatusError { @@ -111,7 +112,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetHostStatusRequest { pub mod get_host_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -142,7 +143,10 @@ pub mod get_host_status_state { } /// Builder for constructing an instance of this type. -pub struct GetHostStatusBuilder { +pub struct GetHostStatusBuilder< + St: get_host_status_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -214,4 +218,4 @@ where hostname: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_latest_commit.rs b/crates/jacquard-api/src/com_atproto/sync/get_latest_commit.rs index d94290b05..38fe03e48 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_latest_commit.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_latest_commit.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did, Tid}; +use jacquard_common::types::string::{Did, Tid, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLatestCommit { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLatestCommitOutput { pub cid: Cid, pub rev: Tid, @@ -38,9 +33,18 @@ pub struct GetLatestCommitOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetLatestCommitError { #[serde(rename = "RepoNotFound")] @@ -53,10 +57,7 @@ pub enum GetLatestCommitError { RepoDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetLatestCommitError { @@ -131,7 +132,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLatestCommitRequest { pub mod get_latest_commit_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -162,7 +163,10 @@ pub mod get_latest_commit_state { } /// Builder for constructing an instance of this type. -pub struct GetLatestCommitBuilder { +pub struct GetLatestCommitBuilder< + St: get_latest_commit_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -234,4 +238,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_record.rs b/crates/jacquard-api/src/com_atproto/sync/get_record.rs index 917fe53c1..881a11e6d 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_record.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_record.rs @@ -10,34 +10,41 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Nsid, RecordKey, Rkey}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecord { pub collection: Nsid, pub did: Did, pub rkey: RecordKey>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetRecordOutput { pub body: Bytes, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRecordError { #[serde(rename = "RecordNotFound")] @@ -52,10 +59,7 @@ pub enum GetRecordError { RepoDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRecordError { @@ -156,7 +160,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecordRequest { pub mod get_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -327,4 +331,4 @@ where rkey: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_repo.rs b/crates/jacquard-api/src/com_atproto/sync/get_repo.rs index cdb9b09f2..42e2432b0 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_repo.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_repo.rs @@ -10,34 +10,41 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Tid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepo { pub did: Did, #[serde(skip_serializing_if = "Option::is_none")] pub since: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetRepoOutput { pub body: Bytes, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRepoError { #[serde(rename = "RepoNotFound")] @@ -50,10 +57,7 @@ pub enum GetRepoError { RepoDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRepoError { @@ -147,7 +151,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRepoRequest { pub mod get_repo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -264,4 +268,4 @@ where since: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/get_repo_status.rs b/crates/jacquard-api/src/com_atproto/sync/get_repo_status.rs index 4bb9541ab..9cb22b0f4 100644 --- a/crates/jacquard-api/src/com_atproto/sync/get_repo_status.rs +++ b/crates/jacquard-api/src/com_atproto/sync/get_repo_status.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Tid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepoStatus { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepoStatusOutput { pub active: bool, pub did: Did, @@ -104,7 +99,8 @@ impl Serialize for GetRepoStatusOutputStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for GetRepoStatusOutputStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for GetRepoStatusOutputStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -131,8 +127,12 @@ where GetRepoStatusOutputStatus::Takendown => GetRepoStatusOutputStatus::Takendown, GetRepoStatusOutputStatus::Suspended => GetRepoStatusOutputStatus::Suspended, GetRepoStatusOutputStatus::Deleted => GetRepoStatusOutputStatus::Deleted, - GetRepoStatusOutputStatus::Deactivated => GetRepoStatusOutputStatus::Deactivated, - GetRepoStatusOutputStatus::Desynchronized => GetRepoStatusOutputStatus::Desynchronized, + GetRepoStatusOutputStatus::Deactivated => { + GetRepoStatusOutputStatus::Deactivated + } + GetRepoStatusOutputStatus::Desynchronized => { + GetRepoStatusOutputStatus::Desynchronized + } GetRepoStatusOutputStatus::Throttled => GetRepoStatusOutputStatus::Throttled, GetRepoStatusOutputStatus::Other(v) => { GetRepoStatusOutputStatus::Other(v.into_static()) @@ -141,19 +141,25 @@ where } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRepoStatusError { #[serde(rename = "RepoNotFound")] RepoNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRepoStatusError { @@ -207,7 +213,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRepoStatusRequest { pub mod get_repo_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -238,7 +244,10 @@ pub mod get_repo_status_state { } /// Builder for constructing an instance of this type. -pub struct GetRepoStatusBuilder { +pub struct GetRepoStatusBuilder< + St: get_repo_status_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -310,4 +319,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/list_blobs.rs b/crates/jacquard-api/src/com_atproto/sync/list_blobs.rs index c05fa7e08..82f34d338 100644 --- a/crates/jacquard-api/src/com_atproto/sync/list_blobs.rs +++ b/crates/jacquard-api/src/com_atproto/sync/list_blobs.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did, Tid}; +use jacquard_common::types::string::{Did, Tid, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListBlobs { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -34,11 +31,9 @@ pub struct ListBlobs { pub since: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListBlobsOutput { pub cids: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -47,9 +42,18 @@ pub struct ListBlobsOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ListBlobsError { #[serde(rename = "RepoNotFound")] @@ -62,10 +66,7 @@ pub enum ListBlobsError { RepoDeactivated(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ListBlobsError { @@ -144,7 +145,7 @@ fn _default_limit() -> Option { pub mod list_blobs_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -289,4 +290,4 @@ where since: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/list_hosts.rs b/crates/jacquard-api/src/com_atproto/sync/list_hosts.rs index c989c1023..c63e71e10 100644 --- a/crates/jacquard-api/src/com_atproto/sync/list_hosts.rs +++ b/crates/jacquard-api/src/com_atproto/sync/list_hosts.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::sync::HostStatus; -use crate::com_atproto::sync::list_hosts; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::sync::HostStatus; +use crate::com_atproto::sync::list_hosts; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Host { #[serde(skip_serializing_if = "Option::is_none")] pub account_count: Option, @@ -45,11 +42,9 @@ pub struct Host { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListHosts { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -59,11 +54,9 @@ pub struct ListHosts { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListHostsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -117,10 +110,10 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListHostsRequest { } fn lexicon_doc_com_atproto_sync_listHosts() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.sync.listHosts"), @@ -142,9 +135,11 @@ fn lexicon_doc_com_atproto_sync_listHosts() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("hostname"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "hostname of server; not a URL (no scheme)", - )), + description: Some( + CowStr::new_static( + "hostname of server; not a URL (no scheme)", + ), + ), ..Default::default() }), ); @@ -157,7 +152,9 @@ fn lexicon_doc_com_atproto_sync_listHosts() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("status"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.sync.defs#hostStatus"), + r#ref: CowStr::new_static( + "com.atproto.sync.defs#hostStatus", + ), ..Default::default() }), ); @@ -169,26 +166,28 @@ fn lexicon_doc_com_atproto_sync_listHosts() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -204,7 +203,7 @@ fn _default_limit() -> Option { pub mod list_hosts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -301,4 +300,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/list_repos.rs b/crates/jacquard-api/src/com_atproto/sync/list_repos.rs index 7d447c7c2..eb3400a6b 100644 --- a/crates/jacquard-api/src/com_atproto/sync/list_repos.rs +++ b/crates/jacquard-api/src/com_atproto/sync/list_repos.rs @@ -10,27 +10,24 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did, Tid}; +use jacquard_common::types::string::{Did, Tid, Cid}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::sync::list_repos; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::sync::list_repos; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListRepos { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -40,11 +37,9 @@ pub struct ListRepos { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListReposOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -53,11 +48,9 @@ pub struct ListReposOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Repo { #[serde(skip_serializing_if = "Option::is_none")] pub active: Option, @@ -216,7 +209,7 @@ fn _default_limit() -> Option { pub mod list_repos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -317,7 +310,7 @@ where pub mod repo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -441,7 +434,10 @@ where St::Did: repo_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> RepoBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> RepoBuilder, S> { self._fields.1 = Option::Some(value.into()); RepoBuilder { _state: PhantomData, @@ -457,7 +453,10 @@ where St::Head: repo_state::IsUnset, { /// Set the `head` field (required) - pub fn head(mut self, value: impl Into>) -> RepoBuilder, S> { + pub fn head( + mut self, + value: impl Into>, + ) -> RepoBuilder, S> { self._fields.2 = Option::Some(value.into()); RepoBuilder { _state: PhantomData, @@ -473,7 +472,10 @@ where St::Rev: repo_state::IsUnset, { /// Set the `rev` field (required) - pub fn rev(mut self, value: impl Into) -> RepoBuilder, S> { + pub fn rev( + mut self, + value: impl Into, + ) -> RepoBuilder, S> { self._fields.3 = Option::Some(value.into()); RepoBuilder { _state: PhantomData, @@ -528,10 +530,10 @@ where } fn lexicon_doc_com_atproto_sync_listRepos() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.sync.listRepos"), @@ -540,26 +542,28 @@ fn lexicon_doc_com_atproto_sync_listRepos() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -625,4 +629,4 @@ fn lexicon_doc_com_atproto_sync_listRepos() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/list_repos_by_collection.rs b/crates/jacquard-api/src/com_atproto/sync/list_repos_by_collection.rs index 26ad69f8f..e46303e1c 100644 --- a/crates/jacquard-api/src/com_atproto/sync/list_repos_by_collection.rs +++ b/crates/jacquard-api/src/com_atproto/sync/list_repos_by_collection.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::sync::list_repos_by_collection; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::sync::list_repos_by_collection; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListReposByCollection { pub collection: Nsid, #[serde(skip_serializing_if = "Option::is_none")] @@ -41,11 +38,9 @@ pub struct ListReposByCollection { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListReposByCollectionOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -54,11 +49,9 @@ pub struct ListReposByCollectionOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Repo { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -114,7 +107,7 @@ fn _default_limit() -> Option { pub mod list_repos_by_collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -156,15 +149,20 @@ pub struct ListReposByCollectionBuilder< impl ListReposByCollection { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListReposByCollectionBuilder - { + pub fn new() -> ListReposByCollectionBuilder< + list_repos_by_collection_state::Empty, + DefaultStr, + > { ListReposByCollectionBuilder::new() } } impl ListReposByCollection { /// Create a new builder for this type - pub fn builder() -> ListReposByCollectionBuilder { + pub fn builder() -> ListReposByCollectionBuilder< + list_repos_by_collection_state::Empty, + S, + > { ListReposByCollectionBuilder::builder() } } @@ -200,7 +198,10 @@ where pub fn collection( mut self, value: impl Into>, - ) -> ListReposByCollectionBuilder, S> { + ) -> ListReposByCollectionBuilder< + list_repos_by_collection_state::SetCollection, + S, + > { self._fields.0 = Option::Some(value.into()); ListReposByCollectionBuilder { _state: PhantomData, @@ -210,7 +211,10 @@ where } } -impl ListReposByCollectionBuilder { +impl< + St: list_repos_by_collection_state::State, + S: BosStr, +> ListReposByCollectionBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -223,7 +227,10 @@ impl ListReposByCollection } } -impl ListReposByCollectionBuilder { +impl< + St: list_repos_by_collection_state::State, + S: BosStr, +> ListReposByCollectionBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -253,7 +260,7 @@ where pub mod repo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -332,7 +339,10 @@ where St::Did: repo_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> RepoBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> RepoBuilder, S> { self._fields.0 = Option::Some(value.into()); RepoBuilder { _state: PhantomData, @@ -364,10 +374,10 @@ where } fn lexicon_doc_com_atproto_sync_listReposByCollection() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.sync.listReposByCollection"), @@ -376,34 +386,36 @@ fn lexicon_doc_com_atproto_sync_listReposByCollection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("collection")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("collection"), - LexXrpcParametersProperty::String(LexString { - format: Some(LexStringFormat::Nsid), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("collection")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("collection"), + LexXrpcParametersProperty::String(LexString { + format: Some(LexStringFormat::Nsid), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -430,4 +442,4 @@ fn lexicon_doc_com_atproto_sync_listReposByCollection() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/notify_of_update.rs b/crates/jacquard-api/src/com_atproto/sync/notify_of_update.rs index d16a37f8f..6515b7090 100644 --- a/crates/jacquard-api/src/com_atproto/sync/notify_of_update.rs +++ b/crates/jacquard-api/src/com_atproto/sync/notify_of_update.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NotifyOfUpdate { ///Hostname of the current service (usually a PDS) that is notifying of update. pub hostname: S, @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for NotifyOfUpdateResponse { impl jacquard_common::xrpc::XrpcRequest for NotifyOfUpdate { const NSID: &'static str = "com.atproto.sync.notifyOfUpdate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = NotifyOfUpdateResponse; } @@ -52,8 +50,9 @@ Path: `/xrpc/com.atproto.sync.notifyOfUpdate`. The request payload type is `Noti pub struct NotifyOfUpdateRequest; impl jacquard_common::xrpc::XrpcEndpoint for NotifyOfUpdateRequest { const PATH: &'static str = "/xrpc/com.atproto.sync.notifyOfUpdate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = NotifyOfUpdate; type Response = NotifyOfUpdateResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/request_crawl.rs b/crates/jacquard-api/src/com_atproto/sync/request_crawl.rs index dd67f96be..5bcfba511 100644 --- a/crates/jacquard-api/src/com_atproto/sync/request_crawl.rs +++ b/crates/jacquard-api/src/com_atproto/sync/request_crawl.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestCrawl { ///Hostname of the current service (eg, PDS) that is requesting to be crawled. pub hostname: S, @@ -28,19 +25,25 @@ pub struct RequestCrawl { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RequestCrawlError { #[serde(rename = "HostBanned")] HostBanned(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RequestCrawlError { @@ -77,8 +80,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestCrawlResponse { impl jacquard_common::xrpc::XrpcRequest for RequestCrawl { const NSID: &'static str = "com.atproto.sync.requestCrawl"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestCrawlResponse; } @@ -88,8 +92,9 @@ Path: `/xrpc/com.atproto.sync.requestCrawl`. The request payload type is `Reques pub struct RequestCrawlRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestCrawlRequest { const PATH: &'static str = "/xrpc/com.atproto.sync.requestCrawl"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestCrawl; type Response = RequestCrawlResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/sync/subscribe_repos.rs b/crates/jacquard-api/src/com_atproto/sync/subscribe_repos.rs index 67806a31f..ad6cdbd4a 100644 --- a/crates/jacquard-api/src/com_atproto/sync/subscribe_repos.rs +++ b/crates/jacquard-api/src/com_atproto/sync/subscribe_repos.rs @@ -10,30 +10,27 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::cid::CidLink; -use jacquard_common::types::string::{Datetime, Did, Handle, Tid}; +use jacquard_common::types::string::{Did, Handle, Tid, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::sync::subscribe_repos; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::sync::subscribe_repos; /// Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Account { ///Indicates that the account has a repository which can be fetched from the host that emitted this event. pub active: bool, @@ -145,10 +142,7 @@ where /// Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Commit { pub blobs: Vec>, ///CAR file containing relevant blocks, as a diff since the previous repo state. The commit must be included as a block, and the commit block CID must be the first entry in the CAR header 'roots' list. @@ -182,10 +176,7 @@ pub struct Commit { /// Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Identity { pub did: Did, ///The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details. @@ -197,11 +188,9 @@ pub struct Identity { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Info { #[serde(skip_serializing_if = "Option::is_none")] pub message: Option, @@ -210,6 +199,7 @@ pub struct Info { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum InfoName { OutdatedCursor, @@ -283,6 +273,7 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct SubscribeRepos { @@ -290,6 +281,7 @@ pub struct SubscribeRepos { pub cursor: Option, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -314,38 +306,61 @@ impl SubscribeReposMessage { where S: serde::Deserialize<'de>, { - let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?; + let (header, body) = jacquard_common::xrpc::subscription::parse_event_header( + bytes, + )?; match header.t.as_str() { "#commit" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Commit(Box::new(variant))) } "#sync" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Sync(Box::new(variant))) } "#identity" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Identity(Box::new(variant))) } "#account" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Account(Box::new(variant))) } "#info" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Info(Box::new(variant))) } - unknown => Err(jacquard_common::error::DecodeError::UnknownEventType( - unknown.into(), - )), + unknown => { + Err( + jacquard_common::error::DecodeError::UnknownEventType(unknown.into()), + ) + } } } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SubscribeReposError { #[serde(rename = "FutureCursor")] @@ -355,10 +370,7 @@ pub enum SubscribeReposError { ConsumerTooSlow(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SubscribeReposError { @@ -392,10 +404,7 @@ impl core::fmt::Display for SubscribeReposError { /// A repo operation, ie a mutation of a single record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RepoOp { pub action: RepoOpAction, ///For creates and updates, the new record CID. For deletions, null. @@ -409,6 +418,7 @@ pub struct RepoOp { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum RepoOpAction { Create, @@ -493,10 +503,7 @@ where /// Updates the repo to a new state, without necessarily including that state on the firehose. Used to recover from broken commit streams, data loss incidents, or in situations where upstream host does not know recent state of the repository. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Sync { ///CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'. #[serde(with = "jacquard_common::serde_bytes_helper")] @@ -589,8 +596,7 @@ impl LexiconSchema for Info { pub struct SubscribeReposStream; impl jacquard_common::xrpc::SubscriptionResp for SubscribeReposStream { const NSID: &'static str = "com.atproto.sync.subscribeRepos"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::DagCbor; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; type Message = SubscribeReposMessage; type Error = SubscribeReposError; fn decode_message<'de, S>( @@ -606,16 +612,14 @@ impl jacquard_common::xrpc::SubscriptionResp for SubscribeReposStream { impl jacquard_common::xrpc::XrpcSubscription for SubscribeRepos { const NSID: &'static str = "com.atproto.sync.subscribeRepos"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::DagCbor; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; type Stream = SubscribeReposStream; } pub struct SubscribeReposEndpoint; impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeReposEndpoint { const PATH: &'static str = "/xrpc/com.atproto.sync.subscribeRepos"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::DagCbor; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; type Params = SubscribeRepos; type Stream = SubscribeReposStream; } @@ -652,7 +656,7 @@ impl LexiconSchema for Sync { pub mod account_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -798,7 +802,10 @@ where St::Did: account_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> AccountBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> AccountBuilder, S> { self._fields.1 = Option::Some(value.into()); AccountBuilder { _state: PhantomData, @@ -814,7 +821,10 @@ where St::Seq: account_state::IsUnset, { /// Set the `seq` field (required) - pub fn seq(mut self, value: impl Into) -> AccountBuilder, S> { + pub fn seq( + mut self, + value: impl Into, + ) -> AccountBuilder, S> { self._fields.2 = Option::Some(value.into()); AccountBuilder { _state: PhantomData, @@ -889,10 +899,10 @@ where } fn lexicon_doc_com_atproto_sync_subscribeRepos() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.sync.subscribeRepos"), @@ -1151,15 +1161,11 @@ fn lexicon_doc_com_atproto_sync_subscribeRepos() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("message"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("name"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -1169,42 +1175,45 @@ fn lexicon_doc_com_atproto_sync_subscribeRepos() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcSubscription(LexXrpcSubscription { - parameters: Some(LexXrpcSubscriptionParameter::Params(LexXrpcParameters { - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcSubscriptionParameter::Params(LexXrpcParameters { + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("repoOp"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A repo operation, ie a mutation of a single record.", - )), - required: Some(vec![ - SmolStr::new_static("action"), - SmolStr::new_static("path"), - SmolStr::new_static("cid"), - ]), + description: Some( + CowStr::new_static( + "A repo operation, ie a mutation of a single record.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("action"), SmolStr::new_static("path"), + SmolStr::new_static("cid") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("action"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("cid"), @@ -1214,9 +1223,7 @@ fn lexicon_doc_com_atproto_sync_subscribeRepos() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("path"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("prev"), @@ -1308,7 +1315,7 @@ fn lexicon_doc_com_atproto_sync_subscribeRepos() -> LexiconDoc<'static> { pub mod commit_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1558,7 +1565,18 @@ impl CommitBuilder { CommitBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1571,7 +1589,18 @@ impl CommitBuilder { CommitBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1692,7 +1721,10 @@ where St::Repo: commit_state::IsUnset, { /// Set the `repo` field (required) - pub fn repo(mut self, value: impl Into>) -> CommitBuilder, S> { + pub fn repo( + mut self, + value: impl Into>, + ) -> CommitBuilder, S> { self._fields.6 = Option::Some(value.into()); CommitBuilder { _state: PhantomData, @@ -1708,7 +1740,10 @@ where St::Rev: commit_state::IsUnset, { /// Set the `rev` field (required) - pub fn rev(mut self, value: impl Into) -> CommitBuilder, S> { + pub fn rev( + mut self, + value: impl Into, + ) -> CommitBuilder, S> { self._fields.7 = Option::Some(value.into()); CommitBuilder { _state: PhantomData, @@ -1724,7 +1759,10 @@ where St::Seq: commit_state::IsUnset, { /// Set the `seq` field (required) - pub fn seq(mut self, value: impl Into) -> CommitBuilder, S> { + pub fn seq( + mut self, + value: impl Into, + ) -> CommitBuilder, S> { self._fields.8 = Option::Some(value.into()); CommitBuilder { _state: PhantomData, @@ -1839,7 +1877,7 @@ where pub mod identity_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1898,12 +1936,7 @@ pub mod identity_state { /// Builder for constructing an instance of this type. pub struct IdentityBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option>, - Option, - Option, - ), + _fields: (Option>, Option>, Option, Option), _type: PhantomData S>, } @@ -1981,7 +2014,10 @@ where St::Seq: identity_state::IsUnset, { /// Set the `seq` field (required) - pub fn seq(mut self, value: impl Into) -> IdentityBuilder, S> { + pub fn seq( + mut self, + value: impl Into, + ) -> IdentityBuilder, S> { self._fields.2 = Option::Some(value.into()); IdentityBuilder { _state: PhantomData, @@ -2041,7 +2077,7 @@ where pub mod subscribe_repos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2118,7 +2154,7 @@ where pub mod repo_op_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2246,7 +2282,10 @@ where St::Path: repo_op_state::IsUnset, { /// Set the `path` field (required) - pub fn path(mut self, value: impl Into) -> RepoOpBuilder, S> { + pub fn path( + mut self, + value: impl Into, + ) -> RepoOpBuilder, S> { self._fields.2 = Option::Some(value.into()); RepoOpBuilder { _state: PhantomData, @@ -2299,7 +2338,7 @@ where pub mod sync_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2392,13 +2431,7 @@ pub mod sync_state { /// Builder for constructing an instance of this type. pub struct SyncBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option, - Option, - ), + _fields: (Option, Option>, Option, Option, Option), _type: PhantomData S>, } @@ -2444,7 +2477,10 @@ where St::Blocks: sync_state::IsUnset, { /// Set the `blocks` field (required) - pub fn blocks(mut self, value: impl Into) -> SyncBuilder, S> { + pub fn blocks( + mut self, + value: impl Into, + ) -> SyncBuilder, S> { self._fields.0 = Option::Some(value.into()); SyncBuilder { _state: PhantomData, @@ -2460,7 +2496,10 @@ where St::Did: sync_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> SyncBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> SyncBuilder, S> { self._fields.1 = Option::Some(value.into()); SyncBuilder { _state: PhantomData, @@ -2492,7 +2531,10 @@ where St::Seq: sync_state::IsUnset, { /// Set the `seq` field (required) - pub fn seq(mut self, value: impl Into) -> SyncBuilder, S> { + pub fn seq( + mut self, + value: impl Into, + ) -> SyncBuilder, S> { self._fields.3 = Option::Some(value.into()); SyncBuilder { _state: PhantomData, @@ -2508,7 +2550,10 @@ where St::Time: sync_state::IsUnset, { /// Set the `time` field (required) - pub fn time(mut self, value: impl Into) -> SyncBuilder, S> { + pub fn time( + mut self, + value: impl Into, + ) -> SyncBuilder, S> { self._fields.4 = Option::Some(value.into()); SyncBuilder { _state: PhantomData, @@ -2549,4 +2594,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp.rs b/crates/jacquard-api/src/com_atproto/temp.rs index fe54700ff..1d64a1a4b 100644 --- a/crates/jacquard-api/src/com_atproto/temp.rs +++ b/crates/jacquard-api/src/com_atproto/temp.rs @@ -10,4 +10,4 @@ pub mod check_signup_queue; pub mod dereference_scope; pub mod fetch_labels; pub mod request_phone_verification; -pub mod revoke_account_credentials; +pub mod revoke_account_credentials; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp/add_reserved_handle.rs b/crates/jacquard-api/src/com_atproto/temp/add_reserved_handle.rs index 7e9e4a5f1..cb9433dd1 100644 --- a/crates/jacquard-api/src/com_atproto/temp/add_reserved_handle.rs +++ b/crates/jacquard-api/src/com_atproto/temp/add_reserved_handle.rs @@ -10,28 +10,23 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddReservedHandle { pub handle: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddReservedHandleOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -50,8 +45,9 @@ impl jacquard_common::xrpc::XrpcResp for AddReservedHandleResponse { impl jacquard_common::xrpc::XrpcRequest for AddReservedHandle { const NSID: &'static str = "com.atproto.temp.addReservedHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AddReservedHandleResponse; } @@ -61,8 +57,9 @@ Path: `/xrpc/com.atproto.temp.addReservedHandle`. The request payload type is `A pub struct AddReservedHandleRequest; impl jacquard_common::xrpc::XrpcEndpoint for AddReservedHandleRequest { const PATH: &'static str = "/xrpc/com.atproto.temp.addReservedHandle"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AddReservedHandle; type Response = AddReservedHandleResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp/check_handle_availability.rs b/crates/jacquard-api/src/com_atproto/temp/check_handle_availability.rs index 980f6c40b..b9d20f9cf 100644 --- a/crates/jacquard-api/src/com_atproto/temp/check_handle_availability.rs +++ b/crates/jacquard-api/src/com_atproto/temp/check_handle_availability.rs @@ -10,27 +10,24 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Handle}; +use jacquard_common::types::string::{Handle, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::temp::check_handle_availability; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::temp::check_handle_availability; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CheckHandleAvailability { #[serde(skip_serializing_if = "Option::is_none")] pub birth_date: Option, @@ -39,11 +36,9 @@ pub struct CheckHandleAvailability { pub handle: Handle, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CheckHandleAvailabilityOutput { ///Echo of the input handle. pub handle: Handle, @@ -52,6 +47,7 @@ pub struct CheckHandleAvailabilityOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -62,9 +58,18 @@ pub enum CheckHandleAvailabilityOutputResult { ResultUnavailable(Box>), } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CheckHandleAvailabilityError { /// An invalid email was provided. @@ -72,10 +77,7 @@ pub enum CheckHandleAvailabilityError { InvalidEmail(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CheckHandleAvailabilityError { @@ -102,10 +104,7 @@ impl core::fmt::Display for CheckHandleAvailabilityError { /// Indicates the provided handle is available. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResultAvailable { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -114,10 +113,7 @@ pub struct ResultAvailable { /// Indicates the provided handle is unavailable and gives suggestions of available handles. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResultUnavailable { ///List of suggested handles based on the provided inputs. pub suggestions: Vec>, @@ -125,11 +121,9 @@ pub struct ResultUnavailable { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Suggestion { pub handle: Handle, ///Method used to build this suggestion. Should be considered opaque to clients. Can be used for metrics. @@ -213,7 +207,7 @@ impl LexiconSchema for Suggestion { pub mod check_handle_availability_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -255,15 +249,20 @@ pub struct CheckHandleAvailabilityBuilder< impl CheckHandleAvailability { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> CheckHandleAvailabilityBuilder { + pub fn new() -> CheckHandleAvailabilityBuilder< + check_handle_availability_state::Empty, + DefaultStr, + > { CheckHandleAvailabilityBuilder::new() } } impl CheckHandleAvailability { /// Create a new builder for this type - pub fn builder() -> CheckHandleAvailabilityBuilder { + pub fn builder() -> CheckHandleAvailabilityBuilder< + check_handle_availability_state::Empty, + S, + > { CheckHandleAvailabilityBuilder::builder() } } @@ -279,7 +278,9 @@ impl CheckHandleAvailabilityBuilder CheckHandleAvailabilityBuilder { +impl< + S: BosStr, +> CheckHandleAvailabilityBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { CheckHandleAvailabilityBuilder { @@ -290,7 +291,10 @@ impl CheckHandleAvailabilityBuilder CheckHandleAvailabilityBuilder { +impl< + St: check_handle_availability_state::State, + S: BosStr, +> CheckHandleAvailabilityBuilder { /// Set the `birthDate` field (optional) pub fn birth_date(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -303,7 +307,10 @@ impl CheckHandleAvailabil } } -impl CheckHandleAvailabilityBuilder { +impl< + St: check_handle_availability_state::State, + S: BosStr, +> CheckHandleAvailabilityBuilder { /// Set the `email` field (optional) pub fn email(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -325,7 +332,10 @@ where pub fn handle( mut self, value: impl Into>, - ) -> CheckHandleAvailabilityBuilder, S> { + ) -> CheckHandleAvailabilityBuilder< + check_handle_availability_state::SetHandle, + S, + > { self._fields.2 = Option::Some(value.into()); CheckHandleAvailabilityBuilder { _state: PhantomData, @@ -351,10 +361,10 @@ where } fn lexicon_doc_com_atproto_temp_checkHandleAvailability() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atproto.temp.checkHandleAvailability"), @@ -415,9 +425,9 @@ fn lexicon_doc_com_atproto_temp_checkHandleAvailability() -> LexiconDoc<'static> map.insert( SmolStr::new_static("resultAvailable"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Indicates the provided handle is available.", - )), + description: Some( + CowStr::new_static("Indicates the provided handle is available."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -500,7 +510,7 @@ fn lexicon_doc_com_atproto_temp_checkHandleAvailability() -> LexiconDoc<'static> pub mod result_unavailable_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -531,7 +541,10 @@ pub mod result_unavailable_state { } /// Builder for constructing an instance of this type. -pub struct ResultUnavailableBuilder { +pub struct ResultUnavailableBuilder< + St: result_unavailable_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -539,7 +552,10 @@ pub struct ResultUnavailableBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ResultUnavailableBuilder { + pub fn new() -> ResultUnavailableBuilder< + result_unavailable_state::Empty, + DefaultStr, + > { ResultUnavailableBuilder::new() } } @@ -605,7 +621,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ResultUnavailable { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ResultUnavailable { ResultUnavailable { suggestions: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -615,7 +634,7 @@ where pub mod suggestion_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -753,11 +772,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Suggestion { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Suggestion { Suggestion { handle: self._fields.0.unwrap(), method: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp/check_signup_queue.rs b/crates/jacquard-api/src/com_atproto/temp/check_signup_queue.rs index 7c474c885..4dd614dc3 100644 --- a/crates/jacquard-api/src/com_atproto/temp/check_signup_queue.rs +++ b/crates/jacquard-api/src/com_atproto/temp/check_signup_queue.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CheckSignupQueueOutput { pub activated: bool, #[serde(skip_serializing_if = "Option::is_none")] @@ -63,4 +60,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for CheckSignupQueueRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = CheckSignupQueue; type Response = CheckSignupQueueResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp/dereference_scope.rs b/crates/jacquard-api/src/com_atproto/temp/dereference_scope.rs index 76dba6a4d..d3d31d5ba 100644 --- a/crates/jacquard-api/src/com_atproto/temp/dereference_scope.rs +++ b/crates/jacquard-api/src/com_atproto/temp/dereference_scope.rs @@ -10,26 +10,21 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DereferenceScope { pub scope: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DereferenceScopeOutput { ///The full oauth permission scope pub scope: S, @@ -37,9 +32,18 @@ pub struct DereferenceScopeOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DereferenceScopeError { /// An invalid scope reference was provided. @@ -47,10 +51,7 @@ pub enum DereferenceScopeError { InvalidScopeReference(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DereferenceScopeError { @@ -104,7 +105,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DereferenceScopeRequest { pub mod dereference_scope_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -135,7 +136,10 @@ pub mod dereference_scope_state { } /// Builder for constructing an instance of this type. -pub struct DereferenceScopeBuilder { +pub struct DereferenceScopeBuilder< + St: dereference_scope_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -207,4 +211,4 @@ where scope: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp/fetch_labels.rs b/crates/jacquard-api/src/com_atproto/temp/fetch_labels.rs index c7a9c176c..b2c1079b9 100644 --- a/crates/jacquard-api/src/com_atproto/temp/fetch_labels.rs +++ b/crates/jacquard-api/src/com_atproto/temp/fetch_labels.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::label::Label; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::label::Label; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -28,11 +28,9 @@ pub struct FetchLabels { pub since: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FetchLabelsOutput { pub labels: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -73,7 +71,7 @@ fn _default_limit() -> Option { pub mod fetch_labels_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -160,4 +158,4 @@ where since: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp/request_phone_verification.rs b/crates/jacquard-api/src/com_atproto/temp/request_phone_verification.rs index 8d1f8ecab..d8d42cef6 100644 --- a/crates/jacquard-api/src/com_atproto/temp/request_phone_verification.rs +++ b/crates/jacquard-api/src/com_atproto/temp/request_phone_verification.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestPhoneVerification { pub phone_number: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -40,8 +37,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestPhoneVerificationResponse { impl jacquard_common::xrpc::XrpcRequest for RequestPhoneVerification { const NSID: &'static str = "com.atproto.temp.requestPhoneVerification"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RequestPhoneVerificationResponse; } @@ -51,8 +49,9 @@ Path: `/xrpc/com.atproto.temp.requestPhoneVerification`. The request payload typ pub struct RequestPhoneVerificationRequest; impl jacquard_common::xrpc::XrpcEndpoint for RequestPhoneVerificationRequest { const PATH: &'static str = "/xrpc/com.atproto.temp.requestPhoneVerification"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RequestPhoneVerification; type Response = RequestPhoneVerificationResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atproto/temp/revoke_account_credentials.rs b/crates/jacquard-api/src/com_atproto/temp/revoke_account_credentials.rs index 48e6c1561..e730bb3bf 100644 --- a/crates/jacquard-api/src/com_atproto/temp/revoke_account_credentials.rs +++ b/crates/jacquard-api/src/com_atproto/temp/revoke_account_credentials.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RevokeAccountCredentials { pub account: AtIdentifier, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for RevokeAccountCredentialsResponse { impl jacquard_common::xrpc::XrpcRequest for RevokeAccountCredentials { const NSID: &'static str = "com.atproto.temp.revokeAccountCredentials"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RevokeAccountCredentialsResponse; } @@ -52,15 +50,16 @@ Path: `/xrpc/com.atproto.temp.revokeAccountCredentials`. The request payload typ pub struct RevokeAccountCredentialsRequest; impl jacquard_common::xrpc::XrpcEndpoint for RevokeAccountCredentialsRequest { const PATH: &'static str = "/xrpc/com.atproto.temp.revokeAccountCredentials"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RevokeAccountCredentials; type Response = RevokeAccountCredentialsResponse; } pub mod revoke_account_credentials_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -102,21 +101,28 @@ pub struct RevokeAccountCredentialsBuilder< impl RevokeAccountCredentials { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> RevokeAccountCredentialsBuilder { + pub fn new() -> RevokeAccountCredentialsBuilder< + revoke_account_credentials_state::Empty, + DefaultStr, + > { RevokeAccountCredentialsBuilder::new() } } impl RevokeAccountCredentials { /// Create a new builder for this type - pub fn builder() -> RevokeAccountCredentialsBuilder - { + pub fn builder() -> RevokeAccountCredentialsBuilder< + revoke_account_credentials_state::Empty, + S, + > { RevokeAccountCredentialsBuilder::builder() } } -impl RevokeAccountCredentialsBuilder { +impl RevokeAccountCredentialsBuilder< + revoke_account_credentials_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { RevokeAccountCredentialsBuilder { @@ -127,7 +133,9 @@ impl RevokeAccountCredentialsBuilder RevokeAccountCredentialsBuilder { +impl< + S: BosStr, +> RevokeAccountCredentialsBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { RevokeAccountCredentialsBuilder { @@ -147,7 +155,10 @@ where pub fn account( mut self, value: impl Into>, - ) -> RevokeAccountCredentialsBuilder, S> { + ) -> RevokeAccountCredentialsBuilder< + revoke_account_credentials_state::SetAccount, + S, + > { self._fields.0 = Option::Some(value.into()); RevokeAccountCredentialsBuilder { _state: PhantomData, @@ -179,4 +190,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans.rs b/crates/jacquard-api/src/com_atprotofans.rs index c82496fcd..e5530e72d 100644 --- a/crates/jacquard-api/src/com_atprotofans.rs +++ b/crates/jacquard-api/src/com_atprotofans.rs @@ -11,4 +11,4 @@ pub mod hydrated_profile; pub mod profile; pub mod supporter; pub mod supporter_proof; -pub mod validate_supporter; +pub mod validate_supporter; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/broker_proof.rs b/crates/jacquard-api/src/com_atprotofans/broker_proof.rs index 5c2a4236b..6ea7c0aa4 100644 --- a/crates/jacquard-api/src/com_atprotofans/broker_proof.rs +++ b/crates/jacquard-api/src/com_atprotofans/broker_proof.rs @@ -10,8 +10,8 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Broker attestation proof for a supporter relationship. When inline, cid and signature are required. When remote, only cid is required. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -112,7 +112,7 @@ impl LexiconSchema for BrokerProof { pub mod broker_proof_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -245,7 +245,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BrokerProof { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BrokerProof { BrokerProof { cid: self._fields.0.unwrap(), key: self._fields.1, @@ -256,10 +259,10 @@ where } fn lexicon_doc_com_atprotofans_brokerProof() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atprotofans.brokerProof"), @@ -315,4 +318,4 @@ fn lexicon_doc_com_atprotofans_brokerProof() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/get_profile.rs b/crates/jacquard-api/src/com_atprotofans/get_profile.rs index e36d38b26..db706e267 100644 --- a/crates/jacquard-api/src/com_atprotofans/get_profile.rs +++ b/crates/jacquard-api/src/com_atprotofans/get_profile.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atprotofans::hydrated_profile::HydratedProfile; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atprotofans::hydrated_profile::HydratedProfile; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfile { pub subject: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfileOutput { #[serde(flatten)] pub value: HydratedProfile, @@ -39,9 +34,18 @@ pub struct GetProfileOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetProfileError { /// Invalid DID format. @@ -52,10 +56,7 @@ pub enum GetProfileError { ProfileNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetProfileError { @@ -116,7 +117,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest { pub mod get_profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -219,4 +220,4 @@ where subject: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/get_supporters.rs b/crates/jacquard-api/src/com_atprotofans/get_supporters.rs index d28ca09e6..f436bb45a 100644 --- a/crates/jacquard-api/src/com_atprotofans/get_supporters.rs +++ b/crates/jacquard-api/src/com_atprotofans/get_supporters.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atprotofans::hydrated_profile::HydratedProfile; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atprotofans::hydrated_profile::HydratedProfile; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSupporters { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -33,11 +30,9 @@ pub struct GetSupporters { pub subject: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSupportersOutput { ///Pagination cursor for fetching the next page of results. #[serde(skip_serializing_if = "Option::is_none")] @@ -48,9 +43,18 @@ pub struct GetSupportersOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetSupportersError { /// Invalid DID format. @@ -58,10 +62,7 @@ pub enum GetSupportersError { InvalidRequest(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetSupportersError { @@ -119,7 +120,7 @@ fn _default_limit() -> Option { pub mod get_supporters_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -150,7 +151,10 @@ pub mod get_supporters_state { } /// Builder for constructing an instance of this type. -pub struct GetSupportersBuilder { +pub struct GetSupportersBuilder< + St: get_supporters_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -250,4 +254,4 @@ where subject: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/hydrated_profile.rs b/crates/jacquard-api/src/com_atprotofans/hydrated_profile.rs index daed24f63..127c9f25d 100644 --- a/crates/jacquard-api/src/com_atprotofans/hydrated_profile.rs +++ b/crates/jacquard-api/src/com_atprotofans/hydrated_profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,17 +22,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::richtext::facet::Facet; /// A hydrated identity profile with computed fields. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HydratedProfile { ///Whether the identity is currently accepting new supporters. #[serde(skip_serializing_if = "Option::is_none")] @@ -91,23 +88,25 @@ impl LexiconSchema for HydratedProfile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -130,23 +129,25 @@ impl LexiconSchema for HydratedProfile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -203,7 +204,7 @@ impl LexiconSchema for HydratedProfile { pub mod hydrated_profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -234,7 +235,10 @@ pub mod hydrated_profile_state { } /// Builder for constructing an instance of this type. -pub struct HydratedProfileBuilder { +pub struct HydratedProfileBuilder< + St: hydrated_profile_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -430,7 +434,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> HydratedProfile { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> HydratedProfile { HydratedProfile { accepting_supporters: self._fields.0, avatar: self._fields.1, @@ -447,10 +454,10 @@ where } fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atprotofans.hydratedProfile"), @@ -459,9 +466,11 @@ fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A hydrated identity profile with computed fields.", - )), + description: Some( + CowStr::new_static( + "A hydrated identity profile with computed fields.", + ), + ), required: Some(vec![SmolStr::new_static("did")]), properties: { #[allow(unused_mut)] @@ -474,22 +483,20 @@ fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("banner"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Profile bio/description with optional rich text.", - )), + description: Some( + CowStr::new_static( + "Profile bio/description with optional rich text.", + ), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -498,7 +505,9 @@ fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("DID of the profile owner.")), + description: Some( + CowStr::new_static("DID of the profile owner."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -506,9 +515,9 @@ fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("displayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name for the profile.", - )), + description: Some( + CowStr::new_static("Display name for the profile."), + ), max_length: Some(640usize), max_graphemes: Some(64usize), ..Default::default() @@ -517,9 +526,11 @@ fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Rich text facets for description annotations.", - )), + description: Some( + CowStr::new_static( + "Rich text facets for description annotations.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.bsky.richtext.facet"), ..Default::default() @@ -530,9 +541,9 @@ fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("handle"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Handle of the profile owner.", - )), + description: Some( + CowStr::new_static("Handle of the profile owner."), + ), format: Some(LexStringFormat::Handle), ..Default::default() }), @@ -552,4 +563,4 @@ fn lexicon_doc_com_atprotofans_hydratedProfile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/profile.rs b/crates/jacquard-api/src/com_atprotofans/profile.rs index dab58a663..4cea8607f 100644 --- a/crates/jacquard-api/src/com_atprotofans/profile.rs +++ b/crates/jacquard-api/src/com_atprotofans/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::richtext::facet::Facet; /// An identity profile for display and discovery on atprotofans. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -132,23 +132,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -171,23 +173,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -244,7 +248,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -420,10 +424,10 @@ where } fn lexicon_doc_com_atprotofans_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atprotofans.profile"), @@ -432,9 +436,11 @@ fn lexicon_doc_com_atprotofans_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "An identity profile for display and discovery on atprotofans.", - )), + description: Some( + CowStr::new_static( + "An identity profile for display and discovery on atprotofans.", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { properties: { @@ -448,22 +454,20 @@ fn lexicon_doc_com_atprotofans_profile() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("banner"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Profile bio/description with optional rich text.", - )), + description: Some( + CowStr::new_static( + "Profile bio/description with optional rich text.", + ), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -472,9 +476,9 @@ fn lexicon_doc_com_atprotofans_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("displayName"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Display name for the profile.", - )), + description: Some( + CowStr::new_static("Display name for the profile."), + ), max_length: Some(640usize), max_graphemes: Some(64usize), ..Default::default() @@ -483,9 +487,11 @@ fn lexicon_doc_com_atprotofans_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Rich text facets for description annotations.", - )), + description: Some( + CowStr::new_static( + "Rich text facets for description annotations.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("app.bsky.richtext.facet"), ..Default::default() @@ -504,4 +510,4 @@ fn lexicon_doc_com_atprotofans_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/supporter.rs b/crates/jacquard-api/src/com_atprotofans/supporter.rs index 476b4daed..52806625c 100644 --- a/crates/jacquard-api/src/com_atprotofans/supporter.rs +++ b/crates/jacquard-api/src/com_atprotofans/supporter.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::repo::strong_ref::StrongRef; use crate::com_atprotofans::broker_proof::BrokerProof; use crate::com_atprotofans::supporter_proof::SupporterProof; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Record declaring support for another identity. Stored in the supporter's repository. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -49,6 +49,7 @@ pub struct Supporter { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -122,7 +123,7 @@ impl LexiconSchema for Supporter { pub mod supporter_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -197,12 +198,18 @@ impl SupporterBuilder { impl SupporterBuilder { /// Set the `signatures` field (optional) - pub fn signatures(mut self, value: impl Into>>>) -> Self { + pub fn signatures( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `signatures` field to an Option value (optional) - pub fn maybe_signatures(mut self, value: Option>>) -> Self { + pub fn maybe_signatures( + mut self, + value: Option>>, + ) -> Self { self._fields.0 = value; self } @@ -241,7 +248,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Supporter { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Supporter { Supporter { signatures: self._fields.0, subject: self._fields.1.unwrap(), @@ -251,10 +261,10 @@ where } fn lexicon_doc_com_atprotofans_supporter() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atprotofans.supporter"), @@ -314,4 +324,4 @@ fn lexicon_doc_com_atprotofans_supporter() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/supporter_proof.rs b/crates/jacquard-api/src/com_atprotofans/supporter_proof.rs index 52720c87c..296cd79fb 100644 --- a/crates/jacquard-api/src/com_atprotofans/supporter_proof.rs +++ b/crates/jacquard-api/src/com_atprotofans/supporter_proof.rs @@ -10,8 +10,8 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Attestation proof for a supporter relationship. When inline, cid and signature are required. When remote, only cid is required. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -112,7 +112,7 @@ impl LexiconSchema for SupporterProof { pub mod supporter_proof_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -143,7 +143,10 @@ pub mod supporter_proof_state { } /// Builder for constructing an instance of this type. -pub struct SupporterProofBuilder { +pub struct SupporterProofBuilder< + St: supporter_proof_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -245,7 +248,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SupporterProof { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SupporterProof { SupporterProof { cid: self._fields.0.unwrap(), key: self._fields.1, @@ -256,10 +262,10 @@ where } fn lexicon_doc_com_atprotofans_supporterProof() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.atprotofans.supporterProof"), @@ -315,4 +321,4 @@ fn lexicon_doc_com_atprotofans_supporterProof() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_atprotofans/validate_supporter.rs b/crates/jacquard-api/src/com_atprotofans/validate_supporter.rs index 5a6c95cc8..c564f0e88 100644 --- a/crates/jacquard-api/src/com_atprotofans/validate_supporter.rs +++ b/crates/jacquard-api/src/com_atprotofans/validate_supporter.rs @@ -8,32 +8,27 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atprotofans::hydrated_profile::HydratedProfile; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atprotofans::hydrated_profile::HydratedProfile; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ValidateSupporter { pub signer: Did, pub subject: Did, pub supporter: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ValidateSupporterOutput { ///Hydrated profile of the supporter, if available. #[serde(skip_serializing_if = "Option::is_none")] @@ -44,9 +39,18 @@ pub struct ValidateSupporterOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ValidateSupporterError { /// Invalid DID format or missing required parameters. @@ -54,10 +58,7 @@ pub enum ValidateSupporterError { InvalidRequest(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ValidateSupporterError { @@ -111,7 +112,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ValidateSupporterRequest { pub mod validate_supporter_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -168,7 +169,10 @@ pub mod validate_supporter_state { } /// Builder for constructing an instance of this type. -pub struct ValidateSupporterBuilder { +pub struct ValidateSupporterBuilder< + St: validate_supporter_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>, Option>), _type: PhantomData S>, @@ -176,7 +180,10 @@ pub struct ValidateSupporterBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ValidateSupporterBuilder { + pub fn new() -> ValidateSupporterBuilder< + validate_supporter_state::Empty, + DefaultStr, + > { ValidateSupporterBuilder::new() } } @@ -282,4 +289,4 @@ where supporter: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_bad_example.rs b/crates/jacquard-api/src/com_bad_example.rs index b81f2ba10..37317692c 100644 --- a/crates/jacquard-api/src/com_bad_example.rs +++ b/crates/jacquard-api/src/com_bad_example.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.bad.example` Lexicon namespace/module. -pub mod identity; +pub mod identity; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_bad_example/identity.rs b/crates/jacquard-api/src/com_bad_example/identity.rs index 1defef2f6..bd5c202cc 100644 --- a/crates/jacquard-api/src/com_bad_example/identity.rs +++ b/crates/jacquard-api/src/com_bad_example/identity.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.bad.example.identity` Lexicon namespace/module. -pub mod resolve_mini_doc; +pub mod resolve_mini_doc; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_bad_example/identity/resolve_mini_doc.rs b/crates/jacquard-api/src/com_bad_example/identity/resolve_mini_doc.rs index 91b959ee6..a781821b5 100644 --- a/crates/jacquard-api/src/com_bad_example/identity/resolve_mini_doc.rs +++ b/crates/jacquard-api/src/com_bad_example/identity/resolve_mini_doc.rs @@ -10,40 +10,35 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::string::{Did, Handle, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveMiniDoc { pub identifier: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveMiniDocOutput { ///DID, bi-directionally verified if a handle was provided in the query. pub did: Did, /**The validated handle of the account or `handle.invalid` if the handle - did not bi-directionally match the DID document.*/ +did not bi-directionally match the DID document.*/ pub handle: Handle, ///The identity's PDS URL pub pds: UriValue, /**The atproto signing key publicKeyMultibase - Legacy key encoding not supported. the key is returned directly; `id`, - `type`, and `controller` are omitted.*/ +Legacy key encoding not supported. the key is returned directly; `id`, +`type`, and `controller` are omitted.*/ pub signing_key: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -79,7 +74,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveMiniDocRequest { pub mod resolve_mini_doc_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -110,7 +105,10 @@ pub mod resolve_mini_doc_state { } /// Builder for constructing an instance of this type. -pub struct ResolveMiniDocBuilder { +pub struct ResolveMiniDocBuilder< + St: resolve_mini_doc_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -182,4 +180,4 @@ where identifier: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_chrisvanderloo.rs b/crates/jacquard-api/src/com_chrisvanderloo.rs index feb189d6b..ea8ac58e6 100644 --- a/crates/jacquard-api/src/com_chrisvanderloo.rs +++ b/crates/jacquard-api/src/com_chrisvanderloo.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.chrisvanderloo` Lexicon namespace/module. -pub mod project; +pub mod project; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_chrisvanderloo/project.rs b/crates/jacquard-api/src/com_chrisvanderloo/project.rs index c3778eb1e..413490948 100644 --- a/crates/jacquard-api/src/com_chrisvanderloo/project.rs +++ b/crates/jacquard-api/src/com_chrisvanderloo/project.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A project for display on my website. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -162,7 +162,7 @@ impl LexiconSchema for Project { pub mod project_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -237,13 +237,7 @@ pub mod project_state { /// Builder for constructing an instance of this type. pub struct ProjectBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -359,7 +353,10 @@ where St::Title: project_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ProjectBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ProjectBuilder, S> { self._fields.4 = Option::Some(value.into()); ProjectBuilder { _state: PhantomData, @@ -402,10 +399,10 @@ where } fn lexicon_doc_com_chrisvanderloo_project() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.chrisvanderloo.project"), @@ -414,15 +411,18 @@ fn lexicon_doc_com_chrisvanderloo_project() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A project for display on my website.")), + description: Some( + CowStr::new_static("A project for display on my website."), + ), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("description"), - SmolStr::new_static("repo"), - SmolStr::new_static("language"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), + SmolStr::new_static("description"), + SmolStr::new_static("repo"), SmolStr::new_static("language") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -474,4 +474,4 @@ fn lexicon_doc_com_chrisvanderloo_project() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_crabdance.rs b/crates/jacquard-api/src/com_crabdance.rs index 73b4883d2..aa943def9 100644 --- a/crates/jacquard-api/src/com_crabdance.rs +++ b/crates/jacquard-api/src/com_crabdance.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.crabdance` Lexicon namespace/module. -pub mod nandi; +pub mod nandi; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_crabdance/nandi.rs b/crates/jacquard-api/src/com_crabdance/nandi.rs index 05a765bb2..7016f8dce 100644 --- a/crates/jacquard-api/src/com_crabdance/nandi.rs +++ b/crates/jacquard-api/src/com_crabdance/nandi.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.crabdance.nandi` Lexicon namespace/module. -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_crabdance/nandi/post.rs b/crates/jacquard-api/src/com_crabdance/nandi/post.rs index d6afa0410..cb3c4b012 100644 --- a/crates/jacquard-api/src/com_crabdance/nandi/post.rs +++ b/crates/jacquard-api/src/com_crabdance/nandi/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -186,7 +186,7 @@ fn _default_post_published() -> Option { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -299,7 +299,10 @@ where St::Content: post_state::IsUnset, { /// Set the `content` field (required) - pub fn content(mut self, value: impl Into) -> PostBuilder, S> { + pub fn content( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.0 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -373,7 +376,10 @@ where St::Title: post_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> PostBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.5 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -432,10 +438,10 @@ where } fn lexicon_doc_com_crabdance_nandi_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.crabdance.nandi.post"), @@ -446,20 +452,24 @@ fn lexicon_doc_com_crabdance_nandi_post() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("content"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), + SmolStr::new_static("content"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("content"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The main content of the blog post in markdown", - )), + description: Some( + CowStr::new_static( + "The main content of the blog post in markdown", + ), + ), min_length: Some(1usize), max_length: Some(10000usize), ..Default::default() @@ -481,9 +491,9 @@ fn lexicon_doc_com_crabdance_nandi_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("summary"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional summary/excerpt of the post", - )), + description: Some( + CowStr::new_static("Optional summary/excerpt of the post"), + ), max_length: Some(500usize), ..Default::default() }), @@ -491,9 +501,9 @@ fn lexicon_doc_com_crabdance_nandi_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Tags for categorizing the post", - )), + description: Some( + CowStr::new_static("Tags for categorizing the post"), + ), items: LexArrayItem::String(LexString { max_length: Some(50usize), ..Default::default() @@ -505,9 +515,9 @@ fn lexicon_doc_com_crabdance_nandi_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("title"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The title of the blog post", - )), + description: Some( + CowStr::new_static("The title of the blog post"), + ), min_length: Some(1usize), max_length: Some(200usize), ..Default::default() @@ -531,4 +541,4 @@ fn lexicon_doc_com_crabdance_nandi_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher.rs b/crates/jacquard-api/src/com_deckbelcher.rs index 2ba84d5f7..7b72afc06 100644 --- a/crates/jacquard-api/src/com_deckbelcher.rs +++ b/crates/jacquard-api/src/com_deckbelcher.rs @@ -12,6 +12,7 @@ pub mod deck; pub mod richtext; pub mod social; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -30,17 +31,14 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Reference to a Magic: The Gathering card with printing and oracle identifiers. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CardRef { /**Oracle card URI (oracle:) - for external indexing. - Derived from scryfallUri; on conflict, scryfallUri takes precedence.*/ +Derived from scryfallUri; on conflict, scryfallUri takes precedence.*/ pub oracle_uri: UriValue, ///Scryfall printing URI (scry:) - authoritative identifier pub scryfall_uri: UriValue, @@ -65,7 +63,7 @@ impl LexiconSchema for CardRef { pub mod card_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -213,10 +211,10 @@ where } fn lexicon_doc_com_deckbelcher_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.deckbelcher.defs"), @@ -272,4 +270,4 @@ fn lexicon_doc_com_deckbelcher_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/actor.rs b/crates/jacquard-api/src/com_deckbelcher/actor.rs index a9cd439eb..e5a47d48a 100644 --- a/crates/jacquard-api/src/com_deckbelcher/actor.rs +++ b/crates/jacquard-api/src/com_deckbelcher/actor.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.deckbelcher.actor` Lexicon namespace/module. -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/actor/profile.rs b/crates/jacquard-api/src/com_deckbelcher/actor/profile.rs index a0804f9ea..f1f34b988 100644 --- a/crates/jacquard-api/src/com_deckbelcher/actor/profile.rs +++ b/crates/jacquard-api/src/com_deckbelcher/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_deckbelcher::richtext::Document; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_deckbelcher::richtext::Document; /// A DeckBelcher user profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -133,7 +133,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -277,10 +277,10 @@ where } fn lexicon_doc_com_deckbelcher_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.deckbelcher.actor.profile"), @@ -299,16 +299,20 @@ fn lexicon_doc_com_deckbelcher_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("bio"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.deckbelcher.richtext#document"), + r#ref: CowStr::new_static( + "com.deckbelcher.richtext#document", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the profile was created.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the profile was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -316,9 +320,11 @@ fn lexicon_doc_com_deckbelcher_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("pronouns"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form pronouns text, can include brief explanation.", - )), + description: Some( + CowStr::new_static( + "Free-form pronouns text, can include brief explanation.", + ), + ), max_length: Some(256usize), max_graphemes: Some(64usize), ..Default::default() @@ -335,4 +341,4 @@ fn lexicon_doc_com_deckbelcher_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/collection.rs b/crates/jacquard-api/src/com_deckbelcher/collection.rs index 96619f3e6..dd391effb 100644 --- a/crates/jacquard-api/src/com_deckbelcher/collection.rs +++ b/crates/jacquard-api/src/com_deckbelcher/collection.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.deckbelcher.collection` Lexicon namespace/module. -pub mod list; +pub mod list; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/collection/list.rs b/crates/jacquard-api/src/com_deckbelcher/collection/list.rs index 0e0e293d2..6ece94198 100644 --- a/crates/jacquard-api/src/com_deckbelcher/collection/list.rs +++ b/crates/jacquard-api/src/com_deckbelcher/collection/list.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,20 +24,17 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::repo::strong_ref::StrongRef; use crate::com_deckbelcher::CardRef; -use crate::com_deckbelcher::collection::list; use crate::com_deckbelcher::richtext::Document; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::com_deckbelcher::collection::list; /// A card saved to the list. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CardItem { ///Timestamp when this item was added to the list. pub added_at: Datetime, @@ -50,10 +47,7 @@ pub struct CardItem { /// A deck saved to the list. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeckItem { ///Timestamp when this item was added to the list. pub added_at: Datetime, @@ -89,6 +83,7 @@ pub struct List { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -214,7 +209,7 @@ impl LexiconSchema for List { pub mod card_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -362,10 +357,10 @@ where } fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.deckbelcher.collection.list"), @@ -375,19 +370,20 @@ fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { SmolStr::new_static("cardItem"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("A card saved to the list.")), - required: Some(vec![ - SmolStr::new_static("ref"), - SmolStr::new_static("addedAt"), - ]), + required: Some( + vec![SmolStr::new_static("ref"), SmolStr::new_static("addedAt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("addedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when this item was added to the list.", - )), + description: Some( + CowStr::new_static( + "Timestamp when this item was added to the list.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -408,19 +404,20 @@ fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { SmolStr::new_static("deckItem"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("A deck saved to the list.")), - required: Some(vec![ - SmolStr::new_static("ref"), - SmolStr::new_static("addedAt"), - ]), + required: Some( + vec![SmolStr::new_static("ref"), SmolStr::new_static("addedAt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("addedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when this item was added to the list.", - )), + description: Some( + CowStr::new_static( + "Timestamp when this item was added to the list.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -440,23 +437,26 @@ fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A curated list of cards and/or decks.")), + description: Some( + CowStr::new_static("A curated list of cards and/or decks."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("items"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("items"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the list was created.", - )), + description: Some( + CowStr::new_static("Timestamp when the list was created."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -464,7 +464,9 @@ fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.deckbelcher.richtext#document"), + r#ref: CowStr::new_static( + "com.deckbelcher.richtext#document", + ), ..Default::default() }), ); @@ -475,7 +477,7 @@ fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { items: LexArrayItem::Union(LexRefUnion { refs: vec![ CowStr::new_static("#cardItem"), - CowStr::new_static("#deckItem"), + CowStr::new_static("#deckItem") ], ..Default::default() }), @@ -494,9 +496,11 @@ fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the list was last updated.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the list was last updated.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -516,7 +520,7 @@ fn lexicon_doc_com_deckbelcher_collection_list() -> LexiconDoc<'static> { pub mod deck_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -665,7 +669,7 @@ where pub mod list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -827,7 +831,10 @@ where St::Name: list_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ListBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ListBuilder, S> { self._fields.3 = Option::Some(value.into()); ListBuilder { _state: PhantomData, @@ -879,4 +886,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/deck.rs b/crates/jacquard-api/src/com_deckbelcher/deck.rs index 6869efbf9..50dc7f062 100644 --- a/crates/jacquard-api/src/com_deckbelcher/deck.rs +++ b/crates/jacquard-api/src/com_deckbelcher/deck.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `com.deckbelcher.deck` Lexicon namespace/module. -pub mod list; +pub mod list; \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/deck/list.rs b/crates/jacquard-api/src/com_deckbelcher/deck/list.rs index ba136f3ce..7eac3d879 100644 --- a/crates/jacquard-api/src/com_deckbelcher/deck/list.rs +++ b/crates/jacquard-api/src/com_deckbelcher/deck/list.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,20 +24,17 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::repo::strong_ref::StrongRef; use crate::com_deckbelcher::CardRef; -use crate::com_deckbelcher::deck::list; use crate::com_deckbelcher::richtext::Document; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::com_deckbelcher::deck::list; /// A card entry in a decklist. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Card { ///Number of copies in the deck. pub quantity: i64, @@ -238,6 +235,7 @@ pub struct List { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -264,10 +262,7 @@ pub struct ListGetRecordOutput { /// Primer in a separate ATProto record. For use with any longform writing lexicon. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PrimerRef { pub r#ref: StrongRef, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -277,10 +272,7 @@ pub struct PrimerRef { /// External primer content. Typically a URL, but any valid URI scheme. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PrimerUri { pub uri: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -531,7 +523,7 @@ impl LexiconSchema for PrimerUri { pub mod card_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -590,12 +582,7 @@ pub mod card_state { /// Builder for constructing an instance of this type. pub struct CardBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option>, - ), + _fields: (Option, Option>, Option>, Option>), _type: PhantomData S>, } @@ -660,7 +647,10 @@ where St::Ref: card_state::IsUnset, { /// Set the `ref` field (required) - pub fn r#ref(mut self, value: impl Into>) -> CardBuilder, S> { + pub fn r#ref( + mut self, + value: impl Into>, + ) -> CardBuilder, S> { self._fields.1 = Option::Some(value.into()); CardBuilder { _state: PhantomData, @@ -732,10 +722,10 @@ where } fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.deckbelcher.deck.list"), @@ -812,23 +802,26 @@ fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A Magic: The Gathering decklist.")), + description: Some( + CowStr::new_static("A Magic: The Gathering decklist."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("cards"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("cards"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("cards"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of cards in the decklist.", - )), + description: Some( + CowStr::new_static("Array of cards in the decklist."), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#card"), ..Default::default() @@ -839,9 +832,11 @@ fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the decklist was created.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the decklist was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -856,7 +851,9 @@ fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Name of the decklist.")), + description: Some( + CowStr::new_static("Name of the decklist."), + ), max_length: Some(1280usize), max_graphemes: Some(128usize), ..Default::default() @@ -865,13 +862,15 @@ fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("primer"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static( - "Deck primer with strategy, combos, and card choices.", - )), + description: Some( + CowStr::new_static( + "Deck primer with strategy, combos, and card choices.", + ), + ), refs: vec![ CowStr::new_static("com.deckbelcher.richtext#document"), CowStr::new_static("#primerUri"), - CowStr::new_static("#primerRef"), + CowStr::new_static("#primerRef") ], ..Default::default() }), @@ -879,9 +878,11 @@ fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the decklist was last updated.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the decklist was last updated.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -920,9 +921,11 @@ fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("primerUri"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "External primer content. Typically a URL, but any valid URI scheme.", - )), + description: Some( + CowStr::new_static( + "External primer content. Typically a URL, but any valid URI scheme.", + ), + ), required: Some(vec![SmolStr::new_static("uri")]), properties: { #[allow(unused_mut)] @@ -961,7 +964,7 @@ fn lexicon_doc_com_deckbelcher_deck_list() -> LexiconDoc<'static> { pub mod list_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1124,7 +1127,10 @@ where St::Name: list_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> ListBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> ListBuilder, S> { self._fields.3 = Option::Some(value.into()); ListBuilder { _state: PhantomData, @@ -1195,7 +1201,7 @@ where pub mod primer_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1300,10 +1306,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PrimerRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PrimerRef { PrimerRef { r#ref: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/richtext.rs b/crates/jacquard-api/src/com_deckbelcher/richtext.rs index ca620cd39..5dccf19a3 100644 --- a/crates/jacquard-api/src/com_deckbelcher/richtext.rs +++ b/crates/jacquard-api/src/com_deckbelcher/richtext.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `com.deckbelcher.richtext` Lexicon namespace/module. pub mod facet; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -23,18 +24,15 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_deckbelcher::richtext; -use crate::com_deckbelcher::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_deckbelcher::richtext::facet::Facet; +use crate::com_deckbelcher::richtext; /// An unordered (bullet) list. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BulletListBlock { ///The list items. pub items: Vec>, @@ -45,10 +43,7 @@ pub struct BulletListBlock { /// A code block with optional language hint. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CodeBlock { ///Optional language identifier for syntax highlighting. #[serde(skip_serializing_if = "Option::is_none")] @@ -59,14 +54,11 @@ pub struct CodeBlock { pub extra_data: Option>>, } -/** A multi-block rich text document. -Used for primers and other long-form content.*/ +/// A multi-block rich text document. +/// Used for primers and other long-form content. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Document { ///Array of blocks (paragraphs, headings, etc). pub content: Vec>, @@ -74,6 +66,7 @@ pub struct Document { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -95,10 +88,7 @@ pub enum DocumentContentItem { /// A heading block with level, text, and optional facets. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HeadingBlock { ///Annotations of text (formatting, mentions, links, etc). #[serde(skip_serializing_if = "Option::is_none")] @@ -115,10 +105,7 @@ pub struct HeadingBlock { /// A horizontal rule (thematic break). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HorizontalRuleBlock { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -127,10 +114,7 @@ pub struct HorizontalRuleBlock { /// A single list item with text, optional facets, and optional sublist. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListItem { ///Annotations of text (formatting, mentions, links, etc). #[serde(skip_serializing_if = "Option::is_none")] @@ -145,6 +129,7 @@ pub struct ListItem { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -155,14 +140,11 @@ pub enum ListItemSublist { OrderedListBlock(Box>), } -/** A single paragraph of rich text with optional facet annotations. -Used for descriptions and other short formatted text.*/ +/// A single paragraph of rich text with optional facet annotations. +/// Used for descriptions and other short formatted text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Richtext { ///Annotations of text (mentions, URLs, hashtags, formatting, etc). #[serde(skip_serializing_if = "Option::is_none")] @@ -177,10 +159,7 @@ pub struct Richtext { /// An ordered (numbered) list. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct OrderedListBlock { ///The list items. pub items: Vec>, @@ -194,10 +173,7 @@ pub struct OrderedListBlock { /// A paragraph block with text and optional facets. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ParagraphBlock { ///Annotations of text (formatting, mentions, links, etc). #[serde(skip_serializing_if = "Option::is_none")] @@ -475,7 +451,7 @@ impl LexiconSchema for ParagraphBlock { pub mod bullet_list_block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -506,7 +482,10 @@ pub mod bullet_list_block_state { } /// Builder for constructing an instance of this type. -pub struct BulletListBlockBuilder { +pub struct BulletListBlockBuilder< + St: bullet_list_block_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -580,7 +559,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> BulletListBlock { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> BulletListBlock { BulletListBlock { items: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -589,10 +571,10 @@ where } fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("com.deckbelcher.richtext"), @@ -625,9 +607,9 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("codeBlock"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A code block with optional language hint.", - )), + description: Some( + CowStr::new_static("A code block with optional language hint."), + ), required: Some(vec![SmolStr::new_static("text")]), properties: { #[allow(unused_mut)] @@ -635,9 +617,11 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("language"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional language identifier for syntax highlighting.", - )), + description: Some( + CowStr::new_static( + "Optional language identifier for syntax highlighting.", + ), + ), max_length: Some(50usize), ..Default::default() }), @@ -645,9 +629,11 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The code content (plain text, no facets).", - )), + description: Some( + CowStr::new_static( + "The code content (plain text, no facets).", + ), + ), max_length: Some(100000usize), ..Default::default() }), @@ -699,9 +685,11 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("headingBlock"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A heading block with level, text, and optional facets.", - )), + description: Some( + CowStr::new_static( + "A heading block with level, text, and optional facets.", + ), + ), required: Some(vec![SmolStr::new_static("level")]), properties: { #[allow(unused_mut)] @@ -709,9 +697,11 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Annotations of text (formatting, mentions, links, etc).", - )), + description: Some( + CowStr::new_static( + "Annotations of text (formatting, mentions, links, etc).", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("com.deckbelcher.richtext.facet"), ..Default::default() @@ -730,9 +720,11 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The plain text content (no markdown symbols).", - )), + description: Some( + CowStr::new_static( + "The plain text content (no markdown symbols).", + ), + ), max_length: Some(10000usize), max_graphemes: Some(1000usize), ..Default::default() @@ -746,7 +738,9 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("horizontalRuleBlock"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("A horizontal rule (thematic break).")), + description: Some( + CowStr::new_static("A horizontal rule (thematic break)."), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -758,18 +752,22 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("listItem"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A single list item with text, optional facets, and optional sublist.", - )), + description: Some( + CowStr::new_static( + "A single list item with text, optional facets, and optional sublist.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Annotations of text (formatting, mentions, links, etc).", - )), + description: Some( + CowStr::new_static( + "Annotations of text (formatting, mentions, links, etc).", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("com.deckbelcher.richtext.facet"), ..Default::default() @@ -780,12 +778,14 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sublist"), LexObjectProperty::Union(LexRefUnion { - description: Some(CowStr::new_static( - "Optional nested sublist (bullet or ordered).", - )), + description: Some( + CowStr::new_static( + "Optional nested sublist (bullet or ordered).", + ), + ), refs: vec![ CowStr::new_static("#bulletListBlock"), - CowStr::new_static("#orderedListBlock"), + CowStr::new_static("#orderedListBlock") ], ..Default::default() }), @@ -793,9 +793,11 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The plain text content (no markdown symbols).", - )), + description: Some( + CowStr::new_static( + "The plain text content (no markdown symbols).", + ), + ), max_length: Some(100000usize), max_graphemes: Some(10000usize), ..Default::default() @@ -883,18 +885,22 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("paragraphBlock"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A paragraph block with text and optional facets.", - )), + description: Some( + CowStr::new_static( + "A paragraph block with text and optional facets.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Annotations of text (formatting, mentions, links, etc).", - )), + description: Some( + CowStr::new_static( + "Annotations of text (formatting, mentions, links, etc).", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("com.deckbelcher.richtext.facet"), ..Default::default() @@ -905,9 +911,11 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The plain text content (no markdown symbols).", - )), + description: Some( + CowStr::new_static( + "The plain text content (no markdown symbols).", + ), + ), max_length: Some(500000usize), max_graphemes: Some(50000usize), ..Default::default() @@ -926,7 +934,7 @@ fn lexicon_doc_com_deckbelcher_richtext() -> LexiconDoc<'static> { pub mod document_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1041,7 +1049,7 @@ where pub mod heading_block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1174,7 +1182,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> HeadingBlock { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> HeadingBlock { HeadingBlock { facets: self._fields.0, level: self._fields.1.unwrap(), @@ -1186,7 +1197,7 @@ where pub mod ordered_list_block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1217,7 +1228,10 @@ pub mod ordered_list_block_state { } /// Builder for constructing an instance of this type. -pub struct OrderedListBlockBuilder { +pub struct OrderedListBlockBuilder< + St: ordered_list_block_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>, Option), _type: PhantomData S>, @@ -1225,7 +1239,10 @@ pub struct OrderedListBlockBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> OrderedListBlockBuilder { + pub fn new() -> OrderedListBlockBuilder< + ordered_list_block_state::Empty, + DefaultStr, + > { OrderedListBlockBuilder::new() } } @@ -1305,11 +1322,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> OrderedListBlock { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> OrderedListBlock { OrderedListBlock { items: self._fields.0.unwrap(), start: self._fields.1, extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/com_deckbelcher/richtext/facet.rs b/crates/jacquard-api/src/com_deckbelcher/richtext/facet.rs index 534ee7c1d..08441691b 100644 --- a/crates/jacquard-api/src/com_deckbelcher/richtext/facet.rs +++ b/crates/jacquard-api/src/com_deckbelcher/richtext/facet.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,33 +21,27 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_deckbelcher; -use crate::com_deckbelcher::richtext::facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; -/** Facet feature for bold text formatting. -Typically rendered as `` in HTML.*/ +use serde::{Serialize, Deserialize}; +use crate::com_deckbelcher; +use crate::com_deckbelcher::richtext::facet; +/// Facet feature for bold text formatting. +/// Typically rendered as `` in HTML. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Bold { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } -/** Specifies the sub-string range a facet feature applies to. -Start index is inclusive, end index is exclusive. -Indices are zero-indexed, counting bytes of the UTF-8 encoded text.*/ +/// Specifies the sub-string range a facet feature applies to. +/// Start index is inclusive, end index is exclusive. +/// Indices are zero-indexed, counting bytes of the UTF-8 encoded text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ByteSlice { pub byte_end: i64, pub byte_start: i64, @@ -55,15 +49,12 @@ pub struct ByteSlice { pub extra_data: Option>>, } -/** Facet feature for a card reference. -Links to a Magic: The Gathering card. -The text is usually the card name.*/ +/// Facet feature for a card reference. +/// Links to a Magic: The Gathering card. +/// The text is usually the card name. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CardRef { ///Reference to the card (scryfall printing + oracle card). pub r#ref: com_deckbelcher::CardRef, @@ -71,67 +62,52 @@ pub struct CardRef { pub extra_data: Option>>, } -/** Facet feature for inline code. -Typically rendered as `` in HTML.*/ +/// Facet feature for inline code. +/// Typically rendered as `` in HTML. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Code { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } -/** Facet feature for code blocks. -Typically rendered as `
` in HTML.*/
+/// Facet feature for code blocks.
+/// Typically rendered as `
` in HTML.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CodeBlock {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
-/** Facet feature for italic text formatting.
-Typically rendered as `` in HTML.*/
+/// Facet feature for italic text formatting.
+/// Typically rendered as `` in HTML.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Italic {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
-/** Facet feature for a URL.
-The text URL may have been simplified or truncated, but the facet reference should be a complete URL.*/
+/// Facet feature for a URL.
+/// The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Link {
     pub uri: UriValue,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
-/** Annotation of a sub-string within rich text.
-Extends Bluesky's facet system to support DeckBelcher-specific features.*/
+/// Annotation of a sub-string within rich text.
+/// Extends Bluesky's facet system to support DeckBelcher-specific features.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Facet {
     pub features: Vec>,
     pub index: facet::ByteSlice,
@@ -139,6 +115,7 @@ pub struct Facet {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -161,28 +138,22 @@ pub enum FacetFeaturesItem {
     CardRef(Box>),
 }
 
-/** Facet feature for mention of another account.
-The text is usually a handle, including an `@` prefix, but the facet reference is a DID.*/
+/// Facet feature for mention of another account.
+/// The text is usually a handle, including an `@` prefix, but the facet reference is a DID.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Mention {
     pub did: Did,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
-/** Facet feature for a hashtag.
-The text usually includes a '#' prefix, but the facet reference should not.*/
+/// Facet feature for a hashtag.
+/// The text usually includes a '#' prefix, but the facet reference should not.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tag {
     pub tag: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -384,10 +355,10 @@ impl LexiconSchema for Tag {
 }
 
 fn lexicon_doc_com_deckbelcher_richtext_facet() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.deckbelcher.richtext.facet"),
@@ -472,9 +443,11 @@ fn lexicon_doc_com_deckbelcher_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("code"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Facet feature for inline code.\nTypically rendered as `` in HTML.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Facet feature for inline code.\nTypically rendered as `` in HTML.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -640,7 +613,7 @@ fn lexicon_doc_com_deckbelcher_richtext_facet() -> LexiconDoc<'static> {
 
 pub mod byte_slice_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -778,7 +751,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ByteSlice {
         ByteSlice {
             byte_end: self._fields.0.unwrap(),
             byte_start: self._fields.1.unwrap(),
@@ -789,7 +765,7 @@ where
 
 pub mod card_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -904,7 +880,7 @@ where
 
 pub mod link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -983,7 +959,10 @@ where
     St::Uri: link_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> LinkBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         LinkBuilder {
             _state: PhantomData,
@@ -1016,7 +995,7 @@ where
 
 pub mod facet_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1061,10 +1040,7 @@ pub mod facet_state {
 /// Builder for constructing an instance of this type.
 pub struct FacetBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option>,
-    ),
+    _fields: (Option>>, Option>),
     _type: PhantomData S>,
 }
 
@@ -1168,7 +1144,7 @@ where
 
 pub mod mention_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1247,7 +1223,10 @@ where
     St::Did: mention_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> MentionBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         MentionBuilder {
             _state: PhantomData,
@@ -1276,4 +1255,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_deckbelcher/social.rs b/crates/jacquard-api/src/com_deckbelcher/social.rs
index 5b698dd5b..b59c54c2f 100644
--- a/crates/jacquard-api/src/com_deckbelcher/social.rs
+++ b/crates/jacquard-api/src/com_deckbelcher/social.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `com.deckbelcher.social` Lexicon namespace/module.
 pub mod comment;
 pub mod like;
-pub mod reply;
+pub mod reply;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_deckbelcher/social/comment.rs b/crates/jacquard-api/src/com_deckbelcher/social/comment.rs
index 73b833f0d..b9f2b88c2 100644
--- a/crates/jacquard-api/src/com_deckbelcher/social/comment.rs
+++ b/crates/jacquard-api/src/com_deckbelcher/social/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,20 +24,17 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::com_deckbelcher::CardRef;
 use crate::com_deckbelcher::richtext::Document;
 use crate::com_deckbelcher::social::comment;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Subject: a card (global comment on the card itself).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CardSubject {
     pub r#ref: CardRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -47,10 +44,7 @@ pub struct CardSubject {
 /// Target: a card (in a deck or collection).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CardTarget {
     pub r#ref: CardRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -60,10 +54,7 @@ pub struct CardTarget {
 /// Target: a deck (in a collection).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeckTarget {
     pub r#ref: StrongRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -94,6 +85,7 @@ pub struct Comment {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -104,6 +96,7 @@ pub enum CommentSubject {
     RecordSubject(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -132,10 +125,7 @@ pub struct CommentGetRecordOutput {
 /// Subject: an ATProto record (deck, collection).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RecordSubject {
     pub r#ref: StrongRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -145,10 +135,7 @@ pub struct RecordSubject {
 /// Target: a deck section (mainboard, sideboard, etc).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SectionTarget {
     pub section: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -158,10 +145,7 @@ pub struct SectionTarget {
 /// Target: a tag package (ramp, removal, wincons, etc).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TagTarget {
     pub tag: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -356,7 +340,7 @@ impl LexiconSchema for TagTarget {
 
 pub mod card_subject_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -461,7 +445,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CardSubject {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CardSubject {
         CardSubject {
             r#ref: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -470,10 +457,10 @@ where
 }
 
 fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.deckbelcher.social.comment"),
@@ -482,9 +469,11 @@ fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("cardSubject"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Subject: a card (global comment on the card itself).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Subject: a card (global comment on the card itself).",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("ref")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -504,9 +493,9 @@ fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("cardTarget"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Target: a card (in a deck or collection).",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Target: a card (in a deck or collection)."),
+                    ),
                     required: Some(vec![SmolStr::new_static("ref")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -526,7 +515,9 @@ fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("deckTarget"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Target: a deck (in a collection).")),
+                    description: Some(
+                        CowStr::new_static("Target: a deck (in a collection)."),
+                    ),
                     required: Some(vec![SmolStr::new_static("ref")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -626,9 +617,11 @@ fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("recordSubject"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Subject: an ATProto record (deck, collection).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Subject: an ATProto record (deck, collection).",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("ref")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -648,9 +641,11 @@ fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sectionTarget"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Target: a deck section (mainboard, sideboard, etc).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Target: a deck section (mainboard, sideboard, etc).",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("section")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -671,9 +666,11 @@ fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("tagTarget"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Target: a tag package (ramp, removal, wincons, etc).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Target: a tag package (ramp, removal, wincons, etc).",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("tag")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -699,7 +696,7 @@ fn lexicon_doc_com_deckbelcher_social_comment() -> LexiconDoc<'static> {
 
 pub mod card_target_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -804,7 +801,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CardTarget {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CardTarget {
         CardTarget {
             r#ref: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -814,7 +814,7 @@ where
 
 pub mod deck_target_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -919,7 +919,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeckTarget {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeckTarget {
         DeckTarget {
             r#ref: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -929,7 +932,7 @@ where
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1150,7 +1153,7 @@ where
 
 pub mod record_subject_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1181,7 +1184,10 @@ pub mod record_subject_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct RecordSubjectBuilder {
+pub struct RecordSubjectBuilder<
+    St: record_subject_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -1255,10 +1261,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordSubject {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RecordSubject {
         RecordSubject {
             r#ref: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_deckbelcher/social/like.rs b/crates/jacquard-api/src/com_deckbelcher/social/like.rs
index 788439eda..ffcebe8a4 100644
--- a/crates/jacquard-api/src/com_deckbelcher/social/like.rs
+++ b/crates/jacquard-api/src/com_deckbelcher/social/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,19 +24,16 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::com_deckbelcher::CardRef;
 use crate::com_deckbelcher::social::like;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Subject for liking a card.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CardSubject {
     ///Reference to the card.
     pub r#ref: CardRef,
@@ -62,6 +59,7 @@ pub struct Like {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -86,10 +84,7 @@ pub struct LikeGetRecordOutput {
 /// Subject for liking an ATProto record (deck, reply, etc).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RecordSubject {
     ///Reference to the record.
     pub r#ref: StrongRef,
@@ -177,7 +172,7 @@ impl LexiconSchema for RecordSubject {
 
 pub mod card_subject_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -282,7 +277,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CardSubject {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CardSubject {
         CardSubject {
             r#ref: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -291,10 +289,10 @@ where
 }
 
 fn lexicon_doc_com_deckbelcher_social_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.deckbelcher.social.like"),
@@ -323,24 +321,28 @@ fn lexicon_doc_com_deckbelcher_social_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a 'like' of a piece of content (card, deck, reply, etc).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a 'like' of a piece of content (card, deck, reply, etc).",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the like was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when the like was created."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -348,12 +350,12 @@ fn lexicon_doc_com_deckbelcher_social_like() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    description: Some(CowStr::new_static(
-                                        "Reference to the content being liked.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Reference to the content being liked."),
+                                    ),
                                     refs: vec![
                                         CowStr::new_static("#cardSubject"),
-                                        CowStr::new_static("#recordSubject"),
+                                        CowStr::new_static("#recordSubject")
                                     ],
                                     ..Default::default()
                                 }),
@@ -368,9 +370,11 @@ fn lexicon_doc_com_deckbelcher_social_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("recordSubject"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Subject for liking an ATProto record (deck, reply, etc).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Subject for liking an ATProto record (deck, reply, etc).",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("ref")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -395,7 +399,7 @@ fn lexicon_doc_com_deckbelcher_social_like() -> LexiconDoc<'static> {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -544,7 +548,7 @@ where
 
 pub mod record_subject_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -575,7 +579,10 @@ pub mod record_subject_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct RecordSubjectBuilder {
+pub struct RecordSubjectBuilder<
+    St: record_subject_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -649,10 +656,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordSubject {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RecordSubject {
         RecordSubject {
             r#ref: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_deckbelcher/social/reply.rs b/crates/jacquard-api/src/com_deckbelcher/social/reply.rs
index 516d3b15a..2c903a062 100644
--- a/crates/jacquard-api/src/com_deckbelcher/social/reply.rs
+++ b/crates/jacquard-api/src/com_deckbelcher/social/reply.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::com_deckbelcher::richtext::Document;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::com_deckbelcher::richtext::Document;
 /// Reply to a comment or another reply.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -113,7 +113,7 @@ impl LexiconSchema for Reply {
 
 pub mod reply_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -356,10 +356,10 @@ where
 }
 
 fn lexicon_doc_com_deckbelcher_social_reply() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.deckbelcher.social.reply"),
@@ -368,22 +368,27 @@ fn lexicon_doc_com_deckbelcher_social_reply() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Reply to a comment or another reply.")),
+                    description: Some(
+                        CowStr::new_static("Reply to a comment or another reply."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("parent"),
-                            SmolStr::new_static("root"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("parent"), SmolStr::new_static("root"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("content"),
                                 LexObjectProperty::Ref(LexRef {
-                                    r#ref: CowStr::new_static("com.deckbelcher.richtext#document"),
+                                    r#ref: CowStr::new_static(
+                                        "com.deckbelcher.richtext#document",
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -426,4 +431,4 @@ fn lexicon_doc_com_deckbelcher_social_reply() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_germnetwork.rs b/crates/jacquard-api/src/com_germnetwork.rs
index 6be2fff8b..7827be7ca 100644
--- a/crates/jacquard-api/src/com_germnetwork.rs
+++ b/crates/jacquard-api/src/com_germnetwork.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `com.germnetwork` Lexicon namespace/module.
-pub mod declaration;
+pub mod declaration;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_germnetwork/declaration.rs b/crates/jacquard-api/src/com_germnetwork/declaration.rs
index e7c681fbe..6c0cfba6a 100644
--- a/crates/jacquard-api/src/com_germnetwork/declaration.rs
+++ b/crates/jacquard-api/src/com_germnetwork/declaration.rs
@@ -10,8 +10,8 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_germnetwork::declaration;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_germnetwork::declaration;
 /// A declaration of a Germ Network account
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -69,11 +69,9 @@ pub struct DeclarationGetRecordOutput {
     pub value: Declaration,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MessageMe {
     ///A URL to present to an account that does not have its own com.germnetwork.declaration record, must have an empty fragment component, where the app should fill in the fragment component with the DIDs of the two accounts who wish to message each other
     pub message_me_url: UriValue,
@@ -161,7 +159,9 @@ where
             MessageMeShowButtonTo::None => MessageMeShowButtonTo::None,
             MessageMeShowButtonTo::UsersIFollow => MessageMeShowButtonTo::UsersIFollow,
             MessageMeShowButtonTo::Everyone => MessageMeShowButtonTo::Everyone,
-            MessageMeShowButtonTo::Other(v) => MessageMeShowButtonTo::Other(v.into_static()),
+            MessageMeShowButtonTo::Other(v) => {
+                MessageMeShowButtonTo::Other(v.into_static())
+            }
         }
     }
 }
@@ -307,7 +307,7 @@ impl LexiconSchema for MessageMe {
 
 pub mod declaration_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -445,7 +445,10 @@ impl DeclarationBuilder {
 
 impl DeclarationBuilder {
     /// Set the `messageMe` field (optional)
-    pub fn message_me(mut self, value: impl Into>>) -> Self {
+    pub fn message_me(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -493,7 +496,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Declaration {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Declaration {
         Declaration {
             continuity_proofs: self._fields.0,
             current_key: self._fields.1.unwrap(),
@@ -506,10 +512,10 @@ where
 }
 
 fn lexicon_doc_com_germnetwork_declaration() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.germnetwork.declaration"),
@@ -634,7 +640,7 @@ fn lexicon_doc_com_germnetwork_declaration() -> LexiconDoc<'static> {
 
 pub mod message_me_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -772,11 +778,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> MessageMe {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> MessageMe {
         MessageMe {
             message_me_url: self._fields.0.unwrap(),
             show_button_to: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_kipclip.rs b/crates/jacquard-api/src/com_kipclip.rs
index 780c8926e..8ca73e47c 100644
--- a/crates/jacquard-api/src/com_kipclip.rs
+++ b/crates/jacquard-api/src/com_kipclip.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `com.kipclip` Lexicon namespace/module.
 pub mod annotation;
-pub mod tag;
+pub mod tag;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_kipclip/annotation.rs b/crates/jacquard-api/src/com_kipclip/annotation.rs
index 87665d906..8ad45346e 100644
--- a/crates/jacquard-api/src/com_kipclip/annotation.rs
+++ b/crates/jacquard-api/src/com_kipclip/annotation.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Enrichment data and optional user note for a bookmark
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -146,7 +146,7 @@ impl LexiconSchema for Annotation {
 
 pub mod annotation_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -362,7 +362,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Annotation {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Annotation {
         Annotation {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -377,10 +380,10 @@ where
 }
 
 fn lexicon_doc_com_kipclip_annotation() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.kipclip.annotation"),
@@ -389,15 +392,19 @@ fn lexicon_doc_com_kipclip_annotation() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Enrichment data and optional user note for a bookmark",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Enrichment data and optional user note for a bookmark",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -432,9 +439,9 @@ fn lexicon_doc_com_kipclip_annotation() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("note"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "User note for this bookmark",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("User note for this bookmark"),
+                                    ),
                                     max_length: Some(10000usize),
                                     ..Default::default()
                                 }),
@@ -442,9 +449,9 @@ fn lexicon_doc_com_kipclip_annotation() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT URI of the bookmark this annotates",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("AT URI of the bookmark this annotates"),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -467,4 +474,4 @@ fn lexicon_doc_com_kipclip_annotation() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_kipclip/tag.rs b/crates/jacquard-api/src/com_kipclip/tag.rs
index f3096fe1a..dd0cfc80c 100644
--- a/crates/jacquard-api/src/com_kipclip/tag.rs
+++ b/crates/jacquard-api/src/com_kipclip/tag.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user-defined tag for organizing bookmarks
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -117,7 +117,7 @@ impl LexiconSchema for Tag {
 
 pub mod tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -227,7 +227,10 @@ where
     St::Value: tag_state::IsUnset,
 {
     /// Set the `value` field (required)
-    pub fn value(mut self, value: impl Into) -> TagBuilder, S> {
+    pub fn value(
+        mut self,
+        value: impl Into,
+    ) -> TagBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         TagBuilder {
             _state: PhantomData,
@@ -262,10 +265,10 @@ where
 }
 
 fn lexicon_doc_com_kipclip_tag() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.kipclip.tag"),
@@ -274,24 +277,26 @@ fn lexicon_doc_com_kipclip_tag() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A user-defined tag for organizing bookmarks",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A user-defined tag for organizing bookmarks"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("value"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("value"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when tag was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when tag was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -315,4 +320,4 @@ fn lexicon_doc_com_kipclip_tag() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs.rs b/crates/jacquard-api/src/com_shinolabs.rs
index eb37e8d55..862d1f221 100644
--- a/crates/jacquard-api/src/com_shinolabs.rs
+++ b/crates/jacquard-api/src/com_shinolabs.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `com.shinolabs` Lexicon namespace/module.
-pub mod pinksea;
+pub mod pinksea;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea.rs b/crates/jacquard-api/src/com_shinolabs/pinksea.rs
index f8395028a..868778103 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea.rs
@@ -14,4 +14,4 @@ pub mod get_parent_for_reply;
 pub mod get_recent;
 pub mod get_tag_feed;
 pub mod oekaki;
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/app_view_defs.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/app_view_defs.rs
index a6a0fbe68..4b2fa1d7d 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/app_view_defs.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/app_view_defs.rs
@@ -10,28 +10,25 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, Handle, UriValue};
+use jacquard_common::types::string::{Did, Handle, AtUri, Cid, Datetime, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_shinolabs::pinksea::app_view_defs;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_shinolabs::pinksea::app_view_defs;
 /// An author for an oekaki post
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Author {
     ///The DID of the author
     pub did: Did,
@@ -44,10 +41,7 @@ pub struct Author {
 /// A hydrated oekaki post returned from the PinkSea app view.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HydratedOekaki {
     ///Alt text description of the image, for accessibility.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -73,10 +67,7 @@ pub struct HydratedOekaki {
 /// A tombstone for a missing oekaki.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OekakiTombstone {
     ///The AT uri of the former oekaki.
     pub former_at: AtUri,
@@ -141,7 +132,7 @@ impl LexiconSchema for OekakiTombstone {
 
 pub mod author_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -232,7 +223,10 @@ where
     St::Did: author_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> AuthorBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> AuthorBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         AuthorBuilder {
             _state: PhantomData,
@@ -286,10 +280,10 @@ where
 }
 
 fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.shinolabs.pinksea.appViewDefs"),
@@ -298,18 +292,21 @@ fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("author"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("An author for an oekaki post")),
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("handle"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An author for an oekaki post"),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("did"), SmolStr::new_static("handle")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The DID of the author")),
+                                description: Some(
+                                    CowStr::new_static("The DID of the author"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -317,7 +314,9 @@ fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("handle"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The handle of the author.")),
+                                description: Some(
+                                    CowStr::new_static("The handle of the author."),
+                                ),
                                 format: Some(LexStringFormat::Handle),
                                 ..Default::default()
                             }),
@@ -330,33 +329,39 @@ fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("hydratedOekaki"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A hydrated oekaki post returned from the PinkSea app view.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("image"),
-                        SmolStr::new_static("at"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("creationTime"),
-                        SmolStr::new_static("nsfw"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A hydrated oekaki post returned from the PinkSea app view.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("author"), SmolStr::new_static("image"),
+                            SmolStr::new_static("at"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("creationTime"),
+                            SmolStr::new_static("nsfw")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("alt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Alt text description of the image, for accessibility.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Alt text description of the image, for accessibility.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("at"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The AT protocol link.")),
+                                description: Some(
+                                    CowStr::new_static("The AT protocol link."),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -401,9 +406,9 @@ fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("tags"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "An array of tags this image had.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("An array of tags this image had."),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     max_length: Some(640usize),
                                     ..Default::default()
@@ -420,7 +425,9 @@ fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("oekakiTombstone"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A tombstone for a missing oekaki.")),
+                    description: Some(
+                        CowStr::new_static("A tombstone for a missing oekaki."),
+                    ),
                     required: Some(vec![SmolStr::new_static("formerAt")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -428,9 +435,9 @@ fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("formerAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The AT uri of the former oekaki.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The AT uri of the former oekaki."),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -448,7 +455,7 @@ fn lexicon_doc_com_shinolabs_pinksea_appViewDefs() -> LexiconDoc<'static> {
 
 pub mod hydrated_oekaki_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -559,7 +566,10 @@ pub mod hydrated_oekaki_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct HydratedOekakiBuilder {
+pub struct HydratedOekakiBuilder<
+    St: hydrated_oekaki_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -775,7 +785,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> HydratedOekaki {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> HydratedOekaki {
         HydratedOekaki {
             alt: self._fields.0,
             at: self._fields.1.unwrap(),
@@ -792,7 +805,7 @@ where
 
 pub mod oekaki_tombstone_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -823,7 +836,10 @@ pub mod oekaki_tombstone_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct OekakiTombstoneBuilder {
+pub struct OekakiTombstoneBuilder<
+    St: oekaki_tombstone_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -897,10 +913,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> OekakiTombstone {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> OekakiTombstone {
         OekakiTombstone {
             former_at: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_feed.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_feed.rs
index d8a4bb020..5b75b5ab8 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_feed.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_feed.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetAuthorFeed {
     pub did: AtIdentifier,
     /// Defaults to `50`. Min: 1. Max: 50.
@@ -34,11 +31,9 @@ pub struct GetAuthorFeed {
     pub since: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetAuthorFeedOutput {
     pub oekaki: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_author_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -110,7 +105,10 @@ pub mod get_author_feed_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetAuthorFeedBuilder {
+pub struct GetAuthorFeedBuilder<
+    St: get_author_feed_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -210,4 +208,4 @@ where
             since: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_replies.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_replies.rs
index f645099dd..c5ddb4b69 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_replies.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_author_replies.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetAuthorReplies {
     pub did: AtIdentifier,
     /// Defaults to `50`. Min: 1. Max: 50.
@@ -34,11 +31,9 @@ pub struct GetAuthorReplies {
     pub since: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetAuthorRepliesOutput {
     pub oekaki: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_author_replies_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -110,7 +105,10 @@ pub mod get_author_replies_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetAuthorRepliesBuilder {
+pub struct GetAuthorRepliesBuilder<
+    St: get_author_replies_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -118,7 +116,10 @@ pub struct GetAuthorRepliesBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetAuthorRepliesBuilder {
+    pub fn new() -> GetAuthorRepliesBuilder<
+        get_author_replies_state::Empty,
+        DefaultStr,
+    > {
         GetAuthorRepliesBuilder::new()
     }
 }
@@ -210,4 +211,4 @@ where
             since: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_handle_from_did.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_handle_from_did.rs
index 334991fc5..abf823816 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_handle_from_did.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_handle_from_did.rs
@@ -10,28 +10,23 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::Handle;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetHandleFromDid {
     pub did: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetHandleFromDidOutput {
     ///The handle.
     pub handle: Handle,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetHandleFromDidRequest {
 
 pub mod get_handle_from_did_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -100,7 +95,10 @@ pub mod get_handle_from_did_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetHandleFromDidBuilder {
+pub struct GetHandleFromDidBuilder<
+    St: get_handle_from_did_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -108,7 +106,10 @@ pub struct GetHandleFromDidBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetHandleFromDidBuilder {
+    pub fn new() -> GetHandleFromDidBuilder<
+        get_handle_from_did_state::Empty,
+        DefaultStr,
+    > {
         GetHandleFromDidBuilder::new()
     }
 }
@@ -172,4 +173,4 @@ where
             did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_identity.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_identity.rs
index 8d9db1419..88c22ffac 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_identity.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_identity.rs
@@ -10,23 +10,20 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::Handle;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetIdentity;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetIdentityOutput {
     ///The DID of the user.
     pub did: AtIdentifier,
@@ -62,4 +59,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetIdentityRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetIdentity;
     type Response = GetIdentityResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_oekaki.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_oekaki.rs
index e888a10ad..b2514a34e 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_oekaki.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_oekaki.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
-use crate::com_shinolabs::pinksea::app_view_defs::OekakiTombstone;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
+use crate::com_shinolabs::pinksea::app_view_defs::OekakiTombstone;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOekaki {
     pub did: AtIdentifier,
     pub rkey: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOekakiOutput {
     pub children: Vec>,
     pub parent: GetOekakiOutputParent,
@@ -41,6 +36,7 @@ pub struct GetOekakiOutput {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -81,7 +77,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetOekakiRequest {
 
 pub mod get_oekaki_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,4 +213,4 @@ where
             rkey: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_parent_for_reply.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_parent_for_reply.rs
index 57d5145ab..f32169a6a 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_parent_for_reply.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_parent_for_reply.rs
@@ -10,28 +10,23 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetParentForReply {
     pub did: AtIdentifier,
     pub rkey: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetParentForReplyOutput {
     ///The DID of the author.
     pub did: AtIdentifier,
@@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetParentForReplyRequest {
 
 pub mod get_parent_for_reply_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -114,7 +109,10 @@ pub mod get_parent_for_reply_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetParentForReplyBuilder {
+pub struct GetParentForReplyBuilder<
+    St: get_parent_for_reply_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option),
     _type: PhantomData S>,
@@ -122,7 +120,10 @@ pub struct GetParentForReplyBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetParentForReplyBuilder {
+    pub fn new() -> GetParentForReplyBuilder<
+        get_parent_for_reply_state::Empty,
+        DefaultStr,
+    > {
         GetParentForReplyBuilder::new()
     }
 }
@@ -207,4 +208,4 @@ where
             rkey: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_recent.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_recent.rs
index 83b8258a8..2497e3081 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_recent.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_recent.rs
@@ -8,15 +8,15 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -29,11 +29,9 @@ pub struct GetRecent {
     pub since: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecentOutput {
     pub oekaki: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -74,7 +72,7 @@ fn _default_limit() -> Option {
 
 pub mod get_recent_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -161,4 +159,4 @@ where
             since: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/get_tag_feed.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/get_tag_feed.rs
index 24b004768..9d696ae1f 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/get_tag_feed.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/get_tag_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_shinolabs::pinksea::app_view_defs::HydratedOekaki;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTagFeed {
     /// Defaults to `50`. Min: 1. Max: 50.
     #[serde(default = "_default_limit")]
@@ -33,11 +30,9 @@ pub struct GetTagFeed {
     pub tag: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTagFeedOutput {
     pub oekaki: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -78,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_tag_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -209,4 +204,4 @@ where
             tag: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/oekaki.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/oekaki.rs
index aba02e196..859febbbf 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/oekaki.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/oekaki.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::com_shinolabs::pinksea::oekaki;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::com_shinolabs::pinksea::oekaki;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Image {
     ///The actual atproto image blob.
     pub blob: BlobRef,
@@ -47,10 +44,7 @@ pub struct Image {
 /// A link to the image, it can be either directly to the PDS or to a CDN.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ImageLink {
     ///Alt text description of the image, for accessibility.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -131,16 +125,19 @@ impl LexiconSchema for Image {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -223,7 +220,7 @@ impl LexiconSchema for Oekaki {
 
 pub mod image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -371,10 +368,10 @@ where
 }
 
 fn lexicon_doc_com_shinolabs_pinksea_oekaki() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.shinolabs.pinksea.oekaki"),
@@ -383,18 +380,17 @@ fn lexicon_doc_com_shinolabs_pinksea_oekaki() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("image"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("blob"),
-                        SmolStr::new_static("imageLink"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("blob"), SmolStr::new_static("imageLink")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("imageLink"),
@@ -411,9 +407,11 @@ fn lexicon_doc_com_shinolabs_pinksea_oekaki() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("imageLink"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A link to the image, it can be either directly to the PDS or to a CDN.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A link to the image, it can be either directly to the PDS or to a CDN.",
+                        ),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -421,9 +419,11 @@ fn lexicon_doc_com_shinolabs_pinksea_oekaki() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("alt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Alt text description of the image, for accessibility.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Alt text description of the image, for accessibility.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -437,19 +437,21 @@ fn lexicon_doc_com_shinolabs_pinksea_oekaki() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     description: Some(CowStr::new_static("An oekaki post.")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("image"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("image"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The timestamp of creation.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The timestamp of creation."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -477,9 +479,9 @@ fn lexicon_doc_com_shinolabs_pinksea_oekaki() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("tags"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "An array of tags this image had.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("An array of tags this image had."),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         max_length: Some(640usize),
                                         ..Default::default()
@@ -503,7 +505,7 @@ fn lexicon_doc_com_shinolabs_pinksea_oekaki() -> LexiconDoc<'static> {
 
 pub mod oekaki_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -699,4 +701,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_shinolabs/pinksea/profile.rs b/crates/jacquard-api/src/com_shinolabs/pinksea/profile.rs
index c4a31416b..7225c1308 100644
--- a/crates/jacquard-api/src/com_shinolabs/pinksea/profile.rs
+++ b/crates/jacquard-api/src/com_shinolabs/pinksea/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::com_shinolabs::pinksea::profile;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::com_shinolabs::pinksea::profile;
 /// A profile of a PinkSea user.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -66,11 +66,9 @@ pub struct ProfileGetRecordOutput {
     pub value: Profile,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileLink {
     ///The URL of the link.
     pub link: UriValue,
@@ -223,7 +221,7 @@ impl LexiconSchema for ProfileLink {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -316,7 +314,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `links` field (optional)
-    pub fn links(mut self, value: impl Into>>>) -> Self {
+    pub fn links(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -367,10 +368,10 @@ where
 }
 
 fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.shinolabs.pinksea.profile"),
@@ -379,7 +380,9 @@ fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A profile of a PinkSea user.")),
+                    description: Some(
+                        CowStr::new_static("A profile of a PinkSea user."),
+                    ),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
                             #[allow(unused_mut)]
@@ -394,7 +397,9 @@ fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("bio"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("The bio of the user.")),
+                                    description: Some(
+                                        CowStr::new_static("The bio of the user."),
+                                    ),
                                     max_length: Some(2400usize),
                                     max_graphemes: Some(240usize),
                                     ..Default::default()
@@ -403,9 +408,11 @@ fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("links"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "The links to outside platforms for this user",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The links to outside platforms for this user",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("#profileLink"),
                                         ..Default::default()
@@ -417,9 +424,9 @@ fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("nickname"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The display name of the user.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The display name of the user."),
+                                    ),
                                     max_length: Some(640usize),
                                     max_graphemes: Some(64usize),
                                     ..Default::default()
@@ -435,17 +442,18 @@ fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("profileLink"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("link"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("link")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("link"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The URL of the link.")),
+                                description: Some(
+                                    CowStr::new_static("The URL of the link."),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -453,7 +461,9 @@ fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The name of the link.")),
+                                description: Some(
+                                    CowStr::new_static("The name of the link."),
+                                ),
                                 max_length: Some(500usize),
                                 max_graphemes: Some(50usize),
                                 ..Default::default()
@@ -472,7 +482,7 @@ fn lexicon_doc_com_shinolabs_pinksea_profile() -> LexiconDoc<'static> {
 
 pub mod profile_link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -610,11 +620,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileLink {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileLink {
         ProfileLink {
             link: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_suibari.rs b/crates/jacquard-api/src/com_suibari.rs
index ea5084568..0b9fbd91c 100644
--- a/crates/jacquard-api/src/com_suibari.rs
+++ b/crates/jacquard-api/src/com_suibari.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `com.suibari` Lexicon namespace/module.
-pub mod atsumeat;
+pub mod atsumeat;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_suibari/atsumeat.rs b/crates/jacquard-api/src/com_suibari/atsumeat.rs
index a129da87a..d3ddb785c 100644
--- a/crates/jacquard-api/src/com_suibari/atsumeat.rs
+++ b/crates/jacquard-api/src/com_suibari/atsumeat.rs
@@ -7,4 +7,4 @@
 pub mod config;
 pub mod sticker;
 pub mod sticker_like;
-pub mod transaction;
+pub mod transaction;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_suibari/atsumeat/config.rs b/crates/jacquard-api/src/com_suibari/atsumeat/config.rs
index c53914a98..e6f46a0a2 100644
--- a/crates/jacquard-api/src/com_suibari/atsumeat/config.rs
+++ b/crates/jacquard-api/src/com_suibari/atsumeat/config.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Configuration for the Atsumeat app
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -103,7 +103,7 @@ impl LexiconSchema for Config {
 
 pub mod config_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,10 +217,10 @@ where
 }
 
 fn lexicon_doc_com_suibari_atsumeat_config() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.suibari.atsumeat.config"),
@@ -229,7 +229,9 @@ fn lexicon_doc_com_suibari_atsumeat_config() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Configuration for the Atsumeat app")),
+                    description: Some(
+                        CowStr::new_static("Configuration for the Atsumeat app"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("hubRef")]),
@@ -254,4 +256,4 @@ fn lexicon_doc_com_suibari_atsumeat_config() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_suibari/atsumeat/sticker.rs b/crates/jacquard-api/src/com_suibari/atsumeat/sticker.rs
index 083ce7627..7744ce242 100644
--- a/crates/jacquard-api/src/com_suibari/atsumeat/sticker.rs
+++ b/crates/jacquard-api/src/com_suibari/atsumeat/sticker.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Definition of a sticker
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -421,7 +421,7 @@ impl LexiconSchema for Sticker {
 
 pub mod sticker_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -572,7 +572,19 @@ impl StickerBuilder {
         StickerBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -585,7 +597,19 @@ impl StickerBuilder {
         StickerBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -643,7 +667,10 @@ where
     St::Model: sticker_state::IsUnset,
 {
     /// Set the `model` field (required)
-    pub fn model(mut self, value: impl Into) -> StickerBuilder, S> {
+    pub fn model(
+        mut self,
+        value: impl Into,
+    ) -> StickerBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         StickerBuilder {
             _state: PhantomData,
@@ -845,10 +872,10 @@ where
 }
 
 fn lexicon_doc_com_suibari_atsumeat_sticker() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.suibari.atsumeat.sticker"),
@@ -1022,4 +1049,4 @@ fn lexicon_doc_com_suibari_atsumeat_sticker() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_suibari/atsumeat/sticker_like.rs b/crates/jacquard-api/src/com_suibari/atsumeat/sticker_like.rs
index 841bcca23..ccc3f31b4 100644
--- a/crates/jacquard-api/src/com_suibari/atsumeat/sticker_like.rs
+++ b/crates/jacquard-api/src/com_suibari/atsumeat/sticker_like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Definition of a like on a sticker
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for StickerLike {
 
 pub mod sticker_like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -243,7 +243,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StickerLike {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StickerLike {
         StickerLike {
             created_at: self._fields.0.unwrap(),
             subject: self._fields.1.unwrap(),
@@ -253,10 +256,10 @@ where
 }
 
 fn lexicon_doc_com_suibari_atsumeat_stickerLike() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.suibari.atsumeat.stickerLike"),
@@ -265,13 +268,17 @@ fn lexicon_doc_com_suibari_atsumeat_stickerLike() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Definition of a like on a sticker")),
+                    description: Some(
+                        CowStr::new_static("Definition of a like on a sticker"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -300,4 +307,4 @@ fn lexicon_doc_com_suibari_atsumeat_stickerLike() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_suibari/atsumeat/transaction.rs b/crates/jacquard-api/src/com_suibari/atsumeat/transaction.rs
index 0c63e1d0a..0b2705118 100644
--- a/crates/jacquard-api/src/com_suibari/atsumeat/transaction.rs
+++ b/crates/jacquard-api/src/com_suibari/atsumeat/transaction.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Definition of a transaction
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -242,7 +242,7 @@ impl LexiconSchema for Transaction {
 
 pub mod transaction_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -488,7 +488,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Transaction {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Transaction {
         Transaction {
             created_at: self._fields.0.unwrap(),
             is_easy_exchange: self._fields.1,
@@ -505,10 +508,10 @@ where
 }
 
 fn lexicon_doc_com_suibari_atsumeat_transaction() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.suibari.atsumeat.transaction"),
@@ -640,4 +643,4 @@ fn lexicon_doc_com_suibari_atsumeat_transaction() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_whtwnd.rs b/crates/jacquard-api/src/com_whtwnd.rs
index 4e5cd71e7..3816eb793 100644
--- a/crates/jacquard-api/src/com_whtwnd.rs
+++ b/crates/jacquard-api/src/com_whtwnd.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `com.whtwnd` Lexicon namespace/module.
-pub mod blog;
+pub mod blog;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_whtwnd/blog.rs b/crates/jacquard-api/src/com_whtwnd/blog.rs
index 6f53e7512..c4763135a 100644
--- a/crates/jacquard-api/src/com_whtwnd/blog.rs
+++ b/crates/jacquard-api/src/com_whtwnd/blog.rs
@@ -12,12 +12,13 @@ pub mod get_entry_metadata_by_name;
 pub mod get_mentions_by_entry;
 pub mod notify_of_new_entry;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -31,13 +32,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlobMetadata {
     pub blobref: BlobRef,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -46,11 +44,9 @@ pub struct BlobMetadata {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlogEntry {
     pub content: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -59,11 +55,9 @@ pub struct BlogEntry {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Comment {
     pub content: S,
     pub entry_uri: AtUri,
@@ -71,11 +65,9 @@ pub struct Comment {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Ogp {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub height: Option,
@@ -102,16 +94,19 @@ impl LexiconSchema for BlobMetadata {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blobref"),
@@ -194,7 +189,7 @@ impl LexiconSchema for Ogp {
 
 pub mod blob_metadata_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -313,7 +308,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BlobMetadata {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BlobMetadata {
         BlobMetadata {
             blobref: self._fields.0.unwrap(),
             name: self._fields.1,
@@ -323,10 +321,10 @@ where
 }
 
 fn lexicon_doc_com_whtwnd_blog_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.whtwnd.blog.defs"),
@@ -341,15 +339,11 @@ fn lexicon_doc_com_whtwnd_blog_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blobref"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -385,10 +379,12 @@ fn lexicon_doc_com_whtwnd_blog_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("comment"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("content"),
-                        SmolStr::new_static("entryUri"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("content"),
+                            SmolStr::new_static("entryUri")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -450,7 +446,7 @@ fn lexicon_doc_com_whtwnd_blog_defs() -> LexiconDoc<'static> {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -599,7 +595,7 @@ where
 
 pub mod ogp_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -691,7 +687,10 @@ where
     St::Url: ogp_state::IsUnset,
 {
     /// Set the `url` field (required)
-    pub fn url(mut self, value: impl Into>) -> OgpBuilder, S> {
+    pub fn url(
+        mut self,
+        value: impl Into>,
+    ) -> OgpBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         OgpBuilder {
             _state: PhantomData,
@@ -737,4 +736,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_whtwnd/blog/entry.rs b/crates/jacquard-api/src/com_whtwnd/blog/entry.rs
index 7f51d44c7..4b8245c4d 100644
--- a/crates/jacquard-api/src/com_whtwnd/blog/entry.rs
+++ b/crates/jacquard-api/src/com_whtwnd/blog/entry.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_whtwnd::blog::BlobMetadata;
-use crate::com_whtwnd::blog::Ogp;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_whtwnd::blog::BlobMetadata;
+use crate::com_whtwnd::blog::Ogp;
 /// A declaration of a post.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -159,7 +159,7 @@ fn _default_entry_visibility() -> ::core::option::Option {
 
 pub mod entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -261,7 +261,10 @@ where
     St::Content: entry_state::IsUnset,
 {
     /// Set the `content` field (required)
-    pub fn content(mut self, value: impl Into) -> EntryBuilder, S> {
+    pub fn content(
+        mut self,
+        value: impl Into,
+    ) -> EntryBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         EntryBuilder {
             _state: PhantomData,
@@ -400,10 +403,10 @@ where
 }
 
 fn lexicon_doc_com_whtwnd_blog_entry() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.whtwnd.blog.entry"),
@@ -481,9 +484,11 @@ fn lexicon_doc_com_whtwnd_blog_entry() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("visibility"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Tells the visibility of the article to AppView.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Tells the visibility of the article to AppView.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -498,4 +503,4 @@ fn lexicon_doc_com_whtwnd_blog_entry() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_whtwnd/blog/get_author_posts.rs b/crates/jacquard-api/src/com_whtwnd/blog/get_author_posts.rs
index 9c3228293..92ab8e28c 100644
--- a/crates/jacquard-api/src/com_whtwnd/blog/get_author_posts.rs
+++ b/crates/jacquard-api/src/com_whtwnd/blog/get_author_posts.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_whtwnd::blog::BlogEntry;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_whtwnd::blog::BlogEntry;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetAuthorPosts {
     pub author: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetAuthorPostsOutput {
     pub post: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetAuthorPostsRequest {
 
 pub mod get_author_posts_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -99,7 +94,10 @@ pub mod get_author_posts_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetAuthorPostsBuilder {
+pub struct GetAuthorPostsBuilder<
+    St: get_author_posts_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -171,4 +169,4 @@ where
             author: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_whtwnd/blog/get_entry_metadata_by_name.rs b/crates/jacquard-api/src/com_whtwnd/blog/get_entry_metadata_by_name.rs
index da424435a..722573227 100644
--- a/crates/jacquard-api/src/com_whtwnd/blog/get_entry_metadata_by_name.rs
+++ b/crates/jacquard-api/src/com_whtwnd/blog/get_entry_metadata_by_name.rs
@@ -10,29 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::{AtUri, Cid, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryMetadataByName {
     pub author: AtIdentifier,
     pub entry_title: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryMetadataByNameOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -43,9 +38,18 @@ pub struct GetEntryMetadataByNameOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetEntryMetadataByNameError {
     /// If the associated name isn't registered in the author's repo, this error is returned
@@ -53,10 +57,7 @@ pub enum GetEntryMetadataByNameError {
     NotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetEntryMetadataByNameError {
@@ -110,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEntryMetadataByNameRequest {
 
 pub mod get_entry_metadata_by_name_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -164,15 +165,20 @@ pub struct GetEntryMetadataByNameBuilder<
 
 impl GetEntryMetadataByName {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> GetEntryMetadataByNameBuilder {
+    pub fn new() -> GetEntryMetadataByNameBuilder<
+        get_entry_metadata_by_name_state::Empty,
+        DefaultStr,
+    > {
         GetEntryMetadataByNameBuilder::new()
     }
 }
 
 impl GetEntryMetadataByName {
     /// Create a new builder for this type
-    pub fn builder() -> GetEntryMetadataByNameBuilder {
+    pub fn builder() -> GetEntryMetadataByNameBuilder<
+        get_entry_metadata_by_name_state::Empty,
+        S,
+    > {
         GetEntryMetadataByNameBuilder::builder()
     }
 }
@@ -188,7 +194,9 @@ impl GetEntryMetadataByNameBuilder GetEntryMetadataByNameBuilder {
+impl<
+    S: BosStr,
+> GetEntryMetadataByNameBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         GetEntryMetadataByNameBuilder {
@@ -208,7 +216,10 @@ where
     pub fn author(
         mut self,
         value: impl Into>,
-    ) -> GetEntryMetadataByNameBuilder, S> {
+    ) -> GetEntryMetadataByNameBuilder<
+        get_entry_metadata_by_name_state::SetAuthor,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         GetEntryMetadataByNameBuilder {
             _state: PhantomData,
@@ -227,7 +238,10 @@ where
     pub fn entry_title(
         mut self,
         value: impl Into,
-    ) -> GetEntryMetadataByNameBuilder, S> {
+    ) -> GetEntryMetadataByNameBuilder<
+        get_entry_metadata_by_name_state::SetEntryTitle,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         GetEntryMetadataByNameBuilder {
             _state: PhantomData,
@@ -250,4 +264,4 @@ where
             entry_title: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_whtwnd/blog/get_mentions_by_entry.rs b/crates/jacquard-api/src/com_whtwnd/blog/get_mentions_by_entry.rs
index c6a1a5fbb..70b0055c6 100644
--- a/crates/jacquard-api/src/com_whtwnd/blog/get_mentions_by_entry.rs
+++ b/crates/jacquard-api/src/com_whtwnd/blog/get_mentions_by_entry.rs
@@ -10,27 +10,22 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetMentionsByEntry {
     pub post_uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetMentionsByEntryOutput {
     pub mentions: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetMentionsByEntryRequest {
 
 pub mod get_mentions_by_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -98,8 +93,10 @@ pub mod get_mentions_by_entry_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetMentionsByEntryBuilder
-{
+pub struct GetMentionsByEntryBuilder<
+    St: get_mentions_by_entry_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -107,14 +104,20 @@ pub struct GetMentionsByEntryBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetMentionsByEntryBuilder {
+    pub fn new() -> GetMentionsByEntryBuilder<
+        get_mentions_by_entry_state::Empty,
+        DefaultStr,
+    > {
         GetMentionsByEntryBuilder::new()
     }
 }
 
 impl GetMentionsByEntry {
     /// Create a new builder for this type
-    pub fn builder() -> GetMentionsByEntryBuilder {
+    pub fn builder() -> GetMentionsByEntryBuilder<
+        get_mentions_by_entry_state::Empty,
+        S,
+    > {
         GetMentionsByEntryBuilder::builder()
     }
 }
@@ -171,4 +174,4 @@ where
             post_uri: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_whtwnd/blog/notify_of_new_entry.rs b/crates/jacquard-api/src/com_whtwnd/blog/notify_of_new_entry.rs
index a9b913e4c..e8c474b80 100644
--- a/crates/jacquard-api/src/com_whtwnd/blog/notify_of_new_entry.rs
+++ b/crates/jacquard-api/src/com_whtwnd/blog/notify_of_new_entry.rs
@@ -10,45 +10,46 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotifyOfNewEntry {
     pub entry_uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotifyOfNewEntryOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum NotifyOfNewEntryError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for NotifyOfNewEntryError {
@@ -78,8 +79,9 @@ impl jacquard_common::xrpc::XrpcResp for NotifyOfNewEntryResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for NotifyOfNewEntry {
     const NSID: &'static str = "com.whtwnd.blog.notifyOfNewEntry";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = NotifyOfNewEntryResponse;
 }
 
@@ -89,15 +91,16 @@ Path: `/xrpc/com.whtwnd.blog.notifyOfNewEntry`. The request payload type is `Not
 pub struct NotifyOfNewEntryRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for NotifyOfNewEntryRequest {
     const PATH: &'static str = "/xrpc/com.whtwnd.blog.notifyOfNewEntry";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = NotifyOfNewEntry;
     type Response = NotifyOfNewEntryResponse;
 }
 
 pub mod notify_of_new_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -128,7 +131,10 @@ pub mod notify_of_new_entry_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct NotifyOfNewEntryBuilder {
+pub struct NotifyOfNewEntryBuilder<
+    St: notify_of_new_entry_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -136,7 +142,10 @@ pub struct NotifyOfNewEntryBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> NotifyOfNewEntryBuilder {
+    pub fn new() -> NotifyOfNewEntryBuilder<
+        notify_of_new_entry_state::Empty,
+        DefaultStr,
+    > {
         NotifyOfNewEntryBuilder::new()
     }
 }
@@ -202,10 +211,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> NotifyOfNewEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> NotifyOfNewEntry {
         NotifyOfNewEntry {
             entry_uri: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_yuna0x0.rs b/crates/jacquard-api/src/com_yuna0x0.rs
index 8e8dd56e0..423660500 100644
--- a/crates/jacquard-api/src/com_yuna0x0.rs
+++ b/crates/jacquard-api/src/com_yuna0x0.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `com.yuna0x0` Lexicon namespace/module.
-pub mod guestbook;
+pub mod guestbook;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_yuna0x0/guestbook.rs b/crates/jacquard-api/src/com_yuna0x0/guestbook.rs
index 97770436d..095d508d6 100644
--- a/crates/jacquard-api/src/com_yuna0x0/guestbook.rs
+++ b/crates/jacquard-api/src/com_yuna0x0/guestbook.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `com.yuna0x0.guestbook` Lexicon namespace/module.
-pub mod sign;
+pub mod sign;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/com_yuna0x0/guestbook/sign.rs b/crates/jacquard-api/src/com_yuna0x0/guestbook/sign.rs
index 67f870eeb..d6ddf1b5b 100644
--- a/crates/jacquard-api/src/com_yuna0x0/guestbook/sign.rs
+++ b/crates/jacquard-api/src/com_yuna0x0/guestbook/sign.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// a sign in the guestbook
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -117,7 +117,7 @@ impl LexiconSchema for Sign {
 
 pub mod sign_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -241,7 +241,10 @@ where
     St::Message: sign_state::IsUnset,
 {
     /// Set the `message` field (required)
-    pub fn message(mut self, value: impl Into) -> SignBuilder, S> {
+    pub fn message(
+        mut self,
+        value: impl Into,
+    ) -> SignBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         SignBuilder {
             _state: PhantomData,
@@ -298,10 +301,10 @@ where
 }
 
 fn lexicon_doc_com_yuna0x0_guestbook_sign() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("com.yuna0x0.guestbook.sign"),
@@ -313,11 +316,13 @@ fn lexicon_doc_com_yuna0x0_guestbook_sign() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("a sign in the guestbook")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("message"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("message")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -353,4 +358,4 @@ fn lexicon_doc_com_yuna0x0_guestbook_sign() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon.rs b/crates/jacquard-api/src/community_lexicon.rs
index bc6c22699..43dbb7eb8 100644
--- a/crates/jacquard-api/src/community_lexicon.rs
+++ b/crates/jacquard-api/src/community_lexicon.rs
@@ -8,4 +8,4 @@ pub mod bookmarks;
 pub mod calendar;
 pub mod interaction;
 pub mod location;
-pub mod payments;
+pub mod payments;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/bookmarks.rs b/crates/jacquard-api/src/community_lexicon/bookmarks.rs
index ab6a3e218..231aca9cc 100644
--- a/crates/jacquard-api/src/community_lexicon/bookmarks.rs
+++ b/crates/jacquard-api/src/community_lexicon/bookmarks.rs
@@ -7,4 +7,4 @@
 pub mod auth_manage_bookmarks;
 pub mod auth_view_bookmarks;
 pub mod bookmark;
-pub mod get_actor_bookmarks;
+pub mod get_actor_bookmarks;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/bookmarks/auth_manage_bookmarks.rs b/crates/jacquard-api/src/community_lexicon/bookmarks/auth_manage_bookmarks.rs
index ff24168aa..e0d33a101 100644
--- a/crates/jacquard-api/src/community_lexicon/bookmarks/auth_manage_bookmarks.rs
+++ b/crates/jacquard-api/src/community_lexicon/bookmarks/auth_manage_bookmarks.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/bookmarks/auth_view_bookmarks.rs b/crates/jacquard-api/src/community_lexicon/bookmarks/auth_view_bookmarks.rs
index eeb54cfc4..6711312ef 100644
--- a/crates/jacquard-api/src/community_lexicon/bookmarks/auth_view_bookmarks.rs
+++ b/crates/jacquard-api/src/community_lexicon/bookmarks/auth_view_bookmarks.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/bookmarks/bookmark.rs b/crates/jacquard-api/src/community_lexicon/bookmarks/bookmark.rs
index c31098154..ff8093e10 100644
--- a/crates/jacquard-api/src/community_lexicon/bookmarks/bookmark.rs
+++ b/crates/jacquard-api/src/community_lexicon/bookmarks/bookmark.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record bookmarking a link to come back to later.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Bookmark {
 
 pub mod bookmark_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -270,10 +270,10 @@ where
 }
 
 fn lexicon_doc_community_lexicon_bookmarks_bookmark() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.bookmarks.bookmark"),
@@ -337,4 +337,4 @@ fn lexicon_doc_community_lexicon_bookmarks_bookmark() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/bookmarks/get_actor_bookmarks.rs b/crates/jacquard-api/src/community_lexicon/bookmarks/get_actor_bookmarks.rs
index efd7faad7..dafad7831 100644
--- a/crates/jacquard-api/src/community_lexicon/bookmarks/get_actor_bookmarks.rs
+++ b/crates/jacquard-api/src/community_lexicon/bookmarks/get_actor_bookmarks.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::community_lexicon::bookmarks::bookmark::Bookmark;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::community_lexicon::bookmarks::bookmark::Bookmark;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorBookmarks {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetActorBookmarks {
     pub tags: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorBookmarksOutput {
     pub bookmarks: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -80,7 +75,7 @@ fn _default_limit() -> Option {
 
 pub mod get_actor_bookmarks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -98,7 +93,10 @@ pub mod get_actor_bookmarks_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetActorBookmarksBuilder {
+pub struct GetActorBookmarksBuilder<
+    St: get_actor_bookmarks_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -106,7 +104,10 @@ pub struct GetActorBookmarksBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetActorBookmarksBuilder {
+    pub fn new() -> GetActorBookmarksBuilder<
+        get_actor_bookmarks_state::Empty,
+        DefaultStr,
+    > {
         GetActorBookmarksBuilder::new()
     }
 }
@@ -191,4 +192,4 @@ where
             tags: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/calendar.rs b/crates/jacquard-api/src/community_lexicon/calendar.rs
index 5caa67b77..9056da723 100644
--- a/crates/jacquard-api/src/community_lexicon/calendar.rs
+++ b/crates/jacquard-api/src/community_lexicon/calendar.rs
@@ -8,4 +8,4 @@ pub mod event;
 pub mod get_event;
 pub mod get_rsvp;
 pub mod rsvp;
-pub mod search_events;
+pub mod search_events;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/calendar/event.rs b/crates/jacquard-api/src/community_lexicon/calendar/event.rs
index a8149a8de..9f9e48f1d 100644
--- a/crates/jacquard-api/src/community_lexicon/calendar/event.rs
+++ b/crates/jacquard-api/src/community_lexicon/calendar/event.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,14 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::community_lexicon::calendar::event;
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::community_lexicon::location::address::Address;
 use crate::community_lexicon::location::fsq::Fsq;
 use crate::community_lexicon::location::geo::Geo;
 use crate::community_lexicon::location::hthree::Hthree;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::community_lexicon::calendar::event;
 /// The event has been cancelled.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -104,6 +104,7 @@ pub struct Event {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -144,7 +145,9 @@ pub enum Mode {
 impl Mode {
     pub fn as_str(&self) -> &str {
         match self {
-            Self::CommunityLexiconCalendarEventHybrid => "community.lexicon.calendar.event#hybrid",
+            Self::CommunityLexiconCalendarEventHybrid => {
+                "community.lexicon.calendar.event#hybrid"
+            }
             Self::CommunityLexiconCalendarEventInperson => {
                 "community.lexicon.calendar.event#inperson"
             }
@@ -157,7 +160,9 @@ impl Mode {
     /// Construct from a string-like value, matching known values.
     pub fn from_value(s: S) -> Self {
         match s.as_ref() {
-            "community.lexicon.calendar.event#hybrid" => Self::CommunityLexiconCalendarEventHybrid,
+            "community.lexicon.calendar.event#hybrid" => {
+                Self::CommunityLexiconCalendarEventHybrid
+            }
             "community.lexicon.calendar.event#inperson" => {
                 Self::CommunityLexiconCalendarEventInperson
             }
@@ -208,7 +213,9 @@ where
     type Output = Mode;
     fn into_static(self) -> Self::Output {
         match self {
-            Mode::CommunityLexiconCalendarEventHybrid => Mode::CommunityLexiconCalendarEventHybrid,
+            Mode::CommunityLexiconCalendarEventHybrid => {
+                Mode::CommunityLexiconCalendarEventHybrid
+            }
             Mode::CommunityLexiconCalendarEventInperson => {
                 Mode::CommunityLexiconCalendarEventInperson
             }
@@ -378,10 +385,7 @@ where
 /// A URI associated with the event.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Uri {
     ///The display name of the URI.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -466,7 +470,7 @@ impl LexiconSchema for Uri {
 
 pub mod event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -609,7 +613,10 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `locations` field (optional)
-    pub fn locations(mut self, value: impl Into>>>) -> Self {
+    pub fn locations(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -639,7 +646,10 @@ where
     St::Name: event_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> EventBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> EventBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         EventBuilder {
             _state: PhantomData,
@@ -742,10 +752,10 @@ where
 }
 
 fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.calendar.event"),
@@ -753,21 +763,15 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("cancelled"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("hybrid"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("inperson"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
@@ -775,19 +779,23 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("A calendar event.")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("name"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("name")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Client-declared timestamp when the event was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Client-declared timestamp when the event was created.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -795,18 +803,20 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The description of the event.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The description of the event."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("endsAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Client-declared timestamp when the event ends.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Client-declared timestamp when the event ends.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -814,20 +824,18 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("locations"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "The locations where the event takes place.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The locations where the event takes place.",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Union(LexRefUnion {
                                         refs: vec![
-                                            CowStr::new_static(
-                                                "community.lexicon.calendar.event#uri",
-                                            ),
-                                            CowStr::new_static(
-                                                "community.lexicon.location.address",
-                                            ),
+                                            CowStr::new_static("community.lexicon.calendar.event#uri"),
+                                            CowStr::new_static("community.lexicon.location.address"),
                                             CowStr::new_static("community.lexicon.location.fsq"),
                                             CowStr::new_static("community.lexicon.location.geo"),
-                                            CowStr::new_static("community.lexicon.location.hthree"),
+                                            CowStr::new_static("community.lexicon.location.hthree")
                                         ],
                                         ..Default::default()
                                     }),
@@ -846,7 +854,9 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("The name of the event.")),
+                                    description: Some(
+                                        CowStr::new_static("The name of the event."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -859,9 +869,11 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("startsAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Client-declared timestamp when the event starts.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Client-declared timestamp when the event starts.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -878,9 +890,9 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("uris"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "URIs associated with the event.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URIs associated with the event."),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static(
                                             "community.lexicon.calendar.event#uri",
@@ -906,27 +918,19 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("planned"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("postponed"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("rescheduled"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("scheduled"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("status"),
@@ -938,7 +942,9 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("uri"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A URI associated with the event.")),
+                    description: Some(
+                        CowStr::new_static("A URI associated with the event."),
+                    ),
                     required: Some(vec![SmolStr::new_static("uri")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -946,9 +952,9 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The display name of the URI.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The display name of the URI."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -966,9 +972,7 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("virtual"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map
         },
@@ -978,7 +982,7 @@ fn lexicon_doc_community_lexicon_calendar_event() -> LexiconDoc<'static> {
 
 pub mod uri_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1070,7 +1074,10 @@ where
     St::Uri: uri_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> UriBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> UriBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         UriBuilder {
             _state: PhantomData,
@@ -1101,4 +1108,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/calendar/get_event.rs b/crates/jacquard-api/src/community_lexicon/calendar/get_event.rs
index 6cfa7e539..deff4845d 100644
--- a/crates/jacquard-api/src/community_lexicon/calendar/get_event.rs
+++ b/crates/jacquard-api/src/community_lexicon/calendar/get_event.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::community_lexicon::calendar::get_event;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::community_lexicon::calendar::get_event;
 /// An event record with RSVP counts and URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EventView {
     ///Number of users who have RSVP'd as going.
     pub count_going: i64,
@@ -45,21 +42,17 @@ pub struct EventView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEvent {
     pub record_key: S,
     pub repository: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEventOutput {
     #[serde(flatten)]
     pub value: Data,
@@ -67,19 +60,25 @@ pub struct GetEventOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetEventError {
     #[serde(rename = "NotFound")]
     NotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetEventError {
@@ -148,7 +147,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEventRequest {
 
 pub mod event_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -358,7 +357,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EventView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EventView {
         EventView {
             count_going: self._fields.0.unwrap(),
             count_interested: self._fields.1.unwrap(),
@@ -370,10 +372,10 @@ where
 }
 
 fn lexicon_doc_community_lexicon_calendar_getEvent() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.calendar.getEvent"),
@@ -382,15 +384,17 @@ fn lexicon_doc_community_lexicon_calendar_getEvent() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("eventView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "An event record with RSVP counts and URL.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("countGoing"),
-                        SmolStr::new_static("countInterested"),
-                        SmolStr::new_static("countNotGoing"),
-                        SmolStr::new_static("url"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An event record with RSVP counts and URL."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("countGoing"),
+                            SmolStr::new_static("countInterested"),
+                            SmolStr::new_static("countNotGoing"),
+                            SmolStr::new_static("url")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -415,9 +419,11 @@ fn lexicon_doc_community_lexicon_calendar_getEvent() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The canonical URL for this event on Smoke Signal.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The canonical URL for this event on Smoke Signal.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -430,39 +436,45 @@ fn lexicon_doc_community_lexicon_calendar_getEvent() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![
-                            SmolStr::new_static("repository"),
-                            SmolStr::new_static("recordKey"),
-                        ]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("recordKey"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The record key (rkey) of the event.",
-                                    )),
-                                    max_length: Some(150usize),
-                                    max_graphemes: Some(150usize),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repository"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The DID of the repository containing the event.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(
+                                vec![
+                                    SmolStr::new_static("repository"),
+                                    SmolStr::new_static("recordKey")
+                                ],
+                            ),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("recordKey"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("The record key (rkey) of the event."),
+                                        ),
+                                        max_length: Some(150usize),
+                                        max_graphemes: Some(150usize),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repository"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "The DID of the repository containing the event.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -474,7 +486,7 @@ fn lexicon_doc_community_lexicon_calendar_getEvent() -> LexiconDoc<'static> {
 
 pub mod get_event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -610,4 +622,4 @@ where
             repository: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/calendar/get_rsvp.rs b/crates/jacquard-api/src/community_lexicon/calendar/get_rsvp.rs
index 6e8b98e4e..198c72873 100644
--- a/crates/jacquard-api/src/community_lexicon/calendar/get_rsvp.rs
+++ b/crates/jacquard-api/src/community_lexicon/calendar/get_rsvp.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::community_lexicon::calendar::rsvp::Rsvp;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::community_lexicon::calendar::rsvp::Rsvp;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRsvp {
     pub event: AtUri,
     pub identity: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRsvpOutput {
     ///CID of the RSVP record.
     pub cid: S,
@@ -44,19 +39,25 @@ pub struct GetRsvpOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetRsvpError {
     #[serde(rename = "NotFound")]
     NotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetRsvpError {
@@ -110,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRsvpRequest {
 
 pub mod get_rsvp_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -246,4 +247,4 @@ where
             identity: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/calendar/rsvp.rs b/crates/jacquard-api/src/community_lexicon/calendar/rsvp.rs
index 2176e763d..45843da9c 100644
--- a/crates/jacquard-api/src/community_lexicon/calendar/rsvp.rs
+++ b/crates/jacquard-api/src/community_lexicon/calendar/rsvp.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Going to the event
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -64,6 +64,7 @@ pub struct Rsvp {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum RsvpStatus {
     Interested,
@@ -216,7 +217,7 @@ impl LexiconSchema for Rsvp {
 
 pub mod rsvp_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -364,10 +365,10 @@ where
 }
 
 fn lexicon_doc_community_lexicon_calendar_rsvp() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.calendar.rsvp"),
@@ -375,15 +376,11 @@ fn lexicon_doc_community_lexicon_calendar_rsvp() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("going"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("interested"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
@@ -391,10 +388,12 @@ fn lexicon_doc_community_lexicon_calendar_rsvp() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("An RSVP for an event.")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("status"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("status")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -420,12 +419,10 @@ fn lexicon_doc_community_lexicon_calendar_rsvp() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("notgoing"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/calendar/search_events.rs b/crates/jacquard-api/src/community_lexicon/calendar/search_events.rs
index 8f6831076..dacaeed25 100644
--- a/crates/jacquard-api/src/community_lexicon/calendar/search_events.rs
+++ b/crates/jacquard-api/src/community_lexicon/calendar/search_events.rs
@@ -10,28 +10,25 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Cid, Did, UriValue};
+use jacquard_common::types::string::{Did, Cid, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::community_lexicon::calendar::search_events;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::community_lexicon::calendar::search_events;
 /// An event record with RSVP counts and URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EventView {
     ///Number of users who have RSVP'd as going.
     pub count_going: i64,
@@ -45,11 +42,9 @@ pub struct EventView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchEvents {
     /// Defaults to `10`. Min: 1. Max: 100.
     #[serde(default = "_default_limit")]
@@ -64,20 +59,27 @@ pub struct SearchEvents {
     pub repository: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchEventsOutput {
     pub results: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum SearchEventsError {
     #[serde(rename = "InvalidRepository")]
@@ -88,10 +90,7 @@ pub enum SearchEventsError {
     SearchError(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for SearchEventsError {
@@ -174,7 +173,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for SearchEventsRequest {
 
 pub mod event_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -384,7 +383,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EventView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EventView {
         EventView {
             count_going: self._fields.0.unwrap(),
             count_interested: self._fields.1.unwrap(),
@@ -396,10 +398,10 @@ where
 }
 
 fn lexicon_doc_community_lexicon_calendar_searchEvents() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.calendar.searchEvents"),
@@ -408,15 +410,17 @@ fn lexicon_doc_community_lexicon_calendar_searchEvents() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("eventView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "An event record with RSVP counts and URL.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("countGoing"),
-                        SmolStr::new_static("countInterested"),
-                        SmolStr::new_static("countNotGoing"),
-                        SmolStr::new_static("url"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An event record with RSVP counts and URL."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("countGoing"),
+                            SmolStr::new_static("countInterested"),
+                            SmolStr::new_static("countNotGoing"),
+                            SmolStr::new_static("url")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -441,9 +445,9 @@ fn lexicon_doc_community_lexicon_calendar_searchEvents() -> LexiconDoc<'static>
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The canonical web URL for this event.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The canonical web URL for this event."),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -456,49 +460,53 @@ fn lexicon_doc_community_lexicon_calendar_searchEvents() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("location"),
-                                LexXrpcParametersProperty::Array(LexPrimitiveArray {
-                                    items: LexPrimitiveArrayItem::String(LexString {
-                                        format: Some(LexStringFormat::Cid),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("location"),
+                                    LexXrpcParametersProperty::Array(LexPrimitiveArray {
+                                        items: LexPrimitiveArrayItem::String(LexString {
+                                            format: Some(LexStringFormat::Cid),
+                                            ..Default::default()
+                                        }),
                                         ..Default::default()
                                     }),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("query"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Full-text search query.",
-                                    )),
-                                    max_length: Some(150usize),
-                                    max_graphemes: Some(150usize),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repository"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Filter events by DID.")),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("query"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Full-text search query."),
+                                        ),
+                                        max_length: Some(150usize),
+                                        max_graphemes: Some(150usize),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repository"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Filter events by DID."),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -514,7 +522,7 @@ fn _default_limit() -> Option {
 
 pub mod search_events_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -639,4 +647,4 @@ where
             repository: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/interaction.rs b/crates/jacquard-api/src/community_lexicon/interaction.rs
index fe9407fce..76ca26e4a 100644
--- a/crates/jacquard-api/src/community_lexicon/interaction.rs
+++ b/crates/jacquard-api/src/community_lexicon/interaction.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `community.lexicon.interaction` Lexicon namespace/module.
-pub mod like;
+pub mod like;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/interaction/like.rs b/crates/jacquard-api/src/community_lexicon/interaction/like.rs
index 2adc1d4e1..191598fa7 100644
--- a/crates/jacquard-api/src/community_lexicon/interaction/like.rs
+++ b/crates/jacquard-api/src/community_lexicon/interaction/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A 'like' interaction with another AT Protocol record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -253,10 +253,10 @@ where
 }
 
 fn lexicon_doc_community_lexicon_interaction_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.interaction.like"),
@@ -265,15 +265,19 @@ fn lexicon_doc_community_lexicon_interaction_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A 'like' interaction with another AT Protocol record.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A 'like' interaction with another AT Protocol record.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -302,4 +306,4 @@ fn lexicon_doc_community_lexicon_interaction_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/location.rs b/crates/jacquard-api/src/community_lexicon/location.rs
index 93520f320..13c180bb0 100644
--- a/crates/jacquard-api/src/community_lexicon/location.rs
+++ b/crates/jacquard-api/src/community_lexicon/location.rs
@@ -7,4 +7,4 @@
 pub mod address;
 pub mod fsq;
 pub mod geo;
-pub mod hthree;
+pub mod hthree;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/location/address.rs b/crates/jacquard-api/src/community_lexicon/location/address.rs
index 90d8830e9..3df7b00a7 100644
--- a/crates/jacquard-api/src/community_lexicon/location/address.rs
+++ b/crates/jacquard-api/src/community_lexicon/location/address.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A physical location in the form of a street address.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Address {
     ///The ISO 3166 country code. Preferably the 2-letter code.
     pub country: S,
@@ -87,10 +84,10 @@ impl LexiconSchema for Address {
 }
 
 fn lexicon_doc_community_lexicon_location_address() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.location.address"),
@@ -179,4 +176,4 @@ fn lexicon_doc_community_lexicon_location_address() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/location/fsq.rs b/crates/jacquard-api/src/community_lexicon/location/fsq.rs
index 3535f0bee..fef6d258d 100644
--- a/crates/jacquard-api/src/community_lexicon/location/fsq.rs
+++ b/crates/jacquard-api/src/community_lexicon/location/fsq.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A physical location contained in the Foursquare Open Source Places dataset.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Fsq {
     ///The unique identifier of a Foursquare POI.
     pub fsq_place_id: S,
@@ -57,10 +54,10 @@ impl LexiconSchema for Fsq {
 }
 
 fn lexicon_doc_community_lexicon_location_fsq() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.location.fsq"),
@@ -115,4 +112,4 @@ fn lexicon_doc_community_lexicon_location_fsq() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/location/geo.rs b/crates/jacquard-api/src/community_lexicon/location/geo.rs
index 079656d10..35d8f616c 100644
--- a/crates/jacquard-api/src/community_lexicon/location/geo.rs
+++ b/crates/jacquard-api/src/community_lexicon/location/geo.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A physical location in the form of a WGS84 coordinate.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Geo {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub altitude: Option,
@@ -55,10 +52,10 @@ impl LexiconSchema for Geo {
 }
 
 fn lexicon_doc_community_lexicon_location_geo() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.location.geo"),
@@ -67,38 +64,38 @@ fn lexicon_doc_community_lexicon_location_geo() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A physical location in the form of a WGS84 coordinate.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("latitude"),
-                        SmolStr::new_static("longitude"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A physical location in the form of a WGS84 coordinate.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("latitude"),
+                            SmolStr::new_static("longitude")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("altitude"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("latitude"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("longitude"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The name of the location.")),
+                                description: Some(
+                                    CowStr::new_static("The name of the location."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -111,4 +108,4 @@ fn lexicon_doc_community_lexicon_location_geo() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/location/hthree.rs b/crates/jacquard-api/src/community_lexicon/location/hthree.rs
index 23972489a..05ea0abc6 100644
--- a/crates/jacquard-api/src/community_lexicon/location/hthree.rs
+++ b/crates/jacquard-api/src/community_lexicon/location/hthree.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A physical location in the form of a H3 encoded location.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Hthree {
     ///The name of the location.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -53,10 +50,10 @@ impl LexiconSchema for Hthree {
 }
 
 fn lexicon_doc_community_lexicon_location_hthree() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.location.hthree"),
@@ -65,9 +62,11 @@ fn lexicon_doc_community_lexicon_location_hthree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A physical location in the form of a H3 encoded location.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A physical location in the form of a H3 encoded location.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("value")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -75,14 +74,18 @@ fn lexicon_doc_community_lexicon_location_hthree() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The name of the location.")),
+                                description: Some(
+                                    CowStr::new_static("The name of the location."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("value"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The h3 encoded location.")),
+                                description: Some(
+                                    CowStr::new_static("The h3 encoded location."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -95,4 +98,4 @@ fn lexicon_doc_community_lexicon_location_hthree() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/payments.rs b/crates/jacquard-api/src/community_lexicon/payments.rs
index 8458b2908..0af8c98ec 100644
--- a/crates/jacquard-api/src/community_lexicon/payments.rs
+++ b/crates/jacquard-api/src/community_lexicon/payments.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `community.lexicon.payments` Lexicon namespace/module.
-pub mod web_monetization;
+pub mod web_monetization;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/community_lexicon/payments/web_monetization.rs b/crates/jacquard-api/src/community_lexicon/payments/web_monetization.rs
index 889f9c4fe..c90c9aa89 100644
--- a/crates/jacquard-api/src/community_lexicon/payments/web_monetization.rs
+++ b/crates/jacquard-api/src/community_lexicon/payments/web_monetization.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Web Monetization wallet.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for WebMonetization {
 
 pub mod web_monetization_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -138,7 +138,10 @@ pub mod web_monetization_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct WebMonetizationBuilder {
+pub struct WebMonetizationBuilder<
+    St: web_monetization_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option),
     _type: PhantomData S>,
@@ -226,7 +229,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> WebMonetization {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> WebMonetization {
         WebMonetization {
             address: self._fields.0.unwrap(),
             note: self._fields.1,
@@ -236,10 +242,10 @@ where
 }
 
 fn lexicon_doc_community_lexicon_payments_webMonetization() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("community.lexicon.payments.webMonetization"),
@@ -285,4 +291,4 @@ fn lexicon_doc_community_lexicon_payments_webMonetization() -> LexiconDoc<'stati
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/computer_aesthetic.rs b/crates/jacquard-api/src/computer_aesthetic.rs
index 1e8c148f0..7cd540884 100644
--- a/crates/jacquard-api/src/computer_aesthetic.rs
+++ b/crates/jacquard-api/src/computer_aesthetic.rs
@@ -8,4 +8,4 @@ pub mod kidlisp;
 pub mod mood;
 pub mod painting;
 pub mod piece;
-pub mod tape;
+pub mod tape;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/computer_aesthetic/kidlisp.rs b/crates/jacquard-api/src/computer_aesthetic/kidlisp.rs
index dcc0e59ab..3888693af 100644
--- a/crates/jacquard-api/src/computer_aesthetic/kidlisp.rs
+++ b/crates/jacquard-api/src/computer_aesthetic/kidlisp.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A KidLisp code snippet from Aesthetic Computer
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -143,7 +143,7 @@ impl LexiconSchema for Kidlisp {
 
 pub mod kidlisp_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -264,7 +264,10 @@ where
     St::Code: kidlisp_state::IsUnset,
 {
     /// Set the `code` field (required)
-    pub fn code(mut self, value: impl Into) -> KidlispBuilder, S> {
+    pub fn code(
+        mut self,
+        value: impl Into,
+    ) -> KidlispBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         KidlispBuilder {
             _state: PhantomData,
@@ -280,7 +283,10 @@ where
     St::Ref: kidlisp_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> KidlispBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> KidlispBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         KidlispBuilder {
             _state: PhantomData,
@@ -359,10 +365,10 @@ where
 }
 
 fn lexicon_doc_computer_aesthetic_kidlisp() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("computer.aesthetic.kidlisp"),
@@ -371,26 +377,30 @@ fn lexicon_doc_computer_aesthetic_kidlisp() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A KidLisp code snippet from Aesthetic Computer",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A KidLisp code snippet from Aesthetic Computer",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("source"),
-                            SmolStr::new_static("code"),
-                            SmolStr::new_static("when"),
-                            SmolStr::new_static("ref"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("source"), SmolStr::new_static("code"),
+                                SmolStr::new_static("when"), SmolStr::new_static("ref")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("code"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Short alphanumeric code for easy lookup",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Short alphanumeric code for easy lookup",
+                                        ),
+                                    ),
                                     max_length: Some(10usize),
                                     ..Default::default()
                                 }),
@@ -398,9 +408,11 @@ fn lexicon_doc_computer_aesthetic_kidlisp() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("ref"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "MongoDB ObjectId reference for bidirectional sync",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "MongoDB ObjectId reference for bidirectional sync",
+                                        ),
+                                    ),
                                     max_length: Some(24usize),
                                     ..Default::default()
                                 }),
@@ -408,9 +420,9 @@ fn lexicon_doc_computer_aesthetic_kidlisp() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("source"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The KidLisp source code",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The KidLisp source code"),
+                                    ),
                                     max_length: Some(50000usize),
                                     ..Default::default()
                                 }),
@@ -418,9 +430,9 @@ fn lexicon_doc_computer_aesthetic_kidlisp() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("when"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Creation timestamp (ISO 8601)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Creation timestamp (ISO 8601)"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -436,4 +448,4 @@ fn lexicon_doc_computer_aesthetic_kidlisp() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/computer_aesthetic/mood.rs b/crates/jacquard-api/src/computer_aesthetic/mood.rs
index f509823ba..1e307d5c4 100644
--- a/crates/jacquard-api/src/computer_aesthetic/mood.rs
+++ b/crates/jacquard-api/src/computer_aesthetic/mood.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A mood entry from Aesthetic Computer
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -119,7 +119,7 @@ impl LexiconSchema for Mood {
 
 pub mod mood_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -224,7 +224,10 @@ where
     St::Mood: mood_state::IsUnset,
 {
     /// Set the `mood` field (required)
-    pub fn mood(mut self, value: impl Into) -> MoodBuilder, S> {
+    pub fn mood(
+        mut self,
+        value: impl Into,
+    ) -> MoodBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         MoodBuilder {
             _state: PhantomData,
@@ -240,7 +243,10 @@ where
     St::Ref: mood_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> MoodBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> MoodBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         MoodBuilder {
             _state: PhantomData,
@@ -256,7 +262,10 @@ where
     St::When: mood_state::IsUnset,
 {
     /// Set the `when` field (required)
-    pub fn when(mut self, value: impl Into) -> MoodBuilder, S> {
+    pub fn when(
+        mut self,
+        value: impl Into,
+    ) -> MoodBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         MoodBuilder {
             _state: PhantomData,
@@ -294,10 +303,10 @@ where
 }
 
 fn lexicon_doc_computer_aesthetic_mood() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("computer.aesthetic.mood"),
@@ -362,4 +371,4 @@ fn lexicon_doc_computer_aesthetic_mood() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/computer_aesthetic/painting.rs b/crates/jacquard-api/src/computer_aesthetic/painting.rs
index a45054dfb..6d6fbb573 100644
--- a/crates/jacquard-api/src/computer_aesthetic/painting.rs
+++ b/crates/jacquard-api/src/computer_aesthetic/painting.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A digital painting created on aesthetic.computer
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -183,20 +183,25 @@ impl LexiconSchema for Painting {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("thumbnail"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -208,7 +213,7 @@ impl LexiconSchema for Painting {
 
 pub mod painting_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -355,7 +360,10 @@ where
     St::Code: painting_state::IsUnset,
 {
     /// Set the `code` field (required)
-    pub fn code(mut self, value: impl Into) -> PaintingBuilder, S> {
+    pub fn code(
+        mut self,
+        value: impl Into,
+    ) -> PaintingBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         PaintingBuilder {
             _state: PhantomData,
@@ -403,7 +411,10 @@ where
     St::Ref: painting_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> PaintingBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> PaintingBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         PaintingBuilder {
             _state: PhantomData,
@@ -419,7 +430,10 @@ where
     St::Slug: painting_state::IsUnset,
 {
     /// Set the `slug` field (required)
-    pub fn slug(mut self, value: impl Into) -> PaintingBuilder, S> {
+    pub fn slug(
+        mut self,
+        value: impl Into,
+    ) -> PaintingBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         PaintingBuilder {
             _state: PhantomData,
@@ -499,10 +513,10 @@ where
 }
 
 fn lexicon_doc_computer_aesthetic_painting() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("computer.aesthetic.painting"),
@@ -613,4 +627,4 @@ fn lexicon_doc_computer_aesthetic_painting() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/computer_aesthetic/piece.rs b/crates/jacquard-api/src/computer_aesthetic/piece.rs
index 8afa2b533..bda250026 100644
--- a/crates/jacquard-api/src/computer_aesthetic/piece.rs
+++ b/crates/jacquard-api/src/computer_aesthetic/piece.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A piece (interactive program) from Aesthetic Computer
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -130,7 +130,7 @@ impl LexiconSchema for Piece {
 
 pub mod piece_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -235,7 +235,10 @@ where
     St::Ref: piece_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> PieceBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> PieceBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         PieceBuilder {
             _state: PhantomData,
@@ -251,7 +254,10 @@ where
     St::Slug: piece_state::IsUnset,
 {
     /// Set the `slug` field (required)
-    pub fn slug(mut self, value: impl Into) -> PieceBuilder, S> {
+    pub fn slug(
+        mut self,
+        value: impl Into,
+    ) -> PieceBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         PieceBuilder {
             _state: PhantomData,
@@ -267,7 +273,10 @@ where
     St::When: piece_state::IsUnset,
 {
     /// Set the `when` field (required)
-    pub fn when(mut self, value: impl Into) -> PieceBuilder, S> {
+    pub fn when(
+        mut self,
+        value: impl Into,
+    ) -> PieceBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         PieceBuilder {
             _state: PhantomData,
@@ -305,10 +314,10 @@ where
 }
 
 fn lexicon_doc_computer_aesthetic_piece() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("computer.aesthetic.piece"),
@@ -317,25 +326,30 @@ fn lexicon_doc_computer_aesthetic_piece() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A piece (interactive program) from Aesthetic Computer",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A piece (interactive program) from Aesthetic Computer",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("slug"),
-                            SmolStr::new_static("when"),
-                            SmolStr::new_static("ref"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("slug"), SmolStr::new_static("when"),
+                                SmolStr::new_static("ref")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("ref"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "MongoDB ObjectId reference for bidirectional sync",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "MongoDB ObjectId reference for bidirectional sync",
+                                        ),
+                                    ),
                                     max_length: Some(24usize),
                                     ..Default::default()
                                 }),
@@ -343,9 +357,9 @@ fn lexicon_doc_computer_aesthetic_piece() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("slug"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The piece identifier (e.g., 'wand')",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The piece identifier (e.g., 'wand')"),
+                                    ),
                                     max_length: Some(100usize),
                                     ..Default::default()
                                 }),
@@ -353,9 +367,9 @@ fn lexicon_doc_computer_aesthetic_piece() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("when"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Creation timestamp (ISO 8601)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Creation timestamp (ISO 8601)"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -371,4 +385,4 @@ fn lexicon_doc_computer_aesthetic_piece() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/computer_aesthetic/tape.rs b/crates/jacquard-api/src/computer_aesthetic/tape.rs
index 7e82b61fe..139b1de2e 100644
--- a/crates/jacquard-api/src/computer_aesthetic/tape.rs
+++ b/crates/jacquard-api/src/computer_aesthetic/tape.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -133,20 +133,25 @@ impl LexiconSchema for Tape {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/jpeg", "image/png"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("thumbnail"),
-                        accepted: vec!["image/jpeg".to_string(), "image/png".to_string()],
+                        accepted: vec![
+                            "image/jpeg".to_string(), "image/png".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -168,16 +173,19 @@ impl LexiconSchema for Tape {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["video/mp4"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("video"),
@@ -193,7 +201,7 @@ impl LexiconSchema for Tape {
 
 pub mod tape_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -320,7 +328,10 @@ where
     St::Code: tape_state::IsUnset,
 {
     /// Set the `code` field (required)
-    pub fn code(mut self, value: impl Into) -> TapeBuilder, S> {
+    pub fn code(
+        mut self,
+        value: impl Into,
+    ) -> TapeBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         TapeBuilder {
             _state: PhantomData,
@@ -349,7 +360,10 @@ where
     St::Slug: tape_state::IsUnset,
 {
     /// Set the `slug` field (required)
-    pub fn slug(mut self, value: impl Into) -> TapeBuilder, S> {
+    pub fn slug(
+        mut self,
+        value: impl Into,
+    ) -> TapeBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         TapeBuilder {
             _state: PhantomData,
@@ -391,7 +405,10 @@ where
     St::When: tape_state::IsUnset,
 {
     /// Set the `when` field (required)
-    pub fn when(mut self, value: impl Into) -> TapeBuilder, S> {
+    pub fn when(
+        mut self,
+        value: impl Into,
+    ) -> TapeBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         TapeBuilder {
             _state: PhantomData,
@@ -452,10 +469,10 @@ where
 }
 
 fn lexicon_doc_computer_aesthetic_tape() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("computer.aesthetic.tape"),
@@ -561,4 +578,4 @@ fn lexicon_doc_computer_aesthetic_tape() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha.rs b/crates/jacquard-api/src/coop_hypha.rs
index 6a55f82d8..e4f822f24 100644
--- a/crates/jacquard-api/src/coop_hypha.rs
+++ b/crates/jacquard-api/src/coop_hypha.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `coop.hypha` Lexicon namespace/module.
 pub mod pollen;
-pub mod spores;
+pub mod spores;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/pollen.rs b/crates/jacquard-api/src/coop_hypha/pollen.rs
index 4f5b5aeae..e40e9295f 100644
--- a/crates/jacquard-api/src/coop_hypha/pollen.rs
+++ b/crates/jacquard-api/src/coop_hypha/pollen.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `coop.hypha.pollen` Lexicon namespace/module.
 pub mod claim;
-pub mod embed;
+pub mod embed;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/pollen/claim.rs b/crates/jacquard-api/src/coop_hypha/pollen/claim.rs
index bd26d65f7..6eb8b64ee 100644
--- a/crates/jacquard-api/src/coop_hypha/pollen/claim.rs
+++ b/crates/jacquard-api/src/coop_hypha/pollen/claim.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,12 +25,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::coop_hypha::pollen::embed::text::Text;
 use crate::ing_dasl::pfp_ref::PfpRef;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A provenance claim linking a perceptual fingerprint (PFP) to a blob.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -116,7 +116,7 @@ impl LexiconSchema for Claim {
 
 pub mod claim_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -243,7 +243,10 @@ where
     St::Cid: claim_state::IsUnset,
 {
     /// Set the `cid` field (required)
-    pub fn cid(mut self, value: impl Into>) -> ClaimBuilder, S> {
+    pub fn cid(
+        mut self,
+        value: impl Into>,
+    ) -> ClaimBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ClaimBuilder {
             _state: PhantomData,
@@ -297,7 +300,10 @@ where
     St::Pfp: claim_state::IsUnset,
 {
     /// Set the `pfp` field (required)
-    pub fn pfp(mut self, value: impl Into>) -> ClaimBuilder, S> {
+    pub fn pfp(
+        mut self,
+        value: impl Into>,
+    ) -> ClaimBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         ClaimBuilder {
             _state: PhantomData,
@@ -353,10 +359,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_pollen_claim() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.pollen.claim"),
@@ -365,17 +371,20 @@ fn lexicon_doc_coop_hypha_pollen_claim() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A provenance claim linking a perceptual fingerprint (PFP) to a blob.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A provenance claim linking a perceptual fingerprint (PFP) to a blob.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("pfp"),
-                            SmolStr::new_static("cid"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("pfp"), SmolStr::new_static("cid"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -388,19 +397,21 @@ fn lexicon_doc_coop_hypha_pollen_claim() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("content"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    description: Some(CowStr::new_static(
-                                        "Content of the claim, such as text.",
-                                    )),
-                                    refs: vec![CowStr::new_static("coop.hypha.pollen.embed.text")],
+                                    description: Some(
+                                        CowStr::new_static("Content of the claim, such as text."),
+                                    ),
+                                    refs: vec![
+                                        CowStr::new_static("coop.hypha.pollen.embed.text")
+                                    ],
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when this claim was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when this claim was created."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -430,4 +441,4 @@ fn lexicon_doc_coop_hypha_pollen_claim() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/pollen/embed.rs b/crates/jacquard-api/src/coop_hypha/pollen/embed.rs
index f6cfecae4..a9cd801aa 100644
--- a/crates/jacquard-api/src/coop_hypha/pollen/embed.rs
+++ b/crates/jacquard-api/src/coop_hypha/pollen/embed.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `coop.hypha.pollen.embed` Lexicon namespace/module.
-pub mod text;
+pub mod text;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/pollen/embed/text.rs b/crates/jacquard-api/src/coop_hypha/pollen/embed/text.rs
index 070ced68d..e6abf6c83 100644
--- a/crates/jacquard-api/src/coop_hypha/pollen/embed/text.rs
+++ b/crates/jacquard-api/src/coop_hypha/pollen/embed/text.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Free-form text content for a claim.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Text {
     ///Context or description of the provenance claim.
     pub text: S,
@@ -50,10 +47,10 @@ impl LexiconSchema for Text {
 }
 
 fn lexicon_doc_coop_hypha_pollen_embed_text() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.pollen.embed.text"),
@@ -62,7 +59,9 @@ fn lexicon_doc_coop_hypha_pollen_embed_text() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Free-form text content for a claim.")),
+                    description: Some(
+                        CowStr::new_static("Free-form text content for a claim."),
+                    ),
                     required: Some(vec![SmolStr::new_static("text")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -70,9 +69,11 @@ fn lexicon_doc_coop_hypha_pollen_embed_text() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("text"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Context or description of the provenance claim.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Context or description of the provenance claim.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -85,4 +86,4 @@ fn lexicon_doc_coop_hypha_pollen_embed_text() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores.rs b/crates/jacquard-api/src/coop_hypha/spores.rs
index 8490bda20..01f6ceb5a 100644
--- a/crates/jacquard-api/src/coop_hypha/spores.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores.rs
@@ -7,4 +7,4 @@
 pub mod content;
 pub mod item;
 pub mod site;
-pub mod social;
+pub mod social;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/content.rs b/crates/jacquard-api/src/coop_hypha/spores/content.rs
index b968a3727..6ec387b25 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/content.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/content.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `coop.hypha.spores.content` Lexicon namespace/module.
 pub mod image;
-pub mod text;
+pub mod text;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/content/image.rs b/crates/jacquard-api/src/coop_hypha/spores/content/image.rs
index 301dab291..53ae15797 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/content/image.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/content/image.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An image uploaded to the garden.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -125,16 +125,19 @@ impl LexiconSchema for Image {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -172,7 +175,7 @@ impl LexiconSchema for Image {
 
 pub mod image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,12 +220,7 @@ pub mod image_state {
 /// Builder for constructing an instance of this type.
 pub struct ImageBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -355,10 +353,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_content_image() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.content.image"),
@@ -367,22 +365,28 @@ fn lexicon_doc_coop_hypha_spores_content_image() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("An image uploaded to the garden.")),
+                    description: Some(
+                        CowStr::new_static("An image uploaded to the garden."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("image"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("image"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Client-declared timestamp when the image was uploaded.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Client-declared timestamp when the image was uploaded.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -395,16 +399,14 @@ fn lexicon_doc_coop_hypha_spores_content_image() -> LexiconDoc<'static> {
                             );
                             map.insert(
                                 SmolStr::new_static("image"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("title"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional title for the image.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional title for the image."),
+                                    ),
                                     max_length: Some(2000usize),
                                     max_graphemes: Some(200usize),
                                     ..Default::default()
@@ -421,4 +423,4 @@ fn lexicon_doc_coop_hypha_spores_content_image() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/content/text.rs b/crates/jacquard-api/src/coop_hypha/spores/content/text.rs
index 57c0d79a7..b33758118 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/content/text.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/content/text.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Custom content block for spores.garden sites
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -241,7 +241,7 @@ impl LexiconSchema for Text {
 
 pub mod text_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -286,12 +286,7 @@ pub mod text_state {
 /// Builder for constructing an instance of this type.
 pub struct TextBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -337,7 +332,10 @@ where
     St::Content: text_state::IsUnset,
 {
     /// Set the `content` field (required)
-    pub fn content(mut self, value: impl Into) -> TextBuilder, S> {
+    pub fn content(
+        mut self,
+        value: impl Into,
+    ) -> TextBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         TextBuilder {
             _state: PhantomData,
@@ -421,10 +419,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_content_text() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.content.text"),
@@ -433,15 +431,19 @@ fn lexicon_doc_coop_hypha_spores_content_text() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Custom content block for spores.garden sites",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Custom content block for spores.garden sites",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -489,4 +491,4 @@ fn lexicon_doc_coop_hypha_spores_content_text() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/item.rs b/crates/jacquard-api/src/coop_hypha/spores/item.rs
index 08c1064e0..e4d36dbce 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/item.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/item.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `coop.hypha.spores.item` Lexicon namespace/module.
-pub mod special_spore;
+pub mod special_spore;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/item/special_spore.rs b/crates/jacquard-api/src/coop_hypha/spores/item/special_spore.rs
index 62bd3f87d..06b59fbf7 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/item/special_spore.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/item/special_spore.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A special spore capture record. Each steal creates a new record with a TID key. Current holder is determined by the most recent createdAt timestamp across all backlinked records for a given origin (subject).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for SpecialSpore {
 
 pub mod special_spore_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -244,7 +244,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SpecialSpore {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SpecialSpore {
         SpecialSpore {
             created_at: self._fields.0.unwrap(),
             subject: self._fields.1.unwrap(),
@@ -254,10 +257,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_item_specialSpore() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.item.specialSpore"),
@@ -315,4 +318,4 @@ fn lexicon_doc_coop_hypha_spores_item_specialSpore() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/site.rs b/crates/jacquard-api/src/coop_hypha/spores/site.rs
index 4bcc1da86..2c347850a 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/site.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/site.rs
@@ -7,4 +7,4 @@
 pub mod config;
 pub mod layout;
 pub mod profile;
-pub mod section;
+pub mod section;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/site/config.rs b/crates/jacquard-api/src/coop_hypha/spores/site/config.rs
index c05dd252b..a415547a4 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/site/config.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/site/config.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Site configuration for spores.garden, including title and subtitle.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -552,7 +552,7 @@ impl LexiconSchema for Config {
 
 pub mod config_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -647,7 +647,10 @@ impl ConfigBuilder {
 
 impl ConfigBuilder {
     /// Set the `fontHeading` field (optional)
-    pub fn font_heading(mut self, value: impl Into>>) -> Self {
+    pub fn font_heading(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -660,7 +663,10 @@ impl ConfigBuilder {
 
 impl ConfigBuilder {
     /// Set the `headingFont` field (optional)
-    pub fn heading_font(mut self, value: impl Into>>) -> Self {
+    pub fn heading_font(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -728,10 +734,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_site_config() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.site.config"),
@@ -740,9 +746,11 @@ fn lexicon_doc_coop_hypha_spores_site_config() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Site configuration for spores.garden, including title and subtitle.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Site configuration for spores.garden, including title and subtitle.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -759,9 +767,9 @@ fn lexicon_doc_coop_hypha_spores_site_config() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("fontBody"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Deprecated legacy key for body font ID",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Deprecated legacy key for body font ID"),
+                                    ),
                                     max_length: Some(50usize),
                                     ..Default::default()
                                 }),
@@ -769,9 +777,11 @@ fn lexicon_doc_coop_hypha_spores_site_config() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("fontHeading"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Deprecated legacy key for heading font ID",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Deprecated legacy key for heading font ID",
+                                        ),
+                                    ),
                                     max_length: Some(50usize),
                                     ..Default::default()
                                 }),
@@ -813,4 +823,4 @@ fn lexicon_doc_coop_hypha_spores_site_config() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/site/layout.rs b/crates/jacquard-api/src/coop_hypha/spores/site/layout.rs
index 9576ec815..4e53d1433 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/site/layout.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/site/layout.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Site layout for spores.garden, defining the order of sections.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Layout {
 
 pub mod layout_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -218,10 +218,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_site_layout() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.site.layout"),
@@ -230,9 +230,11 @@ fn lexicon_doc_coop_hypha_spores_site_layout() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Site layout for spores.garden, defining the order of sections.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Site layout for spores.garden, defining the order of sections.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("sections")]),
@@ -242,13 +244,17 @@ fn lexicon_doc_coop_hypha_spores_site_layout() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("sections"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Ordered list of section AT-URIs to display",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Ordered list of section AT-URIs to display",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "AT-URI of a coop.hypha.spores.site.section record",
-                                        )),
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "AT-URI of a coop.hypha.spores.site.section record",
+                                            ),
+                                        ),
                                         format: Some(LexStringFormat::AtUri),
                                         ..Default::default()
                                     }),
@@ -266,4 +272,4 @@ fn lexicon_doc_coop_hypha_spores_site_layout() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/site/profile.rs b/crates/jacquard-api/src/coop_hypha/spores/site/profile.rs
index e83a37fdf..aac2f3d67 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/site/profile.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/site/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Custom profile information for spores.garden sites
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -130,25 +130,31 @@ impl LexiconSchema for Profile {
         if let Some(ref value) = self.avatar {
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp", "image/gif"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/png",
+                    "image/jpeg",
+                    "image/webp",
+                    "image/gif",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
-                            "image/gif".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string(), "image/gif".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -170,25 +176,31 @@ impl LexiconSchema for Profile {
         if let Some(ref value) = self.banner {
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp", "image/gif"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/png",
+                    "image/jpeg",
+                    "image/webp",
+                    "image/gif",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
-                            "image/gif".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string(), "image/gif".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -245,7 +257,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -421,10 +433,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_site_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.site.profile"),
@@ -433,9 +445,11 @@ fn lexicon_doc_coop_hypha_spores_site_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Custom profile information for spores.garden sites",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Custom profile information for spores.garden sites",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -443,15 +457,11 @@ fn lexicon_doc_coop_hypha_spores_site_profile() -> LexiconDoc<'static> {
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("banner"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -464,9 +474,9 @@ fn lexicon_doc_coop_hypha_spores_site_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Profile description/bio",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Profile description/bio"),
+                                    ),
                                     max_length: Some(50000usize),
                                     max_graphemes: Some(5000usize),
                                     ..Default::default()
@@ -484,7 +494,9 @@ fn lexicon_doc_coop_hypha_spores_site_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Last update timestamp")),
+                                    description: Some(
+                                        CowStr::new_static("Last update timestamp"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -500,4 +512,4 @@ fn lexicon_doc_coop_hypha_spores_site_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/site/section.rs b/crates/jacquard-api/src/coop_hypha/spores/site/section.rs
index 2b64cef0c..bfb824b82 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/site/section.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/site/section.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A single site section for spores.garden. Each section is a record in a collection.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -481,7 +481,7 @@ impl LexiconSchema for Section {
 
 pub mod section_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -549,9 +549,7 @@ impl SectionBuilder {
     pub fn new() -> Self {
         SectionBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -562,9 +560,7 @@ impl SectionBuilder {
     pub fn builder() -> Self {
         SectionBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -761,10 +757,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_site_section() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.site.section"),
@@ -901,4 +897,4 @@ fn lexicon_doc_coop_hypha_spores_site_section() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/social.rs b/crates/jacquard-api/src/coop_hypha/spores/social.rs
index a03adf42a..21cf38be4 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/social.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/social.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `coop.hypha.spores.social` Lexicon namespace/module.
 pub mod flower;
-pub mod taken_flower;
+pub mod taken_flower;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/social/flower.rs b/crates/jacquard-api/src/coop_hypha/spores/social/flower.rs
index bfd9880ee..7dd03b035 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/social/flower.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/social/flower.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A flower planted in another user's garden, representing a 'like' or 'follow'.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Flower {
 
 pub mod flower_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_social_flower() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.social.flower"),
@@ -317,4 +317,4 @@ fn lexicon_doc_coop_hypha_spores_social_flower() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/coop_hypha/spores/social/taken_flower.rs b/crates/jacquard-api/src/coop_hypha/spores/social/taken_flower.rs
index 6878d2d09..0bb8d43fc 100644
--- a/crates/jacquard-api/src/coop_hypha/spores/social/taken_flower.rs
+++ b/crates/jacquard-api/src/coop_hypha/spores/social/taken_flower.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A flower taken from another user's garden, representing a bookmark or collection.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -131,7 +131,7 @@ impl LexiconSchema for TakenFlower {
 
 pub mod taken_flower_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -283,7 +283,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TakenFlower {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TakenFlower {
         TakenFlower {
             created_at: self._fields.0.unwrap(),
             note: self._fields.1,
@@ -294,10 +297,10 @@ where
 }
 
 fn lexicon_doc_coop_hypha_spores_social_takenFlower() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("coop.hypha.spores.social.takenFlower"),
@@ -370,4 +373,4 @@ fn lexicon_doc_coop_hypha_spores_social_takenFlower() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend.rs b/crates/jacquard-api/src/dev_baileytownsend.rs
index b19ed4a29..8283893d2 100644
--- a/crates/jacquard-api/src/dev_baileytownsend.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `dev.baileytownsend` Lexicon namespace/module.
 pub mod demo;
-pub mod health;
+pub mod health;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend/demo.rs b/crates/jacquard-api/src/dev_baileytownsend/demo.rs
index dfb9340fe..b13c3139e 100644
--- a/crates/jacquard-api/src/dev_baileytownsend/demo.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend/demo.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.baileytownsend.demo` Lexicon namespace/module.
-pub mod example;
+pub mod example;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend/demo/example.rs b/crates/jacquard-api/src/dev_baileytownsend/demo/example.rs
index 2224a837b..2ac708702 100644
--- a/crates/jacquard-api/src/dev_baileytownsend/demo/example.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend/demo/example.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An example record for showing permissions ets
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -140,7 +140,7 @@ impl LexiconSchema for Example {
 
 pub mod example_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -250,7 +250,10 @@ where
     St::Name: example_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ExampleBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ExampleBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         ExampleBuilder {
             _state: PhantomData,
@@ -285,10 +288,10 @@ where
 }
 
 fn lexicon_doc_dev_baileytownsend_demo_example() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.baileytownsend.demo.example"),
@@ -297,15 +300,19 @@ fn lexicon_doc_dev_baileytownsend_demo_example() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An example record for showing permissions ets",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "An example record for showing permissions ets",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -319,7 +326,9 @@ fn lexicon_doc_dev_baileytownsend_demo_example() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("A name of something")),
+                                    description: Some(
+                                        CowStr::new_static("A name of something"),
+                                    ),
                                     min_length: Some(1usize),
                                     max_length: Some(640usize),
                                     max_graphemes: Some(64usize),
@@ -337,4 +346,4 @@ fn lexicon_doc_dev_baileytownsend_demo_example() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend/health.rs b/crates/jacquard-api/src/dev_baileytownsend/health.rs
index 17dadc38e..8166d65cf 100644
--- a/crates/jacquard-api/src/dev_baileytownsend/health.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend/health.rs
@@ -7,4 +7,4 @@
 pub mod calories;
 pub mod rings;
 pub mod steps;
-pub mod workout;
+pub mod workout;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend/health/calories.rs b/crates/jacquard-api/src/dev_baileytownsend/health/calories.rs
index 89daf2d70..26ace73d1 100644
--- a/crates/jacquard-api/src/dev_baileytownsend/health/calories.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend/health/calories.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A record of daily intake and burned calories.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Calories {
 
 pub mod calories_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -289,10 +289,10 @@ where
 }
 
 fn lexicon_doc_dev_baileytownsend_health_calories() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.baileytownsend.health.calories"),
@@ -301,16 +301,20 @@ fn lexicon_doc_dev_baileytownsend_health_calories() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A record of daily intake and burned calories.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A record of daily intake and burned calories.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("intake"),
-                            SmolStr::new_static("burned"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("intake"),
+                                SmolStr::new_static("burned"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -344,4 +348,4 @@ fn lexicon_doc_dev_baileytownsend_health_calories() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend/health/rings.rs b/crates/jacquard-api/src/dev_baileytownsend/health/rings.rs
index 509d6bb6b..cbb733b02 100644
--- a/crates/jacquard-api/src/dev_baileytownsend/health/rings.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend/health/rings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A record of daily activity rings (Apple Fitness), including move, exercise, and stand goals.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -115,7 +115,7 @@ impl LexiconSchema for Rings {
 
 pub mod rings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -361,7 +361,10 @@ where
     St::Move: rings_state::IsUnset,
 {
     /// Set the `move` field (required)
-    pub fn r#move(mut self, value: impl Into) -> RingsBuilder, S> {
+    pub fn r#move(
+        mut self,
+        value: impl Into,
+    ) -> RingsBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         RingsBuilder {
             _state: PhantomData,
@@ -468,10 +471,10 @@ where
 }
 
 fn lexicon_doc_dev_baileytownsend_health_rings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.baileytownsend.health.rings"),
@@ -555,4 +558,4 @@ fn lexicon_doc_dev_baileytownsend_health_rings() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend/health/steps.rs b/crates/jacquard-api/src/dev_baileytownsend/health/steps.rs
index dc7043800..a8fee71e7 100644
--- a/crates/jacquard-api/src/dev_baileytownsend/health/steps.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend/health/steps.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -103,7 +103,7 @@ impl LexiconSchema for Steps {
 
 pub mod steps_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -213,7 +213,10 @@ where
     St::Steps: steps_state::IsUnset,
 {
     /// Set the `steps` field (required)
-    pub fn steps(mut self, value: impl Into) -> StepsBuilder, S> {
+    pub fn steps(
+        mut self,
+        value: impl Into,
+    ) -> StepsBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         StepsBuilder {
             _state: PhantomData,
@@ -248,10 +251,10 @@ where
 }
 
 fn lexicon_doc_dev_baileytownsend_health_steps() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.baileytownsend.health.steps"),
@@ -262,10 +265,12 @@ fn lexicon_doc_dev_baileytownsend_health_steps() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("steps"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("steps"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -293,4 +298,4 @@ fn lexicon_doc_dev_baileytownsend_health_steps() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_baileytownsend/health/workout.rs b/crates/jacquard-api/src/dev_baileytownsend/health/workout.rs
index a880569c0..7233df03a 100644
--- a/crates/jacquard-api/src/dev_baileytownsend/health/workout.rs
+++ b/crates/jacquard-api/src/dev_baileytownsend/health/workout.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -113,7 +113,7 @@ impl LexiconSchema for Workout {
 
 pub mod workout_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -440,10 +440,10 @@ where
 }
 
 fn lexicon_doc_dev_baileytownsend_health_workout() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.baileytownsend.health.workout"),
@@ -454,23 +454,27 @@ fn lexicon_doc_dev_baileytownsend_health_workout() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("activity"),
-                            SmolStr::new_static("caloriesBurned"),
-                            SmolStr::new_static("duration"),
-                            SmolStr::new_static("startTime"),
-                            SmolStr::new_static("endTime"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("activity"),
+                                SmolStr::new_static("caloriesBurned"),
+                                SmolStr::new_static("duration"),
+                                SmolStr::new_static("startTime"),
+                                SmolStr::new_static("endTime"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("activity"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Type of activity. Walking, running, weights, etc.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Type of activity. Walking, running, weights, etc.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -490,18 +494,22 @@ fn lexicon_doc_dev_baileytownsend_health_workout() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("distance"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Distance covered during the workout (optional).",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Distance covered during the workout (optional).",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("duration"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "How long the workout lasted in minutes.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "How long the workout lasted in minutes.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -530,4 +538,4 @@ fn lexicon_doc_dev_baileytownsend_health_workout() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu.rs b/crates/jacquard-api/src/dev_fudgeu.rs
index 4ec8db071..2741e1f21 100644
--- a/crates/jacquard-api/src/dev_fudgeu.rs
+++ b/crates/jacquard-api/src/dev_fudgeu.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.fudgeu` Lexicon namespace/module.
-pub mod experimental;
+pub mod experimental;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental.rs b/crates/jacquard-api/src/dev_fudgeu/experimental.rs
index fe55a91b3..ff3fc1a0f 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.fudgeu.experimental` Lexicon namespace/module.
-pub mod atforumv1;
+pub mod atforumv1;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1.rs
index fb1f46df4..99ccdd728 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `dev.fudgeu.experimental.atforumv1` Lexicon namespace/module.
 pub mod feed;
-pub mod forum;
+pub mod forum;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed.rs
index 7241485e6..87f7bc47c 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `dev.fudgeu.experimental.atforumv1.feed` Lexicon namespace/module.
 pub mod post;
 pub mod question;
-pub mod reply;
+pub mod reply;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/post.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/post.rs
index ecdfe7bb3..ce942919d 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/post.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/post.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An initial post that starts a discussion
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -168,7 +168,7 @@ impl LexiconSchema for Post {
 
 pub mod post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -355,7 +355,10 @@ where
     St::Content: post_state::IsUnset,
 {
     /// Set the `content` field (required)
-    pub fn content(mut self, value: impl Into) -> PostBuilder, S> {
+    pub fn content(
+        mut self,
+        value: impl Into,
+    ) -> PostBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -422,7 +425,10 @@ where
     St::Tags: post_state::IsUnset,
 {
     /// Set the `tags` field (required)
-    pub fn tags(mut self, value: impl Into>) -> PostBuilder, S> {
+    pub fn tags(
+        mut self,
+        value: impl Into>,
+    ) -> PostBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -438,7 +444,10 @@ where
     St::Title: post_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> PostBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> PostBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -502,10 +511,10 @@ where
 }
 
 fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_post() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.fudgeu.experimental.atforumv1.feed.post"),
@@ -514,19 +523,20 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_post() -> LexiconDoc<'stat
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An initial post that starts a discussion",
-                    )),
+                    description: Some(
+                        CowStr::new_static("An initial post that starts a discussion"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("category"),
-                            SmolStr::new_static("forum"),
-                            SmolStr::new_static("tags"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("category"),
+                                SmolStr::new_static("forum"), SmolStr::new_static("tags")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -604,4 +614,4 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_post() -> LexiconDoc<'stat
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/question.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/question.rs
index 8f0276f20..49c39c302 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/question.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/question.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An initial question that starts a discussion
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -166,7 +166,7 @@ impl LexiconSchema for Question {
 
 pub mod question_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -493,10 +493,10 @@ where
 }
 
 fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_question() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.fudgeu.experimental.atforumv1.feed.question"),
@@ -505,19 +505,22 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_question() -> LexiconDoc<'
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An initial question that starts a discussion",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "An initial question that starts a discussion",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("forum"),
-                            SmolStr::new_static("tags"),
-                            SmolStr::new_static("isOpen"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("forum"), SmolStr::new_static("tags"),
+                                SmolStr::new_static("isOpen")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -587,4 +590,4 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_question() -> LexiconDoc<'
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/reply.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/reply.rs
index be49d91c2..5b14d7e35 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/reply.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/reply.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An initial post that starts a discussion
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -118,7 +118,7 @@ impl LexiconSchema for Reply {
 
 pub mod reply_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -177,12 +177,7 @@ pub mod reply_state {
 /// Builder for constructing an instance of this type.
 pub struct ReplyBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -228,7 +223,10 @@ where
     St::Content: reply_state::IsUnset,
 {
     /// Set the `content` field (required)
-    pub fn content(mut self, value: impl Into) -> ReplyBuilder, S> {
+    pub fn content(
+        mut self,
+        value: impl Into,
+    ) -> ReplyBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ReplyBuilder {
             _state: PhantomData,
@@ -263,7 +261,10 @@ where
     St::Root: reply_state::IsUnset,
 {
     /// Set the `root` field (required)
-    pub fn root(mut self, value: impl Into>) -> ReplyBuilder, S> {
+    pub fn root(
+        mut self,
+        value: impl Into>,
+    ) -> ReplyBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ReplyBuilder {
             _state: PhantomData,
@@ -316,10 +317,10 @@ where
 }
 
 fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_reply() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.fudgeu.experimental.atforumv1.feed.reply"),
@@ -328,16 +329,18 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_reply() -> LexiconDoc<'sta
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An initial post that starts a discussion",
-                    )),
+                    description: Some(
+                        CowStr::new_static("An initial post that starts a discussion"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("root"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("root")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -380,4 +383,4 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_feed_reply() -> LexiconDoc<'sta
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum.rs
index c0675738a..06d256bea 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum.rs
@@ -7,4 +7,4 @@
 pub mod announcement;
 pub mod category;
 pub mod group;
-pub mod identity;
+pub mod identity;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/announcement.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/announcement.rs
index 1eb8009c6..6a329969f 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/announcement.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/announcement.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A forum-wide announcement
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -150,7 +150,7 @@ impl LexiconSchema for Announcement {
 
 pub mod announcement_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -360,7 +360,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Announcement {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Announcement {
         Announcement {
             body: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -371,11 +374,13 @@ where
     }
 }
 
-fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_announcement() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
+fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_announcement() -> LexiconDoc<
+    'static,
+> {
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.fudgeu.experimental.atforumv1.forum.announcement"),
@@ -387,12 +392,13 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_announcement() -> Lexicon
                     description: Some(CowStr::new_static("A forum-wide announcement")),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("body"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("expiresAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"), SmolStr::new_static("body"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("expiresAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -437,4 +443,4 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_announcement() -> Lexicon
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/category.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/category.rs
index 321d33d2b..8de55692c 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/category.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/category.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A method of grouping posts into a single 'category'
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -150,7 +150,7 @@ impl LexiconSchema for Category {
 
 pub mod category_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -306,7 +306,10 @@ where
     St::Name: category_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> CategoryBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> CategoryBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         CategoryBuilder {
             _state: PhantomData,
@@ -345,11 +348,13 @@ where
     }
 }
 
-fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_category() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
+fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_category() -> LexiconDoc<
+    'static,
+> {
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.fudgeu.experimental.atforumv1.forum.category"),
@@ -358,16 +363,19 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_category() -> LexiconDoc<
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A method of grouping posts into a single 'category'",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A method of grouping posts into a single 'category'",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("group"),
-                            SmolStr::new_static("categoryType"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"), SmolStr::new_static("group"),
+                                SmolStr::new_static("categoryType")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -411,4 +419,4 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_category() -> LexiconDoc<
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/group.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/group.rs
index 49c20fcb1..1d13ffe98 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/group.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/group.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Defines a group of categories
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -137,7 +137,7 @@ impl LexiconSchema for Group {
 
 pub mod group_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -229,7 +229,10 @@ where
     St::Name: group_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> GroupBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> GroupBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         GroupBuilder {
             _state: PhantomData,
@@ -263,10 +266,10 @@ where
 }
 
 fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_group() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.fudgeu.experimental.atforumv1.forum.group"),
@@ -275,7 +278,9 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_group() -> LexiconDoc<'st
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Defines a group of categories")),
+                    description: Some(
+                        CowStr::new_static("Defines a group of categories"),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("name")]),
@@ -308,4 +313,4 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_group() -> LexiconDoc<'st
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/identity.rs b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/identity.rs
index 2fccff398..8c32af066 100644
--- a/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/identity.rs
+++ b/crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/identity.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Defines what the forum is - name, description, etc.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -148,7 +148,7 @@ impl LexiconSchema for Identity {
 
 pub mod identity_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -253,7 +253,10 @@ where
     St::Name: identity_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> IdentityBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> IdentityBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         IdentityBuilder {
             _state: PhantomData,
@@ -288,11 +291,13 @@ where
     }
 }
 
-fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_identity() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
+fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_identity() -> LexiconDoc<
+    'static,
+> {
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.fudgeu.experimental.atforumv1.forum.identity"),
@@ -301,9 +306,11 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_identity() -> LexiconDoc<
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Defines what the forum is - name, description, etc.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Defines what the forum is - name, description, etc.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("name")]),
@@ -343,4 +350,4 @@ fn lexicon_doc_dev_fudgeu_experimental_atforumv1_forum_identity() -> LexiconDoc<
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_kanad.rs b/crates/jacquard-api/src/dev_kanad.rs
index b5a5ff554..de0acca73 100644
--- a/crates/jacquard-api/src/dev_kanad.rs
+++ b/crates/jacquard-api/src/dev_kanad.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.kanad` Lexicon namespace/module.
-pub mod lexicon_test_2026_02_26;
+pub mod lexicon_test_2026_02_26;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26.rs b/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26.rs
index 960674e11..382764a9c 100644
--- a/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26.rs
+++ b/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.kanad.lexicon.test.2026.02.26` Lexicon namespace/module.
-pub mod example_cat_lexicon;
+pub mod example_cat_lexicon;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26/example_cat_lexicon.rs b/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26/example_cat_lexicon.rs
index 9156ec6cd..3810538ed 100644
--- a/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26/example_cat_lexicon.rs
+++ b/crates/jacquard-api/src/dev_kanad/lexicon_test_2026_02_26/example_cat_lexicon.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// some example cat lexicon
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -119,20 +119,25 @@ impl LexiconSchema for ExampleCatLexicon {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -179,7 +184,7 @@ impl LexiconSchema for ExampleCatLexicon {
 
 pub mod example_cat_lexicon_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -222,7 +227,10 @@ pub mod example_cat_lexicon_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ExampleCatLexiconBuilder {
+pub struct ExampleCatLexiconBuilder<
+    St: example_cat_lexicon_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -230,7 +238,10 @@ pub struct ExampleCatLexiconBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ExampleCatLexiconBuilder {
+    pub fn new() -> ExampleCatLexiconBuilder<
+        example_cat_lexicon_state::Empty,
+        DefaultStr,
+    > {
         ExampleCatLexiconBuilder::new()
     }
 }
@@ -331,7 +342,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ExampleCatLexicon {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ExampleCatLexicon {
         ExampleCatLexicon {
             avatar: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -341,11 +355,13 @@ where
     }
 }
 
-fn lexicon_doc_dev_kanad_lexicon_test_2026_02_26_exampleCatLexicon() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
+fn lexicon_doc_dev_kanad_lexicon_test_2026_02_26_exampleCatLexicon() -> LexiconDoc<
+    'static,
+> {
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.kanad.lexicon-test-2026-02-26.exampleCatLexicon"),
@@ -357,18 +373,18 @@ fn lexicon_doc_dev_kanad_lexicon_test_2026_02_26_exampleCatLexicon() -> LexiconD
                     description: Some(CowStr::new_static("some example cat lexicon")),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -398,4 +414,4 @@ fn lexicon_doc_dev_kanad_lexicon_test_2026_02_26_exampleCatLexicon() -> LexiconD
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_keytrace.rs b/crates/jacquard-api/src/dev_keytrace.rs
index 8965bf9a8..3da2548af 100644
--- a/crates/jacquard-api/src/dev_keytrace.rs
+++ b/crates/jacquard-api/src/dev_keytrace.rs
@@ -9,4 +9,4 @@ pub mod profile;
 pub mod server_public_key;
 pub mod signature;
 pub mod statement;
-pub mod user_public_key;
+pub mod user_public_key;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_keytrace/claim.rs b/crates/jacquard-api/src/dev_keytrace/claim.rs
index 2bac4decc..cb9d4afee 100644
--- a/crates/jacquard-api/src/dev_keytrace/claim.rs
+++ b/crates/jacquard-api/src/dev_keytrace/claim.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::dev_keytrace::claim;
-use crate::dev_keytrace::signature::Signature;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::dev_keytrace::signature::Signature;
+use crate::dev_keytrace::claim;
 /// Generic identity data for the claimed account
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Identity {
     ///Avatar/profile image URL
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -396,10 +393,10 @@ impl LexiconSchema for Claim {
 }
 
 fn lexicon_doc_dev_keytrace_claim() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.keytrace.claim"),
@@ -408,9 +405,11 @@ fn lexicon_doc_dev_keytrace_claim() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("identity"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Generic identity data for the claimed account",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Generic identity data for the claimed account",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("subject")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -418,7 +417,9 @@ fn lexicon_doc_dev_keytrace_claim() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("avatarUrl"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Avatar/profile image URL")),
+                                description: Some(
+                                    CowStr::new_static("Avatar/profile image URL"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -426,9 +427,9 @@ fn lexicon_doc_dev_keytrace_claim() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("displayName"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Display name if different from subject",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Display name if different from subject"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -443,9 +444,11 @@ fn lexicon_doc_dev_keytrace_claim() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("subject"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Primary identifier (username, domain, handle, etc.)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Primary identifier (username, domain, handle, etc.)",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -622,7 +625,7 @@ fn lexicon_doc_dev_keytrace_claim() -> LexiconDoc<'static> {
 
 pub mod claim_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -752,7 +755,18 @@ impl ClaimBuilder {
         ClaimBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -765,7 +779,18 @@ impl ClaimBuilder {
         ClaimBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1003,4 +1028,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_keytrace/profile.rs b/crates/jacquard-api/src/dev_keytrace/profile.rs
index 3cb7da136..fb146162f 100644
--- a/crates/jacquard-api/src/dev_keytrace/profile.rs
+++ b/crates/jacquard-api/src/dev_keytrace/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Keytrace profile settings. Singleton record stored in the user's ATProto repo.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -134,7 +134,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -258,10 +258,10 @@ where
 }
 
 fn lexicon_doc_dev_keytrace_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.keytrace.profile"),
@@ -322,4 +322,4 @@ fn lexicon_doc_dev_keytrace_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_keytrace/server_public_key.rs b/crates/jacquard-api/src/dev_keytrace/server_public_key.rs
index 0a4bdc449..b51f9eda4 100644
--- a/crates/jacquard-api/src/dev_keytrace/server_public_key.rs
+++ b/crates/jacquard-api/src/dev_keytrace/server_public_key.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A signing key for claim attestations. It effectively hosts a JWK on a user's ATProto repo.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -134,7 +134,7 @@ impl LexiconSchema for ServerPublicKey {
 
 pub mod server_public_key_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -191,7 +191,10 @@ pub mod server_public_key_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ServerPublicKeyBuilder {
+pub struct ServerPublicKeyBuilder<
+    St: server_public_key_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -321,7 +324,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ServerPublicKey {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ServerPublicKey {
         ServerPublicKey {
             comment: self._fields.0,
             public_jwk: self._fields.1.unwrap(),
@@ -333,10 +339,10 @@ where
 }
 
 fn lexicon_doc_dev_keytrace_serverPublicKey() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.keytrace.serverPublicKey"),
@@ -419,4 +425,4 @@ fn lexicon_doc_dev_keytrace_serverPublicKey() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_keytrace/signature.rs b/crates/jacquard-api/src/dev_keytrace/signature.rs
index e319f7a8b..b6d73db11 100644
--- a/crates/jacquard-api/src/dev_keytrace/signature.rs
+++ b/crates/jacquard-api/src/dev_keytrace/signature.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -23,14 +23,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A cryptographic signature attesting to a claim
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///The cryptographic signature (base64-encoded).
     pub attestation: S,
@@ -81,7 +78,7 @@ impl LexiconSchema for Signature {
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -260,7 +257,10 @@ where
     St::Kid: signature_state::IsUnset,
 {
     /// Set the `kid` field (required)
-    pub fn kid(mut self, value: impl Into) -> SignatureBuilder, S> {
+    pub fn kid(
+        mut self,
+        value: impl Into,
+    ) -> SignatureBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         SignatureBuilder {
             _state: PhantomData,
@@ -363,7 +363,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             attestation: self._fields.0.unwrap(),
             comment: self._fields.1,
@@ -378,10 +381,10 @@ where
 }
 
 fn lexicon_doc_dev_keytrace_signature() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.keytrace.signature"),
@@ -497,4 +500,4 @@ fn lexicon_doc_dev_keytrace_signature() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_keytrace/statement.rs b/crates/jacquard-api/src/dev_keytrace/statement.rs
index 5d4bc6cc4..72cde3dee 100644
--- a/crates/jacquard-api/src/dev_keytrace/statement.rs
+++ b/crates/jacquard-api/src/dev_keytrace/statement.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A public statement signed by one of the user's own published public keys (dev.keytrace.userPublicKey).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -152,7 +152,7 @@ impl LexiconSchema for Statement {
 
 pub mod statement_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -350,7 +350,10 @@ where
     St::Sig: statement_state::IsUnset,
 {
     /// Set the `sig` field (required)
-    pub fn sig(mut self, value: impl Into) -> StatementBuilder, S> {
+    pub fn sig(
+        mut self,
+        value: impl Into,
+    ) -> StatementBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         StatementBuilder {
             _state: PhantomData,
@@ -394,7 +397,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Statement {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Statement {
         Statement {
             content: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -408,10 +414,10 @@ where
 }
 
 fn lexicon_doc_dev_keytrace_statement() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.keytrace.statement"),
@@ -518,4 +524,4 @@ fn lexicon_doc_dev_keytrace_statement() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_keytrace/user_public_key.rs b/crates/jacquard-api/src/dev_keytrace/user_public_key.rs
index 682ec45b3..d72b25c88 100644
--- a/crates/jacquard-api/src/dev_keytrace/user_public_key.rs
+++ b/crates/jacquard-api/src/dev_keytrace/user_public_key.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user-published public key.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -140,7 +140,9 @@ where
             UserPublicKeyKeyType::Pgp => UserPublicKeyKeyType::Pgp,
             UserPublicKeyKeyType::SshEd25519 => UserPublicKeyKeyType::SshEd25519,
             UserPublicKeyKeyType::SshEcdsa => UserPublicKeyKeyType::SshEcdsa,
-            UserPublicKeyKeyType::Other(v) => UserPublicKeyKeyType::Other(v.into_static()),
+            UserPublicKeyKeyType::Other(v) => {
+                UserPublicKeyKeyType::Other(v.into_static())
+            }
         }
     }
 }
@@ -266,7 +268,7 @@ impl LexiconSchema for UserPublicKey {
 
 pub mod user_public_key_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -323,7 +325,10 @@ pub mod user_public_key_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct UserPublicKeyBuilder {
+pub struct UserPublicKeyBuilder<
+    St: user_public_key_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -518,7 +523,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UserPublicKey {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UserPublicKey {
         UserPublicKey {
             comment: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -534,10 +542,10 @@ where
 }
 
 fn lexicon_doc_dev_keytrace_userPublicKey() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.keytrace.userPublicKey"),
@@ -660,4 +668,4 @@ fn lexicon_doc_dev_keytrace_userPublicKey() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_ocbwoy3.rs b/crates/jacquard-api/src/dev_ocbwoy3.rs
index ff9f9577b..aa04eec6d 100644
--- a/crates/jacquard-api/src/dev_ocbwoy3.rs
+++ b/crates/jacquard-api/src/dev_ocbwoy3.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `dev.ocbwoy3` Lexicon namespace/module.
 pub mod blueboard;
-pub mod crack;
+pub mod crack;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_ocbwoy3/blueboard.rs b/crates/jacquard-api/src/dev_ocbwoy3/blueboard.rs
index 44d678b22..3d930ad94 100644
--- a/crates/jacquard-api/src/dev_ocbwoy3/blueboard.rs
+++ b/crates/jacquard-api/src/dev_ocbwoy3/blueboard.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `dev.ocbwoy3.blueboard` Lexicon namespace/module.
 pub mod board;
-pub mod post;
+pub mod post;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_ocbwoy3/blueboard/board.rs b/crates/jacquard-api/src/dev_ocbwoy3/blueboard/board.rs
index dfd94d6f8..e2695d250 100644
--- a/crates/jacquard-api/src/dev_ocbwoy3/blueboard/board.rs
+++ b/crates/jacquard-api/src/dev_ocbwoy3/blueboard/board.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -133,7 +133,7 @@ impl LexiconSchema for Board {
 
 pub mod board_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -292,7 +292,10 @@ where
     St::Nsfw: board_state::IsUnset,
 {
     /// Set the `nsfw` field (required)
-    pub fn nsfw(mut self, value: impl Into) -> BoardBuilder, S> {
+    pub fn nsfw(
+        mut self,
+        value: impl Into,
+    ) -> BoardBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         BoardBuilder {
             _state: PhantomData,
@@ -308,7 +311,10 @@ where
     St::Title: board_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> BoardBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> BoardBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         BoardBuilder {
             _state: PhantomData,
@@ -349,10 +355,10 @@ where
 }
 
 fn lexicon_doc_dev_ocbwoy3_blueboard_board() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.ocbwoy3.blueboard.board"),
@@ -363,21 +369,25 @@ fn lexicon_doc_dev_ocbwoy3_blueboard_board() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("nsfw"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("nsfw"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The date and time when the board was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The date and time when the board was created",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -385,9 +395,9 @@ fn lexicon_doc_dev_ocbwoy3_blueboard_board() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A short description of the board",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("A short description of the board"),
+                                    ),
                                     max_graphemes: Some(30usize),
                                     ..Default::default()
                                 }),
@@ -401,9 +411,9 @@ fn lexicon_doc_dev_ocbwoy3_blueboard_board() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("title"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The title of the board (e.g. /at/)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The title of the board (e.g. /at/)"),
+                                    ),
                                     max_length: Some(10usize),
                                     ..Default::default()
                                 }),
@@ -419,4 +429,4 @@ fn lexicon_doc_dev_ocbwoy3_blueboard_board() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_ocbwoy3/blueboard/post.rs b/crates/jacquard-api/src/dev_ocbwoy3/blueboard/post.rs
index 7a6d909d9..82ca85996 100644
--- a/crates/jacquard-api/src/dev_ocbwoy3/blueboard/post.rs
+++ b/crates/jacquard-api/src/dev_ocbwoy3/blueboard/post.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -121,16 +121,19 @@ impl LexiconSchema for Post {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*", "video/webm"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("attachment"),
@@ -157,7 +160,7 @@ impl LexiconSchema for Post {
 
 pub mod post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -216,12 +219,7 @@ pub mod post_state {
 /// Builder for constructing an instance of this type.
 pub struct PostBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option>, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -318,7 +316,10 @@ where
     St::Text: post_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> PostBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> PostBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -358,10 +359,10 @@ where
 }
 
 fn lexicon_doc_dev_ocbwoy3_blueboard_post() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.ocbwoy3.blueboard.post"),
@@ -429,4 +430,4 @@ fn lexicon_doc_dev_ocbwoy3_blueboard_post() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_ocbwoy3/crack.rs b/crates/jacquard-api/src/dev_ocbwoy3/crack.rs
index b139b2e7f..28adf1478 100644
--- a/crates/jacquard-api/src/dev_ocbwoy3/crack.rs
+++ b/crates/jacquard-api/src/dev_ocbwoy3/crack.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.ocbwoy3.crack` Lexicon namespace/module.
-pub mod alterego;
+pub mod alterego;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_ocbwoy3/crack/alterego.rs b/crates/jacquard-api/src/dev_ocbwoy3/crack/alterego.rs
index dcdb28f02..68ae63d60 100644
--- a/crates/jacquard-api/src/dev_ocbwoy3/crack/alterego.rs
+++ b/crates/jacquard-api/src/dev_ocbwoy3/crack/alterego.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An alter ego profile record for use on "Bluesky on Crack".
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -128,20 +128,25 @@ impl LexiconSchema for Alterego {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -163,20 +168,25 @@ impl LexiconSchema for Alterego {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -238,7 +248,7 @@ impl LexiconSchema for Alterego {
 
 pub mod alterego_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -258,13 +268,7 @@ pub mod alterego_state {
 /// Builder for constructing an instance of this type.
 pub struct AlteregoBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -398,10 +402,10 @@ where
 }
 
 fn lexicon_doc_dev_ocbwoy3_crack_alterego() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.ocbwoy3.crack.alterego"),
@@ -478,4 +482,4 @@ fn lexicon_doc_dev_ocbwoy3_crack_alterego() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_regnault.rs b/crates/jacquard-api/src/dev_regnault.rs
index d952beb98..866a73146 100644
--- a/crates/jacquard-api/src/dev_regnault.rs
+++ b/crates/jacquard-api/src/dev_regnault.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.regnault` Lexicon namespace/module.
-pub mod webfishing;
+pub mod webfishing;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_regnault/webfishing.rs b/crates/jacquard-api/src/dev_regnault/webfishing.rs
index f2f8f0843..c83768c6c 100644
--- a/crates/jacquard-api/src/dev_regnault/webfishing.rs
+++ b/crates/jacquard-api/src/dev_regnault/webfishing.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `dev.regnault.webfishing` Lexicon namespace/module.
-pub mod savefile;
+pub mod savefile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_regnault/webfishing/savefile.rs b/crates/jacquard-api/src/dev_regnault/webfishing/savefile.rs
index 4a2e2770c..1ed2d9e53 100644
--- a/crates/jacquard-api/src/dev_regnault/webfishing/savefile.rs
+++ b/crates/jacquard-api/src/dev_regnault/webfishing/savefile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a savefile of Webfishing.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Savefile {
 
 pub mod savefile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -195,7 +195,10 @@ where
     St::Name: savefile_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> SavefileBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> SavefileBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         SavefileBuilder {
             _state: PhantomData,
@@ -249,10 +252,10 @@ where
 }
 
 fn lexicon_doc_dev_regnault_webfishing_savefile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.regnault.webfishing.savefile"),
@@ -261,15 +264,14 @@ fn lexicon_doc_dev_regnault_webfishing_savefile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a savefile of Webfishing.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Record declaring a savefile of Webfishing."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("uri"),
-                        ]),
+                        required: Some(
+                            vec![SmolStr::new_static("name"), SmolStr::new_static("uri")],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -297,4 +299,4 @@ fn lexicon_doc_dev_regnault_webfishing_savefile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings.rs b/crates/jacquard-api/src/dev_sensorthings.rs
index 7f9fc0804..031b6057d 100644
--- a/crates/jacquard-api/src/dev_sensorthings.rs
+++ b/crates/jacquard-api/src/dev_sensorthings.rs
@@ -10,4 +10,4 @@ pub mod multi_observation;
 pub mod observation_batch;
 pub mod observed_property;
 pub mod quality;
-pub mod sensor;
+pub mod sensor;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings/datastream.rs b/crates/jacquard-api/src/dev_sensorthings/datastream.rs
index c9b11c883..23049a2a7 100644
--- a/crates/jacquard-api/src/dev_sensorthings/datastream.rs
+++ b/crates/jacquard-api/src/dev_sensorthings/datastream.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::dev_sensorthings::datastream;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::dev_sensorthings::datastream;
 /// Groups Observations of one ObservedProperty by one Sensor on one Thing. Carries all context needed to interpret observation results.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -78,10 +78,7 @@ pub struct DatastreamGetRecordOutput {
 /// UCUM-compatible unit description.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UnitOfMeasurement {
     ///URI from QUDT, UCUM, or similar unit ontology
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -210,7 +207,7 @@ impl LexiconSchema for UnitOfMeasurement {
 
 pub mod datastream_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -380,9 +377,7 @@ impl DatastreamBuilder {
     pub fn new() -> Self {
         DatastreamBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -393,9 +388,7 @@ impl DatastreamBuilder {
     pub fn builder() -> Self {
         DatastreamBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -615,7 +608,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Datastream {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Datastream {
         Datastream {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -634,10 +630,10 @@ where
 }
 
 fn lexicon_doc_dev_sensorthings_datastream() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.sensorthings.datastream"),
@@ -779,20 +775,23 @@ fn lexicon_doc_dev_sensorthings_datastream() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("unitOfMeasurement"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("UCUM-compatible unit description.")),
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("symbol"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("UCUM-compatible unit description."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("symbol")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("definition"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI from QUDT, UCUM, or similar unit ontology",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "URI from QUDT, UCUM, or similar unit ontology",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -820,4 +819,4 @@ fn lexicon_doc_dev_sensorthings_datastream() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings/feature_of_interest.rs b/crates/jacquard-api/src/dev_sensorthings/feature_of_interest.rs
index 1566939c1..ee687a246 100644
--- a/crates/jacquard-api/src/dev_sensorthings/feature_of_interest.rs
+++ b/crates/jacquard-api/src/dev_sensorthings/feature_of_interest.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// The real-world feature that an Observation is about.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -142,7 +142,7 @@ impl LexiconSchema for FeatureOfInterest {
 
 pub mod feature_of_interest_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,21 +215,21 @@ pub mod feature_of_interest_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct FeatureOfInterestBuilder {
+pub struct FeatureOfInterestBuilder<
+    St: feature_of_interest_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
 impl FeatureOfInterest {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> FeatureOfInterestBuilder {
+    pub fn new() -> FeatureOfInterestBuilder<
+        feature_of_interest_state::Empty,
+        DefaultStr,
+    > {
         FeatureOfInterestBuilder::new()
     }
 }
@@ -372,7 +372,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> FeatureOfInterest {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> FeatureOfInterest {
         FeatureOfInterest {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -385,10 +388,10 @@ where
 }
 
 fn lexicon_doc_dev_sensorthings_featureOfInterest() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.sensorthings.featureOfInterest"),
@@ -465,4 +468,4 @@ fn lexicon_doc_dev_sensorthings_featureOfInterest() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings/multi_observation.rs b/crates/jacquard-api/src/dev_sensorthings/multi_observation.rs
index 65f9e16db..4cb9d1d80 100644
--- a/crates/jacquard-api/src/dev_sensorthings/multi_observation.rs
+++ b/crates/jacquard-api/src/dev_sensorthings/multi_observation.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::dev_sensorthings::datastream::UnitOfMeasurement;
-use crate::dev_sensorthings::multi_observation;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::dev_sensorthings::datastream::UnitOfMeasurement;
+use crate::dev_sensorthings::multi_observation;
 /// A composite observation bundling multiple co-produced results from a single act of sensing. Each entry carries its own ObservedProperty, unit, and scale metadata. Use this instead of separate Observations when the results are genuinely co-produced (e.g. wave statistics from spectral processing) and have no independent existence.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -114,7 +114,8 @@ impl Serialize for MultiObservationResultQuality {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for MultiObservationResultQuality {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for MultiObservationResultQuality {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -139,8 +140,12 @@ where
     fn into_static(self) -> Self::Output {
         match self {
             MultiObservationResultQuality::Good => MultiObservationResultQuality::Good,
-            MultiObservationResultQuality::Suspect => MultiObservationResultQuality::Suspect,
-            MultiObservationResultQuality::Missing => MultiObservationResultQuality::Missing,
+            MultiObservationResultQuality::Suspect => {
+                MultiObservationResultQuality::Suspect
+            }
+            MultiObservationResultQuality::Missing => {
+                MultiObservationResultQuality::Missing
+            }
             MultiObservationResultQuality::Other(v) => {
                 MultiObservationResultQuality::Other(v.into_static())
             }
@@ -162,10 +167,7 @@ pub struct MultiObservationGetRecordOutput {
 /// A single result within a composite observation, fully self-describing.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MultiObservationEntry {
     ///AT-URI of the dev.sensorthings.observedProperty record
     pub observed_property: AtUri,
@@ -181,6 +183,7 @@ pub struct MultiObservationEntry {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -236,7 +239,8 @@ impl Serialize for MultiObservationEntryResultQuality {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for MultiObservationEntryResultQuality {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for MultiObservationEntryResultQuality {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -260,7 +264,9 @@ where
     type Output = MultiObservationEntryResultQuality;
     fn into_static(self) -> Self::Output {
         match self {
-            MultiObservationEntryResultQuality::Good => MultiObservationEntryResultQuality::Good,
+            MultiObservationEntryResultQuality::Good => {
+                MultiObservationEntryResultQuality::Good
+            }
             MultiObservationEntryResultQuality::Suspect => {
                 MultiObservationEntryResultQuality::Suspect
             }
@@ -380,7 +386,7 @@ impl LexiconSchema for MultiObservationEntry {
 
 pub mod multi_observation_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -453,7 +459,10 @@ pub mod multi_observation_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct MultiObservationBuilder {
+pub struct MultiObservationBuilder<
+    St: multi_observation_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>>,
@@ -578,7 +587,10 @@ impl MultiObservationBuilder>) -> Self {
+    pub fn maybe_result_quality(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -658,7 +670,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> MultiObservation {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> MultiObservation {
         MultiObservation {
             derived_from: self._fields.0,
             entries: self._fields.1.unwrap(),
@@ -674,10 +689,10 @@ where
 }
 
 fn lexicon_doc_dev_sensorthings_multiObservation() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.sensorthings.multiObservation"),
@@ -893,7 +908,7 @@ fn lexicon_doc_dev_sensorthings_multiObservation() -> LexiconDoc<'static> {
 
 pub mod multi_observation_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -967,14 +982,20 @@ pub struct MultiObservationEntryBuilder<
 
 impl MultiObservationEntry {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> MultiObservationEntryBuilder {
+    pub fn new() -> MultiObservationEntryBuilder<
+        multi_observation_entry_state::Empty,
+        DefaultStr,
+    > {
         MultiObservationEntryBuilder::new()
     }
 }
 
 impl MultiObservationEntry {
     /// Create a new builder for this type
-    pub fn builder() -> MultiObservationEntryBuilder {
+    pub fn builder() -> MultiObservationEntryBuilder<
+        multi_observation_entry_state::Empty,
+        S,
+    > {
         MultiObservationEntryBuilder::builder()
     }
 }
@@ -1010,8 +1031,10 @@ where
     pub fn observed_property(
         mut self,
         value: impl Into>,
-    ) -> MultiObservationEntryBuilder, S>
-    {
+    ) -> MultiObservationEntryBuilder<
+        multi_observation_entry_state::SetObservedProperty,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         MultiObservationEntryBuilder {
             _state: PhantomData,
@@ -1040,7 +1063,10 @@ where
     }
 }
 
-impl MultiObservationEntryBuilder {
+impl<
+    St: multi_observation_entry_state::State,
+    S: BosStr,
+> MultiObservationEntryBuilder {
     /// Set the `resultQuality` field (optional)
     pub fn result_quality(
         mut self,
@@ -1059,7 +1085,10 @@ impl MultiObservationEntryB
     }
 }
 
-impl MultiObservationEntryBuilder {
+impl<
+    St: multi_observation_entry_state::State,
+    S: BosStr,
+> MultiObservationEntryBuilder {
     /// Set the `resultScaleFactor` field (optional)
     pub fn result_scale_factor(mut self, value: impl Into>) -> Self {
         self._fields.3 = value.into();
@@ -1081,8 +1110,10 @@ where
     pub fn unit_of_measurement(
         mut self,
         value: impl Into>,
-    ) -> MultiObservationEntryBuilder, S>
-    {
+    ) -> MultiObservationEntryBuilder<
+        multi_observation_entry_state::SetUnitOfMeasurement,
+        S,
+    > {
         self._fields.4 = Option::Some(value.into());
         MultiObservationEntryBuilder {
             _state: PhantomData,
@@ -1124,4 +1155,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings/observation_batch.rs b/crates/jacquard-api/src/dev_sensorthings/observation_batch.rs
index 4006040cc..755d8f91b 100644
--- a/crates/jacquard-api/src/dev_sensorthings/observation_batch.rs
+++ b/crates/jacquard-api/src/dev_sensorthings/observation_batch.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::dev_sensorthings::observation_batch;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::dev_sensorthings::observation_batch;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BatchEntry {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub q: Option>,
@@ -45,6 +42,7 @@ pub struct BatchEntry {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum BatchEntryQ {
     Good,
@@ -126,6 +124,7 @@ where
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -236,7 +235,7 @@ impl LexiconSchema for ObservationBatch {
 
 pub mod batch_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,11 +280,7 @@ pub mod batch_entry_state {
 /// Builder for constructing an instance of this type.
 pub struct BatchEntryBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -392,7 +387,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BatchEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BatchEntry {
         BatchEntry {
             q: self._fields.0,
             result: self._fields.1.unwrap(),
@@ -403,10 +401,10 @@ where
 }
 
 fn lexicon_doc_dev_sensorthings_observationBatch() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.sensorthings.observationBatch"),
@@ -529,7 +527,7 @@ fn lexicon_doc_dev_sensorthings_observationBatch() -> LexiconDoc<'static> {
 
 pub mod observation_batch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -602,7 +600,10 @@ pub mod observation_batch_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ObservationBatchBuilder {
+pub struct ObservationBatchBuilder<
+    St: observation_batch_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -744,7 +745,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ObservationBatch {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ObservationBatch {
         ObservationBatch {
             datastream: self._fields.0.unwrap(),
             observations: self._fields.1.unwrap(),
@@ -753,4 +757,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings/observed_property.rs b/crates/jacquard-api/src/dev_sensorthings/observed_property.rs
index 8ddd304eb..037b418d7 100644
--- a/crates/jacquard-api/src/dev_sensorthings/observed_property.rs
+++ b/crates/jacquard-api/src/dev_sensorthings/observed_property.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// The phenomenon being observed (e.g. air temperature, PM2.5 concentration).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -129,7 +129,7 @@ impl LexiconSchema for ObservedProperty {
 
 pub mod observed_property_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -186,7 +186,10 @@ pub mod observed_property_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ObservedPropertyBuilder {
+pub struct ObservedPropertyBuilder<
+    St: observed_property_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option, Option),
     _type: PhantomData S>,
@@ -316,7 +319,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ObservedProperty {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ObservedProperty {
         ObservedProperty {
             created_at: self._fields.0.unwrap(),
             definition: self._fields.1.unwrap(),
@@ -328,10 +334,10 @@ where
 }
 
 fn lexicon_doc_dev_sensorthings_observedProperty() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.sensorthings.observedProperty"),
@@ -401,4 +407,4 @@ fn lexicon_doc_dev_sensorthings_observedProperty() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings/quality.rs b/crates/jacquard-api/src/dev_sensorthings/quality.rs
index 864d70b2d..d1d3dbc73 100644
--- a/crates/jacquard-api/src/dev_sensorthings/quality.rs
+++ b/crates/jacquard-api/src/dev_sensorthings/quality.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Observation passed QC checks.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -36,4 +36,4 @@ impl core::fmt::Display for Suspect {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "suspect")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_sensorthings/sensor.rs b/crates/jacquard-api/src/dev_sensorthings/sensor.rs
index e47d4ef50..5d2ff517b 100644
--- a/crates/jacquard-api/src/dev_sensorthings/sensor.rs
+++ b/crates/jacquard-api/src/dev_sensorthings/sensor.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An instrument or procedure that produces observations.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -153,7 +153,7 @@ impl LexiconSchema for Sensor {
 
 pub mod sensor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -322,7 +322,10 @@ where
     St::Name: sensor_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> SensorBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> SensorBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         SensorBuilder {
             _state: PhantomData,
@@ -364,10 +367,10 @@ where
 }
 
 fn lexicon_doc_dev_sensorthings_sensor() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.sensorthings.sensor"),
@@ -449,4 +452,4 @@ fn lexicon_doc_dev_sensorthings_sensor() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_tsunagite.rs b/crates/jacquard-api/src/dev_tsunagite.rs
index 89cd4e351..0d875c905 100644
--- a/crates/jacquard-api/src/dev_tsunagite.rs
+++ b/crates/jacquard-api/src/dev_tsunagite.rs
@@ -8,4 +8,4 @@ pub mod chart;
 pub mod difficulty;
 pub mod game;
 pub mod song;
-pub mod types;
+pub mod types;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_tsunagite/chart.rs b/crates/jacquard-api/src/dev_tsunagite/chart.rs
index 65937104b..d038b3429 100644
--- a/crates/jacquard-api/src/dev_tsunagite/chart.rs
+++ b/crates/jacquard-api/src/dev_tsunagite/chart.rs
@@ -10,8 +10,8 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,11 +26,11 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::dev_tsunagite::difficulty::Difficulty;
-use crate::dev_tsunagite::types::TypedRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::dev_tsunagite::difficulty::Difficulty;
+use crate::dev_tsunagite::types::TypedRef;
 /// A chart included in a game hosting leaderboards via Tsunagite.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -62,6 +62,7 @@ pub struct Chart {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -142,25 +143,31 @@ impl LexiconSchema for Chart {
         if let Some(ref value) = self.jacket {
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/png", "image/jpeg", "image/jxl", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/png",
+                    "image/jpeg",
+                    "image/jxl",
+                    "image/webp",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("jacket"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/jxl".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/jxl".to_string(), "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -173,7 +180,7 @@ impl LexiconSchema for Chart {
 
 pub mod chart_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -321,7 +328,10 @@ where
     St::Game: chart_state::IsUnset,
 {
     /// Set the `game` field (required)
-    pub fn game(mut self, value: impl Into>) -> ChartBuilder, S> {
+    pub fn game(
+        mut self,
+        value: impl Into>,
+    ) -> ChartBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         ChartBuilder {
             _state: PhantomData,
@@ -376,7 +386,10 @@ where
     St::Rating: chart_state::IsUnset,
 {
     /// Set the `rating` field (required)
-    pub fn rating(mut self, value: impl Into) -> ChartBuilder, S> {
+    pub fn rating(
+        mut self,
+        value: impl Into,
+    ) -> ChartBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         ChartBuilder {
             _state: PhantomData,
@@ -392,7 +405,10 @@ where
     St::Song: chart_state::IsUnset,
 {
     /// Set the `song` field (required)
-    pub fn song(mut self, value: impl Into>) -> ChartBuilder, S> {
+    pub fn song(
+        mut self,
+        value: impl Into>,
+    ) -> ChartBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         ChartBuilder {
             _state: PhantomData,
@@ -439,10 +455,10 @@ where
 }
 
 fn lexicon_doc_dev_tsunagite_chart() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.tsunagite.chart"),
@@ -554,4 +570,4 @@ fn lexicon_doc_dev_tsunagite_chart() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_tsunagite/difficulty.rs b/crates/jacquard-api/src/dev_tsunagite/difficulty.rs
index 7e9fd973a..6873bd051 100644
--- a/crates/jacquard-api/src/dev_tsunagite/difficulty.rs
+++ b/crates/jacquard-api/src/dev_tsunagite/difficulty.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A difficulty slot in a game hosting leaderboards via Tsunagite.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Difficulty {
 
 pub mod difficulty_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -226,7 +226,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Difficulty {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Difficulty {
         Difficulty {
             color: self._fields.0,
             name: self._fields.1.unwrap(),
@@ -236,10 +239,10 @@ where
 }
 
 fn lexicon_doc_dev_tsunagite_difficulty() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.tsunagite.difficulty"),
@@ -248,9 +251,11 @@ fn lexicon_doc_dev_tsunagite_difficulty() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A difficulty slot in a game hosting leaderboards via Tsunagite.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A difficulty slot in a game hosting leaderboards via Tsunagite.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("name")]),
@@ -260,9 +265,11 @@ fn lexicon_doc_dev_tsunagite_difficulty() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("color"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The hex code color of the difficulty slot.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The hex code color of the difficulty slot.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -284,4 +291,4 @@ fn lexicon_doc_dev_tsunagite_difficulty() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_tsunagite/game.rs b/crates/jacquard-api/src/dev_tsunagite/game.rs
index 08d4daebb..f886fd1c7 100644
--- a/crates/jacquard-api/src/dev_tsunagite/game.rs
+++ b/crates/jacquard-api/src/dev_tsunagite/game.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,18 +25,15 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::dev_tsunagite::game;
-use crate::dev_tsunagite::types::Indexable;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::dev_tsunagite::types::Indexable;
+use crate::dev_tsunagite::game;
 /// A closed set of indexable named values.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Enum {
     ///The internal ID of this component, limited to the RecordKey characterset.
     pub id: RecordKey>,
@@ -79,6 +76,7 @@ pub struct Game {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -107,10 +105,7 @@ pub struct GameGetRecordOutput {
 /// A percentage score with customizable precision.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Percentage {
     ///The internal ID of this component, limited to the RecordKey characterset.
     pub id: RecordKey>,
@@ -129,10 +124,7 @@ pub struct Percentage {
 /// An integer point score, with or without a cap.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Points {
     ///The internal ID of this component, limited to the RecordKey characterset.
     pub id: RecordKey>,
@@ -148,10 +140,7 @@ pub struct Points {
 /// A fallback component for displaying arbitrary text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Text {
     ///The internal ID of this component, limited to the RecordKey characterset.
     pub id: RecordKey>,
@@ -257,25 +246,31 @@ impl LexiconSchema for Game {
         if let Some(ref value) = self.logo {
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/png", "image/jpeg", "image/jxl", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/png",
+                    "image/jpeg",
+                    "image/jxl",
+                    "image/webp",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("logo"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/jxl".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/jxl".to_string(), "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -399,7 +394,7 @@ impl LexiconSchema for Text {
 
 pub mod enum_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -458,11 +453,7 @@ pub mod enum_state {
 /// Builder for constructing an instance of this type.
 pub struct EnumBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option>,
-        Option>>,
-    ),
+    _fields: (Option>>, Option>, Option>>),
     _type: PhantomData S>,
 }
 
@@ -527,7 +518,10 @@ where
     St::Name: enum_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into>) -> EnumBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into>,
+    ) -> EnumBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         EnumBuilder {
             _state: PhantomData,
@@ -584,10 +578,10 @@ where
 }
 
 fn lexicon_doc_dev_tsunagite_game() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.tsunagite.game"),
@@ -918,7 +912,7 @@ fn lexicon_doc_dev_tsunagite_game() -> LexiconDoc<'static> {
 
 pub mod game_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1124,7 +1118,10 @@ where
     St::Name: game_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into>) -> GameBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into>,
+    ) -> GameBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         GameBuilder {
             _state: PhantomData,
@@ -1199,7 +1196,7 @@ fn _default_percentage_precision() -> i64 {
 
 pub mod percentage_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1274,12 +1271,7 @@ pub mod percentage_state {
 /// Builder for constructing an instance of this type.
 pub struct PercentageBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option>>, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -1414,7 +1406,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Percentage {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Percentage {
         Percentage {
             id: self._fields.0.unwrap(),
             maximum: self._fields.1.unwrap(),
@@ -1427,7 +1422,7 @@ where
 
 pub mod points_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1591,7 +1586,7 @@ where
 
 pub mod text_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1701,7 +1696,10 @@ where
     St::Name: text_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into>) -> TextBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into>,
+    ) -> TextBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         TextBuilder {
             _state: PhantomData,
@@ -1733,4 +1731,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_tsunagite/song.rs b/crates/jacquard-api/src/dev_tsunagite/song.rs
index 24acd7b75..338e14297 100644
--- a/crates/jacquard-api/src/dev_tsunagite/song.rs
+++ b/crates/jacquard-api/src/dev_tsunagite/song.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A song included in a game hosting leaderboards via Tsunagite.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -133,25 +133,31 @@ impl LexiconSchema for Song {
         if let Some(ref value) = self.jacket {
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/png", "image/jpeg", "image/jxl", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/png",
+                    "image/jpeg",
+                    "image/jxl",
+                    "image/webp",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("jacket"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/jxl".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/jxl".to_string(), "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -164,7 +170,7 @@ impl LexiconSchema for Song {
 
 pub mod song_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -381,7 +387,10 @@ where
     St::Title: song_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into>) -> SongBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into>,
+    ) -> SongBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         SongBuilder {
             _state: PhantomData,
@@ -429,10 +438,10 @@ where
 }
 
 fn lexicon_doc_dev_tsunagite_song() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.tsunagite.song"),
@@ -532,4 +541,4 @@ fn lexicon_doc_dev_tsunagite_song() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_tsunagite/types.rs b/crates/jacquard-api/src/dev_tsunagite/types.rs
index 0edb25d45..8536796e3 100644
--- a/crates/jacquard-api/src/dev_tsunagite/types.rs
+++ b/crates/jacquard-api/src/dev_tsunagite/types.rs
@@ -23,14 +23,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A named value with a numeric index for sorting.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Indexable {
     ///The internal ID for the value, limited to the RecordKey character set.
     pub id: RecordKey>,
@@ -45,10 +42,7 @@ pub struct Indexable {
 /// A typed record reference that does not require a CID hash.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TypedRef {
     ///The AT URI of the record this object references.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -114,7 +108,7 @@ impl LexiconSchema for TypedRef {
 
 pub mod indexable_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -287,7 +281,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Indexable {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Indexable {
         Indexable {
             id: self._fields.0.unwrap(),
             index: self._fields.1.unwrap(),
@@ -298,10 +295,10 @@ where
 }
 
 fn lexicon_doc_dev_tsunagite_types() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.tsunagite.types"),
@@ -359,18 +356,22 @@ fn lexicon_doc_dev_tsunagite_types() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("typedRef"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A typed record reference that does not require a CID hash.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A typed record reference that does not require a CID hash.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("ref"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The AT URI of the record this object references.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The AT URI of the record this object references.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -378,9 +379,11 @@ fn lexicon_doc_dev_tsunagite_types() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("type"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The type of the record this object references.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The type of the record this object references.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::RecordKey),
                                 ..Default::default()
                             }),
@@ -394,4 +397,4 @@ fn lexicon_doc_dev_tsunagite_types() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_vielle.rs b/crates/jacquard-api/src/dev_vielle.rs
index 5534bb668..74ea8307d 100644
--- a/crates/jacquard-api/src/dev_vielle.rs
+++ b/crates/jacquard-api/src/dev_vielle.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `dev.vielle` Lexicon namespace/module.
 pub mod dnd;
-pub mod guestbook;
+pub mod guestbook;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_vielle/dnd.rs b/crates/jacquard-api/src/dev_vielle/dnd.rs
index 0d7970af6..7f4d6bfd2 100644
--- a/crates/jacquard-api/src/dev_vielle/dnd.rs
+++ b/crates/jacquard-api/src/dev_vielle/dnd.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `dev.vielle.dnd` Lexicon namespace/module.
 pub mod astral;
-pub mod power;
+pub mod power;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_vielle/dnd/astral.rs b/crates/jacquard-api/src/dev_vielle/dnd/astral.rs
index 12022f41f..aec6b0cfd 100644
--- a/crates/jacquard-api/src/dev_vielle/dnd/astral.rs
+++ b/crates/jacquard-api/src/dev_vielle/dnd/astral.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::dev_vielle::dnd::astral;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::dev_vielle::dnd::astral;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -56,6 +56,7 @@ pub struct AstralGetRecordOutput {
     pub value: Astral,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum Power {
     DevVielleDndPowerEldritchAdaptability,
@@ -84,7 +85,9 @@ impl Power {
             Self::DevVielleDndPowerEldritchAdaptability => {
                 "dev.vielle.dnd.power#eldritchAdaptability"
             }
-            Self::DevVielleDndPowerEldritchAssault => "dev.vielle.dnd.power#eldritchAssault",
+            Self::DevVielleDndPowerEldritchAssault => {
+                "dev.vielle.dnd.power#eldritchAssault"
+            }
             Self::DevVielleDndPowerRuneSeeker => "dev.vielle.dnd.power#runeSeeker",
             Self::DevVielleDndPowerFateScriber => "dev.vielle.dnd.power#fateScriber",
             Self::DevVielleDndPowerFaceless => "dev.vielle.dnd.power#faceless",
@@ -92,7 +95,9 @@ impl Power {
             Self::DevVielleDndPowerSpray => "dev.vielle.dnd.power#spray",
             Self::DevVielleDndPowerAcursed => "dev.vielle.dnd.power#acursed",
             Self::DevVielleDndPowerDarksight => "dev.vielle.dnd.power#darksight",
-            Self::DevVielleDndPowerEldritchVisage => "dev.vielle.dnd.power#eldritchVisage",
+            Self::DevVielleDndPowerEldritchVisage => {
+                "dev.vielle.dnd.power#eldritchVisage"
+            }
             Self::DevVielleDndPowerRegenerate => "dev.vielle.dnd.power#regenerate",
             Self::DevVielleDndPowerInstil => "dev.vielle.dnd.power#instil",
             Self::DevVielleDndPowerEldritchEnchantment => {
@@ -111,7 +116,9 @@ impl Power {
             "dev.vielle.dnd.power#eldritchAdaptability" => {
                 Self::DevVielleDndPowerEldritchAdaptability
             }
-            "dev.vielle.dnd.power#eldritchAssault" => Self::DevVielleDndPowerEldritchAssault,
+            "dev.vielle.dnd.power#eldritchAssault" => {
+                Self::DevVielleDndPowerEldritchAssault
+            }
             "dev.vielle.dnd.power#runeSeeker" => Self::DevVielleDndPowerRuneSeeker,
             "dev.vielle.dnd.power#fateScriber" => Self::DevVielleDndPowerFateScriber,
             "dev.vielle.dnd.power#faceless" => Self::DevVielleDndPowerFaceless,
@@ -119,7 +126,9 @@ impl Power {
             "dev.vielle.dnd.power#spray" => Self::DevVielleDndPowerSpray,
             "dev.vielle.dnd.power#acursed" => Self::DevVielleDndPowerAcursed,
             "dev.vielle.dnd.power#darksight" => Self::DevVielleDndPowerDarksight,
-            "dev.vielle.dnd.power#eldritchVisage" => Self::DevVielleDndPowerEldritchVisage,
+            "dev.vielle.dnd.power#eldritchVisage" => {
+                Self::DevVielleDndPowerEldritchVisage
+            }
             "dev.vielle.dnd.power#regenerate" => Self::DevVielleDndPowerRegenerate,
             "dev.vielle.dnd.power#instil" => Self::DevVielleDndPowerInstil,
             "dev.vielle.dnd.power#eldritchEnchantment" => {
@@ -176,7 +185,9 @@ where
             Power::DevVielleDndPowerEldritchAdaptability => {
                 Power::DevVielleDndPowerEldritchAdaptability
             }
-            Power::DevVielleDndPowerEldritchAssault => Power::DevVielleDndPowerEldritchAssault,
+            Power::DevVielleDndPowerEldritchAssault => {
+                Power::DevVielleDndPowerEldritchAssault
+            }
             Power::DevVielleDndPowerRuneSeeker => Power::DevVielleDndPowerRuneSeeker,
             Power::DevVielleDndPowerFateScriber => Power::DevVielleDndPowerFateScriber,
             Power::DevVielleDndPowerFaceless => Power::DevVielleDndPowerFaceless,
@@ -184,7 +195,9 @@ where
             Power::DevVielleDndPowerSpray => Power::DevVielleDndPowerSpray,
             Power::DevVielleDndPowerAcursed => Power::DevVielleDndPowerAcursed,
             Power::DevVielleDndPowerDarksight => Power::DevVielleDndPowerDarksight,
-            Power::DevVielleDndPowerEldritchVisage => Power::DevVielleDndPowerEldritchVisage,
+            Power::DevVielleDndPowerEldritchVisage => {
+                Power::DevVielleDndPowerEldritchVisage
+            }
             Power::DevVielleDndPowerRegenerate => Power::DevVielleDndPowerRegenerate,
             Power::DevVielleDndPowerInstil => Power::DevVielleDndPowerInstil,
             Power::DevVielleDndPowerEldritchEnchantment => {
@@ -253,7 +266,7 @@ fn _default_astral_points() -> i64 {
 
 pub mod astral_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -401,10 +414,10 @@ where
 }
 
 fn lexicon_doc_dev_vielle_dnd_astral() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.vielle.dnd.astral"),
@@ -415,10 +428,11 @@ fn lexicon_doc_dev_vielle_dnd_astral() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("points"),
-                            SmolStr::new_static("powers"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("points"), SmolStr::new_static("powers")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -447,12 +461,10 @@ fn lexicon_doc_dev_vielle_dnd_astral() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("power"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_vielle/dnd/power.rs b/crates/jacquard-api/src/dev_vielle/dnd/power.rs
index 73e7cee49..0fdd9bfe3 100644
--- a/crates/jacquard-api/src/dev_vielle/dnd/power.rs
+++ b/crates/jacquard-api/src/dev_vielle/dnd/power.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Acursed;
@@ -17,6 +17,7 @@ impl core::fmt::Display for Acursed {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Bind;
 impl core::fmt::Display for Bind {
@@ -25,6 +26,7 @@ impl core::fmt::Display for Bind {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Bond;
 impl core::fmt::Display for Bond {
@@ -33,6 +35,7 @@ impl core::fmt::Display for Bond {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Claw;
 impl core::fmt::Display for Claw {
@@ -41,6 +44,7 @@ impl core::fmt::Display for Claw {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Darksight;
 impl core::fmt::Display for Darksight {
@@ -49,6 +53,7 @@ impl core::fmt::Display for Darksight {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct EldritchAdaptability;
 impl core::fmt::Display for EldritchAdaptability {
@@ -57,6 +62,7 @@ impl core::fmt::Display for EldritchAdaptability {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct EldritchAssault;
 impl core::fmt::Display for EldritchAssault {
@@ -65,6 +71,7 @@ impl core::fmt::Display for EldritchAssault {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct EldritchEnchantment;
 impl core::fmt::Display for EldritchEnchantment {
@@ -73,6 +80,7 @@ impl core::fmt::Display for EldritchEnchantment {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct EldritchVisage;
 impl core::fmt::Display for EldritchVisage {
@@ -81,6 +89,7 @@ impl core::fmt::Display for EldritchVisage {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Faceless;
 impl core::fmt::Display for Faceless {
@@ -89,6 +98,7 @@ impl core::fmt::Display for Faceless {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct FateScriber;
 impl core::fmt::Display for FateScriber {
@@ -97,6 +107,7 @@ impl core::fmt::Display for FateScriber {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Instil;
 impl core::fmt::Display for Instil {
@@ -105,6 +116,7 @@ impl core::fmt::Display for Instil {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Invalid;
 impl core::fmt::Display for Invalid {
@@ -123,6 +135,7 @@ impl core::fmt::Display for Locked {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Regenerate;
 impl core::fmt::Display for Regenerate {
@@ -131,6 +144,7 @@ impl core::fmt::Display for Regenerate {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct RuneSeeker;
 impl core::fmt::Display for RuneSeeker {
@@ -139,6 +153,7 @@ impl core::fmt::Display for RuneSeeker {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Spray;
 impl core::fmt::Display for Spray {
@@ -147,10 +162,11 @@ impl core::fmt::Display for Spray {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct Whisper;
 impl core::fmt::Display for Whisper {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "whisper")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_vielle/guestbook.rs b/crates/jacquard-api/src/dev_vielle/guestbook.rs
index 6489948d5..e59fe03a0 100644
--- a/crates/jacquard-api/src/dev_vielle/guestbook.rs
+++ b/crates/jacquard-api/src/dev_vielle/guestbook.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `dev.vielle.guestbook` Lexicon namespace/module.
 pub mod book;
-pub mod entry;
+pub mod entry;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_vielle/guestbook/book.rs b/crates/jacquard-api/src/dev_vielle/guestbook/book.rs
index 0e86dad1a..38fb14746 100644
--- a/crates/jacquard-api/src/dev_vielle/guestbook/book.rs
+++ b/crates/jacquard-api/src/dev_vielle/guestbook/book.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -104,7 +104,7 @@ impl LexiconSchema for Book {
 
 pub mod book_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -233,10 +233,10 @@ where
 }
 
 fn lexicon_doc_dev_vielle_guestbook_book() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.vielle.guestbook.book"),
@@ -275,4 +275,4 @@ fn lexicon_doc_dev_vielle_guestbook_book() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/dev_vielle/guestbook/entry.rs b/crates/jacquard-api/src/dev_vielle/guestbook/entry.rs
index c15c400eb..a0ec57d7e 100644
--- a/crates/jacquard-api/src/dev_vielle/guestbook/entry.rs
+++ b/crates/jacquard-api/src/dev_vielle/guestbook/entry.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -103,7 +103,7 @@ impl LexiconSchema for Entry {
 
 pub mod entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -194,7 +194,10 @@ where
     St::Book: entry_state::IsUnset,
 {
     /// Set the `book` field (required)
-    pub fn book(mut self, value: impl Into>) -> EntryBuilder, S> {
+    pub fn book(
+        mut self,
+        value: impl Into>,
+    ) -> EntryBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         EntryBuilder {
             _state: PhantomData,
@@ -248,10 +251,10 @@ where
 }
 
 fn lexicon_doc_dev_vielle_guestbook_entry() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("dev.vielle.guestbook.entry"),
@@ -262,10 +265,11 @@ fn lexicon_doc_dev_vielle_guestbook_entry() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("nsid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("book"),
-                            SmolStr::new_static("contents"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("book"), SmolStr::new_static("contents")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -293,4 +297,4 @@ fn lexicon_doc_dev_vielle_guestbook_entry() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/directory_evnt.rs b/crates/jacquard-api/src/directory_evnt.rs
index 95497e67d..b0400b5b3 100644
--- a/crates/jacquard-api/src/directory_evnt.rs
+++ b/crates/jacquard-api/src/directory_evnt.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `directory.evnt` Lexicon namespace/module.
-pub mod event;
+pub mod event;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/directory_evnt/event.rs b/crates/jacquard-api/src/directory_evnt/event.rs
index c5db9deca..dc6bb4a74 100644
--- a/crates/jacquard-api/src/directory_evnt/event.rs
+++ b/crates/jacquard-api/src/directory_evnt/event.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -22,13 +22,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Address {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub addr: Option,
@@ -40,11 +37,9 @@ pub struct Address {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Coordinates {
     pub lat: i64,
     pub lng: i64,
@@ -52,11 +47,9 @@ pub struct Coordinates {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EventComponent {
     pub data: Data,
     pub r#type: S,
@@ -64,11 +57,9 @@ pub struct EventComponent {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EventInstance {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub end: Option,
@@ -82,6 +73,7 @@ pub struct EventInstance {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum EventStatus {
     Planned,
@@ -165,11 +157,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OnlineVenue {
     pub id: S,
     pub name: Data,
@@ -180,11 +170,9 @@ pub struct OnlineVenue {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PhysicalVenue {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub address: Option>,
@@ -197,11 +185,9 @@ pub struct PhysicalVenue {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UnknownVenue {
     pub id: S,
     pub name: Data,
@@ -210,11 +196,9 @@ pub struct UnknownVenue {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Event {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub components: Option>>,
@@ -232,6 +216,7 @@ pub struct Event {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -357,10 +342,10 @@ impl LexiconSchema for Event {
 }
 
 fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("directory.evnt.event"),
@@ -374,21 +359,15 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("addr"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("countryCode"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("postalCode"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -398,7 +377,9 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("Coordinates"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("lat"), SmolStr::new_static("lng")]),
+                    required: Some(
+                        vec![SmolStr::new_static("lat"), SmolStr::new_static("lng")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -422,10 +403,9 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("EventComponent"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("data"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("type"), SmolStr::new_static("data")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -437,9 +417,7 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -454,15 +432,11 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("end"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("start"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("status"),
@@ -487,26 +461,23 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("EventStatus"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("OnlineVenue"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("id"), SmolStr::new_static("type"),
+                            SmolStr::new_static("name")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
@@ -516,15 +487,11 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("url"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -534,11 +501,12 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("PhysicalVenue"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("id"), SmolStr::new_static("type"),
+                            SmolStr::new_static("name")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -558,9 +526,7 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
@@ -570,9 +536,7 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -582,19 +546,18 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("UnknownVenue"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("id"), SmolStr::new_static("type"),
+                            SmolStr::new_static("name")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
@@ -604,9 +567,7 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -616,7 +577,9 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("v"), SmolStr::new_static("name")]),
+                    required: Some(
+                        vec![SmolStr::new_static("v"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -672,7 +635,7 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
                                     refs: vec![
                                         CowStr::new_static("#physicalVenue"),
                                         CowStr::new_static("#onlineVenue"),
-                                        CowStr::new_static("#unknownVenue"),
+                                        CowStr::new_static("#unknownVenue")
                                     ],
                                     ..Default::default()
                                 }),
@@ -692,7 +655,7 @@ fn lexicon_doc_directory_evnt_event() -> LexiconDoc<'static> {
 
 pub mod coordinates_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -830,7 +793,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Coordinates {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Coordinates {
         Coordinates {
             lat: self._fields.0.unwrap(),
             lng: self._fields.1.unwrap(),
@@ -841,7 +807,7 @@ where
 
 pub mod event_component_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -884,7 +850,10 @@ pub mod event_component_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EventComponentBuilder {
+pub struct EventComponentBuilder<
+    St: event_component_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option),
     _type: PhantomData S>,
@@ -979,7 +948,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EventComponent {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EventComponent {
         EventComponent {
             data: self._fields.0.unwrap(),
             r#type: self._fields.1.unwrap(),
@@ -990,7 +962,7 @@ where
 
 pub mod online_venue_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1177,7 +1149,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> OnlineVenue {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> OnlineVenue {
         OnlineVenue {
             id: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -1190,7 +1165,7 @@ where
 
 pub mod physical_venue_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1247,15 +1222,12 @@ pub mod physical_venue_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PhysicalVenueBuilder {
+pub struct PhysicalVenueBuilder<
+    St: physical_venue_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option>, Option>, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -1397,7 +1369,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PhysicalVenue {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PhysicalVenue {
         PhysicalVenue {
             address: self._fields.0,
             coordinates: self._fields.1,
@@ -1411,7 +1386,7 @@ where
 
 pub mod unknown_venue_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1584,7 +1559,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UnknownVenue {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UnknownVenue {
         UnknownVenue {
             id: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -1596,7 +1574,7 @@ where
 
 pub mod event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1734,7 +1712,10 @@ where
     St::Name: event_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into>) -> EventBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into>,
+    ) -> EventBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         EventBuilder {
             _state: PhantomData,
@@ -1818,4 +1799,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl.rs b/crates/jacquard-api/src/diy_razorgirl.rs
index be6de04fc..b60d8ae2d 100644
--- a/crates/jacquard-api/src/diy_razorgirl.rs
+++ b/crates/jacquard-api/src/diy_razorgirl.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `diy.razorgirl` Lexicon namespace/module.
-pub mod winter;
+pub mod winter;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter.rs b/crates/jacquard-api/src/diy_razorgirl/winter.rs
index af3b3e0b8..99ac2d63d 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter.rs
@@ -10,4 +10,4 @@ pub mod note;
 pub mod thought;
 pub mod tool;
 pub mod wiki_entry;
-pub mod wiki_link;
+pub mod wiki_link;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter/fact.rs b/crates/jacquard-api/src/diy_razorgirl/winter/fact.rs
index 72016240b..001910e33 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter/fact.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter/fact.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -149,7 +149,7 @@ impl LexiconSchema for Fact {
 
 pub mod fact_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -263,7 +263,10 @@ where
     St::Args: fact_state::IsUnset,
 {
     /// Set the `args` field (required)
-    pub fn args(mut self, value: impl Into>) -> FactBuilder, S> {
+    pub fn args(
+        mut self,
+        value: impl Into>,
+    ) -> FactBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         FactBuilder {
             _state: PhantomData,
@@ -414,10 +417,10 @@ where
 }
 
 fn lexicon_doc_diy_razorgirl_winter_fact() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("diy.razorgirl.winter.fact"),
@@ -428,11 +431,13 @@ fn lexicon_doc_diy_razorgirl_winter_fact() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("predicate"),
-                            SmolStr::new_static("args"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("predicate"),
+                                SmolStr::new_static("args"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -449,9 +454,9 @@ fn lexicon_doc_diy_razorgirl_winter_fact() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("confidence"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "0.0-1.0 as string (Soufflé compat)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("0.0-1.0 as string (Soufflé compat)"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -479,14 +484,18 @@ fn lexicon_doc_diy_razorgirl_winter_fact() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("source"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("CID of source record")),
+                                    description: Some(
+                                        CowStr::new_static("CID of source record"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("supersedes"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("CID of superseded fact")),
+                                    description: Some(
+                                        CowStr::new_static("CID of superseded fact"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -511,4 +520,4 @@ fn lexicon_doc_diy_razorgirl_winter_fact() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter/job.rs b/crates/jacquard-api/src/diy_razorgirl/winter/job.rs
index e7a617aa0..f3e04039c 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter/job.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter/job.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::diy_razorgirl::winter::job;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::diy_razorgirl::winter::job;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct IntervalSchedule {
     pub seconds: i64,
     pub r#type: S,
@@ -41,6 +38,7 @@ pub struct IntervalSchedule {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
     rename_all = "camelCase",
@@ -67,6 +65,7 @@ pub struct Job {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -77,6 +76,7 @@ pub enum JobSchedule {
     IntervalSchedule(Box>),
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum JobStatus {
     Pending,
@@ -173,11 +173,9 @@ pub struct JobGetRecordOutput {
     pub value: Job,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OnceSchedule {
     pub run_at: Datetime,
     pub r#type: S,
@@ -287,7 +285,7 @@ impl LexiconSchema for OnceSchedule {
 
 pub mod interval_schedule_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -330,7 +328,10 @@ pub mod interval_schedule_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct IntervalScheduleBuilder {
+pub struct IntervalScheduleBuilder<
+    St: interval_schedule_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -425,7 +426,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> IntervalSchedule {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> IntervalSchedule {
         IntervalSchedule {
             seconds: self._fields.0.unwrap(),
             r#type: self._fields.1.unwrap(),
@@ -435,10 +439,10 @@ where
 }
 
 fn lexicon_doc_diy_razorgirl_winter_job() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("diy.razorgirl.winter.job"),
@@ -447,10 +451,9 @@ fn lexicon_doc_diy_razorgirl_winter_job() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("intervalSchedule"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("seconds"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("type"), SmolStr::new_static("seconds")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -462,9 +465,7 @@ fn lexicon_doc_diy_razorgirl_winter_job() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -476,12 +477,14 @@ fn lexicon_doc_diy_razorgirl_winter_job() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("instructions"),
-                            SmolStr::new_static("schedule"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("instructions"),
+                                SmolStr::new_static("schedule"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -531,7 +534,7 @@ fn lexicon_doc_diy_razorgirl_winter_job() -> LexiconDoc<'static> {
                                 LexObjectProperty::Union(LexRefUnion {
                                     refs: vec![
                                         CowStr::new_static("#onceSchedule"),
-                                        CowStr::new_static("#intervalSchedule"),
+                                        CowStr::new_static("#intervalSchedule")
                                     ],
                                     ..Default::default()
                                 }),
@@ -552,10 +555,9 @@ fn lexicon_doc_diy_razorgirl_winter_job() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("onceSchedule"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("runAt"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("type"), SmolStr::new_static("runAt")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -568,9 +570,7 @@ fn lexicon_doc_diy_razorgirl_winter_job() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -589,7 +589,7 @@ fn _default_job_failure_count() -> Option {
 
 pub mod job_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -878,7 +878,7 @@ where
 
 pub mod once_schedule_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1016,11 +1016,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> OnceSchedule {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> OnceSchedule {
         OnceSchedule {
             run_at: self._fields.0.unwrap(),
             r#type: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter/note.rs b/crates/jacquard-api/src/diy_razorgirl/winter/note.rs
index 4eb1d3476..fb97880df 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter/note.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter/note.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -154,7 +154,7 @@ impl LexiconSchema for Note {
 
 pub mod note_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -296,7 +296,10 @@ where
     St::Content: note_state::IsUnset,
 {
     /// Set the `content` field (required)
-    pub fn content(mut self, value: impl Into) -> NoteBuilder, S> {
+    pub fn content(
+        mut self,
+        value: impl Into,
+    ) -> NoteBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         NoteBuilder {
             _state: PhantomData,
@@ -376,7 +379,10 @@ where
     St::Title: note_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> NoteBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> NoteBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         NoteBuilder {
             _state: PhantomData,
@@ -423,10 +429,10 @@ where
 }
 
 fn lexicon_doc_diy_razorgirl_winter_note() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("diy.razorgirl.winter.note"),
@@ -437,12 +443,14 @@ fn lexicon_doc_diy_razorgirl_winter_note() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("lastUpdated"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("lastUpdated")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -477,9 +485,9 @@ fn lexicon_doc_diy_razorgirl_winter_note() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("relatedFacts"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "AT URIs of related facts",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("AT URIs of related facts"),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         format: Some(LexStringFormat::AtUri),
                                         ..Default::default()
@@ -515,4 +523,4 @@ fn lexicon_doc_diy_razorgirl_winter_note() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter/thought.rs b/crates/jacquard-api/src/diy_razorgirl/winter/thought.rs
index 607c664ec..14c975a91 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter/thought.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter/thought.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -51,6 +51,7 @@ pub struct Thought {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ThoughtKind {
     Insight,
@@ -230,7 +231,7 @@ impl LexiconSchema for Thought {
 
 pub mod thought_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -466,10 +467,10 @@ where
 }
 
 fn lexicon_doc_diy_razorgirl_winter_thought() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("diy.razorgirl.winter.thought"),
@@ -480,11 +481,12 @@ fn lexicon_doc_diy_razorgirl_winter_thought() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("kind"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("kind"), SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -527,9 +529,9 @@ fn lexicon_doc_diy_razorgirl_winter_thought() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("trigger"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "What prompted this thought",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("What prompted this thought"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -544,4 +546,4 @@ fn lexicon_doc_diy_razorgirl_winter_thought() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter/tool.rs b/crates/jacquard-api/src/diy_razorgirl/winter/tool.rs
index 304d54390..bd9be8537 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter/tool.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter/tool.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -156,7 +156,7 @@ impl LexiconSchema for Tool {
 
 pub mod tool_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -286,7 +286,18 @@ impl ToolBuilder {
         ToolBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -299,7 +310,18 @@ impl ToolBuilder {
         ToolBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -312,7 +334,10 @@ where
     St::Code: tool_state::IsUnset,
 {
     /// Set the `code` field (required)
-    pub fn code(mut self, value: impl Into) -> ToolBuilder, S> {
+    pub fn code(
+        mut self,
+        value: impl Into,
+    ) -> ToolBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ToolBuilder {
             _state: PhantomData,
@@ -398,7 +423,10 @@ where
     St::Name: tool_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ToolBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ToolBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         ToolBuilder {
             _state: PhantomData,
@@ -534,10 +562,10 @@ where
 }
 
 fn lexicon_doc_diy_razorgirl_winter_tool() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("diy.razorgirl.winter.tool"),
@@ -548,22 +576,26 @@ fn lexicon_doc_diy_razorgirl_winter_tool() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("code"),
-                            SmolStr::new_static("inputSchema"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("code"),
+                                SmolStr::new_static("inputSchema"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("code"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "TS/JS source, must export default async function",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "TS/JS source, must export default async function",
+                                        ),
+                                    ),
                                     max_length: Some(100000usize),
                                     ..Default::default()
                                 }),
@@ -623,9 +655,11 @@ fn lexicon_doc_diy_razorgirl_winter_tool() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("requiredTools"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Tools this tool chains to (AT URIs or built-in names)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Tools this tool chains to (AT URIs or built-in names)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         ..Default::default()
                                     }),
@@ -661,4 +695,4 @@ fn lexicon_doc_diy_razorgirl_winter_tool() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter/wiki_entry.rs b/crates/jacquard-api/src/diy_razorgirl/winter/wiki_entry.rs
index cbcf21269..1ca21ac8a 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter/wiki_entry.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter/wiki_entry.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -57,6 +57,7 @@ pub struct WikiEntry {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum WikiEntryStatus {
     Draft,
@@ -262,7 +263,7 @@ impl LexiconSchema for WikiEntry {
 
 pub mod wiki_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -592,7 +593,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> WikiEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> WikiEntry {
         WikiEntry {
             aliases: self._fields.0,
             content: self._fields.1.unwrap(),
@@ -610,10 +614,10 @@ where
 }
 
 fn lexicon_doc_diy_razorgirl_winter_wikiEntry() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("diy.razorgirl.winter.wikiEntry"),
@@ -624,22 +628,25 @@ fn lexicon_doc_diy_razorgirl_winter_wikiEntry() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("slug"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("lastUpdated"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"), SmolStr::new_static("slug"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("lastUpdated")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("aliases"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Alternative names for [[alias]] resolution",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Alternative names for [[alias]] resolution",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         ..Default::default()
                                     }),
@@ -671,9 +678,11 @@ fn lexicon_doc_diy_razorgirl_winter_wikiEntry() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("slug"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URL-safe identifier for [[slug]] linking",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "URL-safe identifier for [[slug]] linking",
+                                        ),
+                                    ),
                                     max_length: Some(128usize),
                                     ..Default::default()
                                 }),
@@ -726,4 +735,4 @@ fn lexicon_doc_diy_razorgirl_winter_wikiEntry() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/diy_razorgirl/winter/wiki_link.rs b/crates/jacquard-api/src/diy_razorgirl/winter/wiki_link.rs
index baaf233f4..446e2fce6 100644
--- a/crates/jacquard-api/src/diy_razorgirl/winter/wiki_link.rs
+++ b/crates/jacquard-api/src/diy_razorgirl/winter/wiki_link.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -53,6 +53,7 @@ pub struct WikiLink {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum WikiLinkLinkType {
     RelatedTo,
@@ -229,7 +230,7 @@ impl LexiconSchema for WikiLink {
 
 pub mod wiki_link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -504,10 +505,10 @@ where
 }
 
 fn lexicon_doc_diy_razorgirl_winter_wikiLink() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("diy.razorgirl.winter.wikiLink"),
@@ -518,19 +519,23 @@ fn lexicon_doc_diy_razorgirl_winter_wikiLink() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("source"),
-                            SmolStr::new_static("target"),
-                            SmolStr::new_static("linkType"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("source"),
+                                SmolStr::new_static("target"),
+                                SmolStr::new_static("linkType"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("context"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Why this link exists")),
+                                    description: Some(
+                                        CowStr::new_static("Why this link exists"),
+                                    ),
                                     max_length: Some(512usize),
                                     ..Default::default()
                                 }),
@@ -558,9 +563,9 @@ fn lexicon_doc_diy_razorgirl_winter_wikiLink() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("sourceAnchor"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Section heading slug in source",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Section heading slug in source"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -574,9 +579,9 @@ fn lexicon_doc_diy_razorgirl_winter_wikiLink() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("targetAnchor"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Section heading slug in target",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Section heading slug in target"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -591,4 +596,4 @@ fn lexicon_doc_diy_razorgirl_winter_wikiLink() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/download_darkworld.rs b/crates/jacquard-api/src/download_darkworld.rs
index c6429f5d7..5455f7e05 100644
--- a/crates/jacquard-api/src/download_darkworld.rs
+++ b/crates/jacquard-api/src/download_darkworld.rs
@@ -11,7 +11,7 @@ pub mod deltarune;
 pub mod site;
 pub mod state;
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 /// Identifies as female.
 pub type GenderFemale = S;
 /// Identifies as male.
@@ -27,4 +27,4 @@ pub type PronounsHeHim = S;
 pub type PronounsHeThey = S;
 pub type PronounsSheHer = S;
 pub type PronounsSheThey = S;
-pub type PronounsTheyThem = S;
+pub type PronounsTheyThem = S;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/download_darkworld/content.rs b/crates/jacquard-api/src/download_darkworld/content.rs
index 4172fda02..d31842f67 100644
--- a/crates/jacquard-api/src/download_darkworld/content.rs
+++ b/crates/jacquard-api/src/download_darkworld/content.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `download.darkworld.content` Lexicon namespace/module.
-pub mod markdown;
+pub mod markdown;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/download_darkworld/content/markdown.rs b/crates/jacquard-api/src/download_darkworld/content/markdown.rs
index 77643392d..b85c55920 100644
--- a/crates/jacquard-api/src/download_darkworld/content/markdown.rs
+++ b/crates/jacquard-api/src/download_darkworld/content/markdown.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::download_darkworld::content::markdown;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::download_darkworld::content::markdown;
 /// blob keyed by ref in the body
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ImageRef {
     pub blob: BlobRef,
     ///key used to reference the blob
@@ -43,10 +40,7 @@ pub struct ImageRef {
 /// markdown for rendering in darkworld.download/blog
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Markdown {
     ///markdown source ![alt](imageRef) to embed images
     pub body: S,
@@ -86,16 +80,19 @@ impl LexiconSchema for ImageRef {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -171,7 +168,7 @@ impl LexiconSchema for Markdown {
 
 pub mod image_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -319,10 +316,10 @@ where
 }
 
 fn lexicon_doc_download_darkworld_content_markdown() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("download.darkworld.content.markdown"),
@@ -331,26 +328,27 @@ fn lexicon_doc_download_darkworld_content_markdown() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("imageRef"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("blob keyed by ref in the body")),
-                    required: Some(vec![
-                        SmolStr::new_static("imageRef"),
-                        SmolStr::new_static("blob"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("blob keyed by ref in the body"),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("imageRef"), SmolStr::new_static("blob")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("imageRef"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "key used to reference the blob",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("key used to reference the blob"),
+                                ),
                                 max_length: Some(512usize),
                                 max_graphemes: Some(128usize),
                                 ..Default::default()
@@ -364,9 +362,11 @@ fn lexicon_doc_download_darkworld_content_markdown() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("markdown"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "markdown for rendering in darkworld.download/blog",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "markdown for rendering in darkworld.download/blog",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("body")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -374,9 +374,11 @@ fn lexicon_doc_download_darkworld_content_markdown() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("body"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "markdown source ![alt](imageRef) to embed images",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "markdown source ![alt](imageRef) to embed images",
+                                    ),
+                                ),
                                 max_length: Some(1000000usize),
                                 ..Default::default()
                             }),
@@ -384,9 +386,11 @@ fn lexicon_doc_download_darkworld_content_markdown() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("images"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Images referenced in the body with ![alt](imageRef)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Images referenced in the body with ![alt](imageRef)",
+                                    ),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#imageRef"),
                                     ..Default::default()
@@ -404,4 +408,4 @@ fn lexicon_doc_download_darkworld_content_markdown() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/download_darkworld/deltarune.rs b/crates/jacquard-api/src/download_darkworld/deltarune.rs
index caa0174e5..8b4244a04 100644
--- a/crates/jacquard-api/src/download_darkworld/deltarune.rs
+++ b/crates/jacquard-api/src/download_darkworld/deltarune.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,56 +24,45 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::download_darkworld::deltarune;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::download_darkworld::deltarune;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LocationElsewhere {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LocationHome {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LocationMathTextbook {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LocationOnSkin {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LocationSchool {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -98,6 +87,7 @@ pub struct Deltarune {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -114,6 +104,7 @@ pub enum DeltaruneTool {
     ToolOther(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -141,51 +132,41 @@ pub struct DeltaruneGetRecordOutput {
     pub value: Deltarune,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToolFinger {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToolMarker {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToolOther {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToolPen {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToolPencil {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -390,10 +371,10 @@ impl LexiconSchema for ToolPencil {
 }
 
 fn lexicon_doc_download_darkworld_deltarune() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("download.darkworld.deltarune"),
@@ -571,7 +552,7 @@ fn lexicon_doc_download_darkworld_deltarune() -> LexiconDoc<'static> {
 
 pub mod deltarune_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -604,11 +585,7 @@ pub mod deltarune_state {
 /// Builder for constructing an instance of this type.
 pub struct DeltaruneBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -708,7 +685,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Deltarune {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Deltarune {
         Deltarune {
             time: self._fields.0.unwrap(),
             tool: self._fields.1,
@@ -716,4 +696,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/download_darkworld/site.rs b/crates/jacquard-api/src/download_darkworld/site.rs
index 22875a24e..8ecc3c60d 100644
--- a/crates/jacquard-api/src/download_darkworld/site.rs
+++ b/crates/jacquard-api/src/download_darkworld/site.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `download.darkworld.site` Lexicon namespace/module.
-pub mod get_state;
+pub mod get_state;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/download_darkworld/site/get_state.rs b/crates/jacquard-api/src/download_darkworld/site/get_state.rs
index 36cf063d9..64d3e04a6 100644
--- a/crates/jacquard-api/src/download_darkworld/site/get_state.rs
+++ b/crates/jacquard-api/src/download_darkworld/site/get_state.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::download_darkworld::site::get_state;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::download_darkworld::site::get_state;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetStateOutput {
     #[serde(flatten)]
     pub value: Data,
@@ -37,11 +34,9 @@ pub struct GetStateOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Output {
     pub favorite_albums: Vec,
     pub favorite_artists: Vec,
@@ -197,7 +192,7 @@ impl LexiconSchema for Output {
 
 pub mod output_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -246,7 +241,9 @@ pub mod output_state {
         type UseSusieProphecy = St::UseSusieProphecy;
     }
     ///State transition - sets the `favorite_deltarune_characters` field to Set
-    pub struct SetFavoriteDeltaruneCharacters(PhantomData St>);
+    pub struct SetFavoriteDeltaruneCharacters(
+        PhantomData St>,
+    );
     impl sealed::Sealed for SetFavoriteDeltaruneCharacters {}
     impl State for SetFavoriteDeltaruneCharacters {
         type FavoriteAlbums = St::FavoriteAlbums;
@@ -508,10 +505,10 @@ where
 }
 
 fn lexicon_doc_download_darkworld_site_getState() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("download.darkworld.site.getState"),
@@ -527,14 +524,16 @@ fn lexicon_doc_download_darkworld_site_getState() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("output"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("useSusieProphecy"),
-                        SmolStr::new_static("titleColors"),
-                        SmolStr::new_static("favoriteGames"),
-                        SmolStr::new_static("favoriteArtists"),
-                        SmolStr::new_static("favoriteAlbums"),
-                        SmolStr::new_static("favoriteDeltaruneCharacters"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("useSusieProphecy"),
+                            SmolStr::new_static("titleColors"),
+                            SmolStr::new_static("favoriteGames"),
+                            SmolStr::new_static("favoriteArtists"),
+                            SmolStr::new_static("favoriteAlbums"),
+                            SmolStr::new_static("favoriteDeltaruneCharacters")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -577,9 +576,9 @@ fn lexicon_doc_download_darkworld_site_getState() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("titleColors"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Named title color mode for the site.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Named title color mode for the site."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -598,4 +597,4 @@ fn lexicon_doc_download_darkworld_site_getState() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/download_darkworld/state.rs b/crates/jacquard-api/src/download_darkworld/state.rs
index 409cda6bf..6ed83b54d 100644
--- a/crates/jacquard-api/src/download_darkworld/state.rs
+++ b/crates/jacquard-api/src/download_darkworld/state.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::download_darkworld::state;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::download_darkworld::state;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Favorite {
     pub album: Vec,
     pub artist: Vec,
@@ -72,11 +69,9 @@ pub struct StateGetRecordOutput {
     pub value: State,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Site {
     ///Swap out Kris with Susie in the prophecy panel.
     pub susie_prophecy: bool,
@@ -254,7 +249,7 @@ impl LexiconSchema for Site {
 
 pub mod favorite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -329,12 +324,7 @@ pub mod favorite_state {
 /// Builder for constructing an instance of this type.
 pub struct FavoriteBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -481,10 +471,10 @@ where
 }
 
 fn lexicon_doc_download_darkworld_state() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("download.darkworld.state"),
@@ -493,12 +483,13 @@ fn lexicon_doc_download_darkworld_state() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("favorite"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("game"),
-                        SmolStr::new_static("artist"),
-                        SmolStr::new_static("album"),
-                        SmolStr::new_static("deltaruneCharacter"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("game"), SmolStr::new_static("artist"),
+                            SmolStr::new_static("album"),
+                            SmolStr::new_static("deltaruneCharacter")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -546,24 +537,29 @@ fn lexicon_doc_download_darkworld_state() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "The record used by darkworld.download to determine the website's content.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "The record used by darkworld.download to determine the website's content.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("site"),
-                            SmolStr::new_static("favorite"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("site"), SmolStr::new_static("favorite")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("favorite"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    description: Some(CowStr::new_static(
-                                        "The user's favorites/likes/preferences.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The user's favorites/likes/preferences.",
+                                        ),
+                                    ),
                                     refs: vec![CowStr::new_static("#favorite")],
                                     closed: Some(true),
                                     ..Default::default()
@@ -572,9 +568,9 @@ fn lexicon_doc_download_darkworld_state() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("site"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    description: Some(CowStr::new_static(
-                                        "Describe the site's content/look.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Describe the site's content/look."),
+                                    ),
                                     refs: vec![CowStr::new_static("#site")],
                                     closed: Some(true),
                                     ..Default::default()
@@ -620,7 +616,7 @@ fn lexicon_doc_download_darkworld_state() -> LexiconDoc<'static> {
 
 pub mod state_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -769,7 +765,7 @@ where
 
 pub mod site_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -895,4 +891,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/eu_atchef.rs b/crates/jacquard-api/src/eu_atchef.rs
index 2569582e9..422c84109 100644
--- a/crates/jacquard-api/src/eu_atchef.rs
+++ b/crates/jacquard-api/src/eu_atchef.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `eu.atchef` Lexicon namespace/module.
-pub mod recipe;
+pub mod recipe;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/eu_atchef/recipe.rs b/crates/jacquard-api/src/eu_atchef/recipe.rs
index 993f4dc40..f5dc857f3 100644
--- a/crates/jacquard-api/src/eu_atchef/recipe.rs
+++ b/crates/jacquard-api/src/eu_atchef/recipe.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A cooking recipe with ingredients, instructions, and metadata
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -195,23 +195,25 @@ impl LexiconSchema for Recipe {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -275,7 +277,7 @@ impl LexiconSchema for Recipe {
 
 pub mod recipe_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -468,7 +470,10 @@ where
     St::Name: recipe_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> RecipeBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> RecipeBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         RecipeBuilder {
             _state: PhantomData,
@@ -572,10 +577,10 @@ where
 }
 
 fn lexicon_doc_eu_atchef_recipe() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("eu.atchef.recipe"),
@@ -584,25 +589,28 @@ fn lexicon_doc_eu_atchef_recipe() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A cooking recipe with ingredients, instructions, and metadata",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A cooking recipe with ingredients, instructions, and metadata",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"), SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("content"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Recipe content in Cooklang format",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Recipe content in Cooklang format"),
+                                    ),
                                     max_length: Some(15000usize),
                                     max_graphemes: Some(3000usize),
                                     ..Default::default()
@@ -618,9 +626,9 @@ fn lexicon_doc_eu_atchef_recipe() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the recipe was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the recipe was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -628,9 +636,9 @@ fn lexicon_doc_eu_atchef_recipe() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Brief recipe description or summary",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Brief recipe description or summary"),
+                                    ),
                                     max_length: Some(500usize),
                                     max_graphemes: Some(200usize),
                                     ..Default::default()
@@ -638,9 +646,7 @@ fn lexicon_doc_eu_atchef_recipe() -> LexiconDoc<'static> {
                             );
                             map.insert(
                                 SmolStr::new_static("image"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("name"),
@@ -675,9 +681,9 @@ fn lexicon_doc_eu_atchef_recipe() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the recipe was last updated",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the recipe was last updated"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -693,4 +699,4 @@ fn lexicon_doc_eu_atchef_recipe() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal.rs b/crates/jacquard-api/src/events_smokesignal.rs
index 54051d508..716244a1a 100644
--- a/crates/jacquard-api/src/events_smokesignal.rs
+++ b/crates/jacquard-api/src/events_smokesignal.rs
@@ -7,4 +7,4 @@
 pub mod calendar;
 pub mod event;
 pub mod lfg;
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal/calendar.rs b/crates/jacquard-api/src/events_smokesignal/calendar.rs
index 9ad89c960..5223c3cbe 100644
--- a/crates/jacquard-api/src/events_smokesignal/calendar.rs
+++ b/crates/jacquard-api/src/events_smokesignal/calendar.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `events.smokesignal.calendar` Lexicon namespace/module.
 pub mod acceptance;
-pub mod event_configuration;
+pub mod event_configuration;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal/calendar/acceptance.rs b/crates/jacquard-api/src/events_smokesignal/calendar/acceptance.rs
index 9e11f25f6..127692808 100644
--- a/crates/jacquard-api/src/events_smokesignal/calendar/acceptance.rs
+++ b/crates/jacquard-api/src/events_smokesignal/calendar/acceptance.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A cryptographic proof record that contains RSVP acceptance data.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Acceptance {
 
 pub mod acceptance_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -209,7 +209,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Acceptance {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Acceptance {
         Acceptance {
             cid: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -218,10 +221,10 @@ where
 }
 
 fn lexicon_doc_events_smokesignal_calendar_acceptance() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("events.smokesignal.calendar.acceptance"),
@@ -264,4 +267,4 @@ fn lexicon_doc_events_smokesignal_calendar_acceptance() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal/calendar/event_configuration.rs b/crates/jacquard-api/src/events_smokesignal/calendar/event_configuration.rs
index e31ffd058..0710428f9 100644
--- a/crates/jacquard-api/src/events_smokesignal/calendar/event_configuration.rs
+++ b/crates/jacquard-api/src/events_smokesignal/calendar/event_configuration.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Configuration settings for a Smoke Signal event, controlling RSVP behavior and access requirements.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -121,7 +121,7 @@ impl LexiconSchema for EventConfiguration {
 
 pub mod event_configuration_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -139,7 +139,10 @@ pub mod event_configuration_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EventConfigurationBuilder {
+pub struct EventConfigurationBuilder<
+    St: event_configuration_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -147,7 +150,10 @@ pub struct EventConfigurationBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> EventConfigurationBuilder {
+    pub fn new() -> EventConfigurationBuilder<
+        event_configuration_state::Empty,
+        DefaultStr,
+    > {
         EventConfigurationBuilder::new()
     }
 }
@@ -234,7 +240,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EventConfiguration {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EventConfiguration {
         EventConfiguration {
             disable_direct_rsvp: self._fields.0,
             require_confirmed_email: self._fields.1,
@@ -245,10 +254,10 @@ where
 }
 
 fn lexicon_doc_events_smokesignal_calendar_eventConfiguration() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("events.smokesignal.calendar.eventConfiguration"),
@@ -303,4 +312,4 @@ fn lexicon_doc_events_smokesignal_calendar_eventConfiguration() -> LexiconDoc<'s
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal/event.rs b/crates/jacquard-api/src/events_smokesignal/event.rs
index 9717bda4b..a68f95d6e 100644
--- a/crates/jacquard-api/src/events_smokesignal/event.rs
+++ b/crates/jacquard-api/src/events_smokesignal/event.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `events.smokesignal.event` Lexicon namespace/module.
-pub mod configure;
+pub mod configure;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal/event/configure.rs b/crates/jacquard-api/src/events_smokesignal/event/configure.rs
index 01e96c5ab..2f905d122 100644
--- a/crates/jacquard-api/src/events_smokesignal/event/configure.rs
+++ b/crates/jacquard-api/src/events_smokesignal/event/configure.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{AtUri, UriValue};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Configure {
     ///When true, the RSVP button redirects to an external ticketing URL instead of creating a direct RSVP.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -38,19 +35,26 @@ pub struct Configure {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ConfigureOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ConfigureError {
     /// The specified event does not exist.
@@ -64,10 +68,7 @@ pub enum ConfigureError {
     InvalidRedirectUrl(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ConfigureError {
@@ -118,8 +119,9 @@ impl jacquard_common::xrpc::XrpcResp for ConfigureResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Configure {
     const NSID: &'static str = "events.smokesignal.event.configure";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ConfigureResponse;
 }
 
@@ -129,15 +131,16 @@ Path: `/xrpc/events.smokesignal.event.configure`. The request payload type is `C
 pub struct ConfigureRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ConfigureRequest {
     const PATH: &'static str = "/xrpc/events.smokesignal.event.configure";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Configure;
     type Response = ConfigureResponse;
 }
 
 pub mod configure_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,12 +173,7 @@ pub mod configure_state {
 /// Builder for constructing an instance of this type.
 pub struct ConfigureBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -289,7 +287,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Configure {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Configure {
         Configure {
             disable_direct_rsvp: self._fields.0,
             event: self._fields.1.unwrap(),
@@ -298,4 +299,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal/lfg.rs b/crates/jacquard-api/src/events_smokesignal/lfg.rs
index 971daf3d2..69ad8ca05 100644
--- a/crates/jacquard-api/src/events_smokesignal/lfg.rs
+++ b/crates/jacquard-api/src/events_smokesignal/lfg.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A Looking For Group record that broadcasts interest in finding activity partners within a geographic area.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -53,6 +53,7 @@ pub struct Lfg {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -140,7 +141,7 @@ impl LexiconSchema for Lfg {
 
 pub mod lfg_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -306,7 +307,10 @@ where
     St::Active: lfg_state::IsUnset,
 {
     /// Set the `active` field (required)
-    pub fn active(mut self, value: impl Into) -> LfgBuilder, S> {
+    pub fn active(
+        mut self,
+        value: impl Into,
+    ) -> LfgBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         LfgBuilder {
             _state: PhantomData,
@@ -398,7 +402,10 @@ where
     St::Tags: lfg_state::IsUnset,
 {
     /// Set the `tags` field (required)
-    pub fn tags(mut self, value: impl Into>) -> LfgBuilder, S> {
+    pub fn tags(
+        mut self,
+        value: impl Into>,
+    ) -> LfgBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         LfgBuilder {
             _state: PhantomData,
@@ -445,10 +452,10 @@ where
 }
 
 fn lexicon_doc_events_smokesignal_lfg() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("events.smokesignal.lfg"),
@@ -559,4 +566,4 @@ fn lexicon_doc_events_smokesignal_lfg() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/events_smokesignal/profile.rs b/crates/jacquard-api/src/events_smokesignal/profile.rs
index 958a1b532..fd16897f2 100644
--- a/crates/jacquard-api/src/events_smokesignal/profile.rs
+++ b/crates/jacquard-api/src/events_smokesignal/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
 /// Indicates the identity is available for hire
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -157,7 +157,9 @@ where
     fn into_static(self) -> Self::Output {
         match self {
             ProfileProfileHost::BskyApp => ProfileProfileHost::BskyApp,
-            ProfileProfileHost::BlackskyCommunity => ProfileProfileHost::BlackskyCommunity,
+            ProfileProfileHost::BlackskyCommunity => {
+                ProfileProfileHost::BlackskyCommunity
+            }
             ProfileProfileHost::Aturi => ProfileProfileHost::Aturi,
             ProfileProfileHost::Other(v) => ProfileProfileHost::Other(v.into_static()),
         }
@@ -235,20 +237,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -270,20 +277,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -361,7 +373,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -495,7 +507,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `profileHost` field (optional)
-    pub fn profile_host(mut self, value: impl Into>>) -> Self {
+    pub fn profile_host(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -537,10 +552,10 @@ where
 }
 
 fn lexicon_doc_events_smokesignal_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("events.smokesignal.profile"),
@@ -548,15 +563,11 @@ fn lexicon_doc_events_smokesignal_profile() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("forhire"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("hiring"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
@@ -638,4 +649,4 @@ fn lexicon_doc_events_smokesignal_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal.rs b/crates/jacquard-api/src/fm_teal.rs
index d8fb26a38..2c4f083b9 100644
--- a/crates/jacquard-api/src/fm_teal.rs
+++ b/crates/jacquard-api/src/fm_teal.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `fm.teal` Lexicon namespace/module.
-pub mod alpha;
+pub mod alpha;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha.rs b/crates/jacquard-api/src/fm_teal/alpha.rs
index 94f773d99..8df04046f 100644
--- a/crates/jacquard-api/src/fm_teal/alpha.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `fm.teal.alpha` Lexicon namespace/module.
 pub mod actor;
 pub mod feed;
-pub mod stats;
+pub mod stats;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/actor.rs b/crates/jacquard-api/src/fm_teal/alpha/actor.rs
index 690e00c5b..bdbeb268e 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/actor.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/actor.rs
@@ -13,9 +13,10 @@ pub mod profile_status;
 pub mod search_actors;
 pub mod status;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,19 +27,16 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::Facet;
-use crate::fm_teal::alpha::actor;
 use crate::fm_teal::alpha::actor::profile::FeaturedItem;
 use crate::fm_teal::alpha::feed::PlayView;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::fm_teal::alpha::actor;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MiniProfileView {
     ///IPLD of the avatar
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -54,11 +52,9 @@ pub struct MiniProfileView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileView {
     ///IPLD of the avatar
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -91,10 +87,7 @@ pub struct ProfileView {
 /// A declaration of the status of the actor.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StatusView {
     ///The unix timestamp of the expiry time of the item. If unavailable, default to 10 minutes past the start time.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -154,10 +147,10 @@ impl LexiconSchema for StatusView {
 }
 
 fn lexicon_doc_fm_teal_alpha_actor_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fm.teal.alpha.actor.defs"),
@@ -179,23 +172,21 @@ fn lexicon_doc_fm_teal_alpha_actor_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The decentralized identifier of the actor",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The decentralized identifier of the actor",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("displayName"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("handle"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -342,4 +333,4 @@ fn lexicon_doc_fm_teal_alpha_actor_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/actor/get_profile.rs b/crates/jacquard-api/src/fm_teal/alpha/actor/get_profile.rs
index bee067a84..c48fbe19d 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/actor/get_profile.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/actor/get_profile.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::actor::ProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::actor::ProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfile {
     pub actor: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileOutput {
     pub actor: ProfileView,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest {
 
 pub mod get_profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -171,4 +166,4 @@ where
             actor: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/actor/get_profiles.rs b/crates/jacquard-api/src/fm_teal/alpha/actor/get_profiles.rs
index 5b2343c21..412e6766d 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/actor/get_profiles.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/actor/get_profiles.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::actor::MiniProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::actor::MiniProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfiles {
     pub actors: Vec>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfilesOutput {
     pub actors: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfilesRequest {
 
 pub mod get_profiles_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -171,4 +166,4 @@ where
             actors: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/actor/profile.rs b/crates/jacquard-api/src/fm_teal/alpha/actor/profile.rs
index d8fbe3717..1936d5008 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/actor/profile.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::fm_teal::alpha::actor::profile;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::fm_teal::alpha::actor::profile;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FeaturedItem {
     ///The MusicBrainz ID URI of the item, formatted as mbid:
     pub mbid: UriValue,
@@ -164,20 +161,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -199,20 +201,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -268,7 +275,7 @@ impl LexiconSchema for Profile {
 
 pub mod featured_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -406,7 +413,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> FeaturedItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> FeaturedItem {
         FeaturedItem {
             mbid: self._fields.0.unwrap(),
             r#type: self._fields.1.unwrap(),
@@ -416,10 +426,10 @@ where
 }
 
 fn lexicon_doc_fm_teal_alpha_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fm.teal.alpha.actor.profile"),
@@ -546,7 +556,7 @@ fn lexicon_doc_fm_teal_alpha_actor_profile() -> LexiconDoc<'static> {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -668,7 +678,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -694,12 +707,18 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `featuredItem` field (optional)
-    pub fn featured_item(mut self, value: impl Into>>) -> Self {
+    pub fn featured_item(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
     /// Set the `featuredItem` field to an Option value (optional)
-    pub fn maybe_featured_item(mut self, value: Option>) -> Self {
+    pub fn maybe_featured_item(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.6 = value;
         self
     }
@@ -735,4 +754,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/actor/profile_status.rs b/crates/jacquard-api/src/fm_teal/alpha/actor/profile_status.rs
index 1fcd8991c..ea4f1637a 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/actor/profile_status.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/actor/profile_status.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// This lexicon is in a not officially released state. It is subject to change. | A declaration of the profile status of the actor.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -103,7 +103,8 @@ impl Serialize for ProfileStatusCompletedOnboarding {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ProfileStatusCompletedOnboarding {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ProfileStatusCompletedOnboarding {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -127,7 +128,9 @@ where
     type Output = ProfileStatusCompletedOnboarding;
     fn into_static(self) -> Self::Output {
         match self {
-            ProfileStatusCompletedOnboarding::None => ProfileStatusCompletedOnboarding::None,
+            ProfileStatusCompletedOnboarding::None => {
+                ProfileStatusCompletedOnboarding::None
+            }
             ProfileStatusCompletedOnboarding::ProfileOnboarding => {
                 ProfileStatusCompletedOnboarding::ProfileOnboarding
             }
@@ -205,7 +208,7 @@ impl LexiconSchema for ProfileStatus {
 
 pub mod profile_status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -236,7 +239,10 @@ pub mod profile_status_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ProfileStatusBuilder {
+pub struct ProfileStatusBuilder<
+    St: profile_status_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -342,7 +348,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileStatus {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileStatus {
         ProfileStatus {
             completed_onboarding: self._fields.0.unwrap(),
             created_at: self._fields.1,
@@ -353,10 +362,10 @@ where
 }
 
 fn lexicon_doc_fm_teal_alpha_actor_profileStatus() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fm.teal.alpha.actor.profileStatus"),
@@ -420,4 +429,4 @@ fn lexicon_doc_fm_teal_alpha_actor_profileStatus() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/actor/search_actors.rs b/crates/jacquard-api/src/fm_teal/alpha/actor/search_actors.rs
index 7306372c5..8328c6c4c 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/actor/search_actors.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/actor/search_actors.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::actor::MiniProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::actor::MiniProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActors {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -31,11 +28,9 @@ pub struct SearchActors {
     pub q: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActorsOutput {
     pub actors: Vec>,
     ///Cursor for pagination
@@ -75,7 +70,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for SearchActorsRequest {
 
 pub mod search_actors_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -206,4 +201,4 @@ where
             q: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/actor/status.rs b/crates/jacquard-api/src/fm_teal/alpha/actor/status.rs
index 151a72c3c..67e4689ae 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/actor/status.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/actor/status.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fm_teal::alpha::feed::PlayView;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::feed::PlayView;
 /// This lexicon is in a not officially released state. It is subject to change. | A declaration of the status of the actor. Only one can be shown at a time. If there are multiple, the latest record should be picked and earlier records should be deleted or tombstoned.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -109,7 +109,7 @@ impl LexiconSchema for Status {
 
 pub mod status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -272,10 +272,10 @@ where
 }
 
 fn lexicon_doc_fm_teal_alpha_actor_status() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fm.teal.alpha.actor.status"),
@@ -343,4 +343,4 @@ fn lexicon_doc_fm_teal_alpha_actor_status() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/feed.rs b/crates/jacquard-api/src/fm_teal/alpha/feed.rs
index db46794c1..484c6966c 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/feed.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/feed.rs
@@ -10,12 +10,13 @@ pub mod get_actor_feed;
 pub mod get_play;
 pub mod play;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,16 +27,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fm_teal::alpha::feed;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::feed;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Artist {
     ///The MusicBrainz artist ID URI, formatted as mbid:
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -46,11 +44,9 @@ pub struct Artist {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlayView {
     ///Array of artists in order of original appearance.
     pub artists: Vec>,
@@ -235,10 +231,10 @@ impl LexiconSchema for PlayView {
 }
 
 fn lexicon_doc_fm_teal_alpha_feed_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fm.teal.alpha.feed.defs"),
@@ -254,9 +250,11 @@ fn lexicon_doc_fm_teal_alpha_feed_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("artistMbId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The MusicBrainz artist ID URI, formatted as mbid:",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The MusicBrainz artist ID URI, formatted as mbid:",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -264,7 +262,9 @@ fn lexicon_doc_fm_teal_alpha_feed_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("artistName"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The name of the artist")),
+                                description: Some(
+                                    CowStr::new_static("The name of the artist"),
+                                ),
                                 min_length: Some(1usize),
                                 max_length: Some(256usize),
                                 max_graphemes: Some(2560usize),
@@ -437,7 +437,7 @@ fn lexicon_doc_fm_teal_alpha_feed_defs() -> LexiconDoc<'static> {
 
 pub mod play_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -519,7 +519,18 @@ impl PlayViewBuilder {
         PlayViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -532,7 +543,18 @@ impl PlayViewBuilder {
         PlayViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -749,4 +771,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/feed/get_actor_feed.rs b/crates/jacquard-api/src/fm_teal/alpha/feed/get_actor_feed.rs
index fe951026c..d7432e232 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/feed/get_actor_feed.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/feed/get_actor_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::feed::PlayView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::feed::PlayView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorFeed {
     pub author_did: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -31,11 +28,9 @@ pub struct GetActorFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorFeedOutput {
     pub plays: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -72,7 +67,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetActorFeedRequest {
 
 pub mod get_actor_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -203,4 +198,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/feed/get_play.rs b/crates/jacquard-api/src/fm_teal/alpha/feed/get_play.rs
index e998fa1e6..68965d016 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/feed/get_play.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/feed/get_play.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::feed::PlayView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::feed::PlayView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPlay {
     pub author_did: AtIdentifier,
     pub rkey: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPlayOutput {
     pub play: PlayView,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPlayRequest {
 
 pub mod get_play_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -179,7 +174,10 @@ where
     St::Rkey: get_play_state::IsUnset,
 {
     /// Set the `rkey` field (required)
-    pub fn rkey(mut self, value: impl Into) -> GetPlayBuilder, S> {
+    pub fn rkey(
+        mut self,
+        value: impl Into,
+    ) -> GetPlayBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         GetPlayBuilder {
             _state: PhantomData,
@@ -202,4 +200,4 @@ where
             rkey: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/feed/play.rs b/crates/jacquard-api/src/fm_teal/alpha/feed/play.rs
index ca08ad983..164fc35e7 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/feed/play.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/feed/play.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fm_teal::alpha::feed::Artist;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::feed::Artist;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -272,7 +272,7 @@ impl LexiconSchema for Play {
 
 pub mod play_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -346,8 +346,22 @@ impl PlayBuilder {
         PlayBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -360,8 +374,22 @@ impl PlayBuilder {
         PlayBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -634,10 +662,10 @@ where
 }
 
 fn lexicon_doc_fm_teal_alpha_feed_play() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fm.teal.alpha.feed.play"),
@@ -856,4 +884,4 @@ fn lexicon_doc_fm_teal_alpha_feed_play() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/stats.rs b/crates/jacquard-api/src/fm_teal/alpha/stats.rs
index 5f275b1d0..bf5521d5f 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/stats.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/stats.rs
@@ -12,9 +12,10 @@ pub mod get_top_releases;
 pub mod get_user_top_artists;
 pub mod get_user_top_releases;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,13 +28,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ArtistView {
     ///MusicBrainz artist ID URI, formatted as mbid:
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -48,11 +46,9 @@ pub struct ArtistView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RecordingView {
     ///MusicBrainz recording ID URI, formatted as mbid:
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -67,11 +63,9 @@ pub struct RecordingView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReleaseView {
     ///MusicBrainz release ID URI, formatted as mbid:
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -132,10 +126,10 @@ impl LexiconSchema for ReleaseView {
 }
 
 fn lexicon_doc_fm_teal_alpha_stats_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fm.teal.alpha.stats.defs"),
@@ -150,9 +144,11 @@ fn lexicon_doc_fm_teal_alpha_stats_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("mbid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "MusicBrainz artist ID URI, formatted as mbid:",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "MusicBrainz artist ID URI, formatted as mbid:",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -184,9 +180,11 @@ fn lexicon_doc_fm_teal_alpha_stats_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("mbid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "MusicBrainz recording ID URI, formatted as mbid:",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "MusicBrainz recording ID URI, formatted as mbid:",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -194,7 +192,9 @@ fn lexicon_doc_fm_teal_alpha_stats_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Recording/track name")),
+                                description: Some(
+                                    CowStr::new_static("Recording/track name"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -218,9 +218,11 @@ fn lexicon_doc_fm_teal_alpha_stats_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("mbid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "MusicBrainz release ID URI, formatted as mbid:",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "MusicBrainz release ID URI, formatted as mbid:",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -247,4 +249,4 @@ fn lexicon_doc_fm_teal_alpha_stats_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/stats/get_latest.rs b/crates/jacquard-api/src/fm_teal/alpha/stats/get_latest.rs
index 14132473f..a642c351e 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/stats/get_latest.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/stats/get_latest.rs
@@ -8,14 +8,14 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::feed::PlayView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::feed::PlayView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -26,11 +26,9 @@ pub struct GetLatest {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLatestOutput {
     pub plays: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -71,7 +69,7 @@ fn _default_limit() -> Option {
 
 pub mod get_latest_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -140,8 +138,6 @@ where
 {
     /// Build the final struct.
     pub fn build(self) -> GetLatest {
-        GetLatest {
-            limit: self._fields.0,
-        }
+        GetLatest { limit: self._fields.0 }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_artists.rs b/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_artists.rs
index 04fcd9b2b..5bae047f9 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_artists.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_artists.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::stats::ArtistView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::stats::ArtistView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTopArtists {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -35,11 +32,9 @@ pub struct GetTopArtists {
     pub period: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTopArtistsOutput {
     pub artists: Vec>,
     ///Next page cursor
@@ -87,7 +82,7 @@ fn _default_period() -> Option {
 
 pub mod get_top_artists_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -105,7 +100,10 @@ pub mod get_top_artists_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetTopArtistsBuilder {
+pub struct GetTopArtistsBuilder<
+    St: get_top_artists_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -198,4 +196,4 @@ where
             period: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_releases.rs b/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_releases.rs
index 75daf3554..ee7391723 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_releases.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/stats/get_top_releases.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::stats::ReleaseView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::stats::ReleaseView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTopReleases {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -35,11 +32,9 @@ pub struct GetTopReleases {
     pub period: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTopReleasesOutput {
     ///Next page cursor
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -87,7 +82,7 @@ fn _default_period() -> Option {
 
 pub mod get_top_releases_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -105,7 +100,10 @@ pub mod get_top_releases_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetTopReleasesBuilder {
+pub struct GetTopReleasesBuilder<
+    St: get_top_releases_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -198,4 +196,4 @@ where
             period: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_artists.rs b/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_artists.rs
index 3965b31b9..76ab13745 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_artists.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_artists.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::stats::ArtistView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::stats::ArtistView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUserTopArtists {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -37,11 +34,9 @@ pub struct GetUserTopArtists {
     pub period: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUserTopArtistsOutput {
     pub artists: Vec>,
     ///Next page cursor
@@ -89,7 +84,7 @@ fn _default_period() -> Option {
 
 pub mod get_user_top_artists_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -120,7 +115,10 @@ pub mod get_user_top_artists_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetUserTopArtistsBuilder {
+pub struct GetUserTopArtistsBuilder<
+    St: get_user_top_artists_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
@@ -128,7 +126,10 @@ pub struct GetUserTopArtistsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetUserTopArtistsBuilder {
+    pub fn new() -> GetUserTopArtistsBuilder<
+        get_user_top_artists_state::Empty,
+        DefaultStr,
+    > {
         GetUserTopArtistsBuilder::new()
     }
 }
@@ -234,4 +235,4 @@ where
             period: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_releases.rs b/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_releases.rs
index bc905be94..3ae20ad51 100644
--- a/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_releases.rs
+++ b/crates/jacquard-api/src/fm_teal/alpha/stats/get_user_top_releases.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::fm_teal::alpha::stats::ReleaseView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fm_teal::alpha::stats::ReleaseView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUserTopReleases {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -37,11 +34,9 @@ pub struct GetUserTopReleases {
     pub period: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUserTopReleasesOutput {
     ///Next page cursor
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -89,7 +84,7 @@ fn _default_period() -> Option {
 
 pub mod get_user_top_releases_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -120,8 +115,10 @@ pub mod get_user_top_releases_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetUserTopReleasesBuilder
-{
+pub struct GetUserTopReleasesBuilder<
+    St: get_user_top_releases_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
@@ -129,14 +126,20 @@ pub struct GetUserTopReleasesBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetUserTopReleasesBuilder {
+    pub fn new() -> GetUserTopReleasesBuilder<
+        get_user_top_releases_state::Empty,
+        DefaultStr,
+    > {
         GetUserTopReleasesBuilder::new()
     }
 }
 
 impl GetUserTopReleases {
     /// Create a new builder for this type
-    pub fn builder() -> GetUserTopReleasesBuilder {
+    pub fn builder() -> GetUserTopReleasesBuilder<
+        get_user_top_releases_state::Empty,
+        S,
+    > {
         GetUserTopReleasesBuilder::builder()
     }
 }
@@ -182,7 +185,10 @@ where
     }
 }
 
-impl GetUserTopReleasesBuilder {
+impl<
+    St: get_user_top_releases_state::State,
+    S: BosStr,
+> GetUserTopReleasesBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -195,7 +201,10 @@ impl GetUserTopReleasesBuilde
     }
 }
 
-impl GetUserTopReleasesBuilder {
+impl<
+    St: get_user_top_releases_state::State,
+    S: BosStr,
+> GetUserTopReleasesBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -208,7 +217,10 @@ impl GetUserTopReleasesBuilde
     }
 }
 
-impl GetUserTopReleasesBuilder {
+impl<
+    St: get_user_top_releases_state::State,
+    S: BosStr,
+> GetUserTopReleasesBuilder {
     /// Set the `period` field (optional)
     pub fn period(mut self, value: impl Into>) -> Self {
         self._fields.3 = value.into();
@@ -235,4 +247,4 @@ where
             period: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage.rs b/crates/jacquard-api/src/fyi_frontpage.rs
index 851ebc7f4..4c6b4dc04 100644
--- a/crates/jacquard-api/src/fyi_frontpage.rs
+++ b/crates/jacquard-api/src/fyi_frontpage.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `fyi.frontpage` Lexicon namespace/module.
 pub mod feed;
-pub mod richtext;
+pub mod richtext;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/feed.rs b/crates/jacquard-api/src/fyi_frontpage/feed.rs
index 0704a8da8..467b48a7e 100644
--- a/crates/jacquard-api/src/fyi_frontpage/feed.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/feed.rs
@@ -9,4 +9,4 @@ pub mod describe_feed_generator;
 pub mod generator;
 pub mod get_feed_skeleton;
 pub mod post;
-pub mod vote;
+pub mod vote;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/feed/comment.rs b/crates/jacquard-api/src/fyi_frontpage/feed/comment.rs
index 95b921815..f1fe0dfd4 100644
--- a/crates/jacquard-api/src/fyi_frontpage/feed/comment.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/feed/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::fyi_frontpage::richtext::block::Block;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::fyi_frontpage::richtext::block::Block;
 /// Record containing a Frontpage comment.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -122,7 +122,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -326,10 +326,10 @@ where
 }
 
 fn lexicon_doc_fyi_frontpage_feed_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.frontpage.feed.comment"),
@@ -405,4 +405,4 @@ fn lexicon_doc_fyi_frontpage_feed_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/feed/describe_feed_generator.rs b/crates/jacquard-api/src/fyi_frontpage/feed/describe_feed_generator.rs
index 05c00d85f..6c00ed9f9 100644
--- a/crates/jacquard-api/src/fyi_frontpage/feed/describe_feed_generator.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/feed/describe_feed_generator.rs
@@ -10,38 +10,33 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_frontpage::feed::describe_feed_generator;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_frontpage::feed::describe_feed_generator;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Feed {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Links {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub privacy_policy: Option,
@@ -51,11 +46,9 @@ pub struct Links {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeFeedGeneratorOutput {
     pub did: Did,
     pub feeds: Vec>,
@@ -131,7 +124,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeFeedGeneratorRequest {
 
 pub mod feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -210,7 +203,10 @@ where
     St::Uri: feed_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> FeedBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> FeedBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         FeedBuilder {
             _state: PhantomData,
@@ -242,10 +238,10 @@ where
 }
 
 fn lexicon_doc_fyi_frontpage_feed_describeFeedGenerator() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.frontpage.feed.describeFeedGenerator"),
@@ -278,15 +274,11 @@ fn lexicon_doc_fyi_frontpage_feed_describeFeedGenerator() -> LexiconDoc<'static>
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("privacyPolicy"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("termsOfService"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -304,4 +296,4 @@ fn lexicon_doc_fyi_frontpage_feed_describeFeedGenerator() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/feed/generator.rs b/crates/jacquard-api/src/fyi_frontpage/feed/generator.rs
index 8648e15a9..b8131e4a5 100644
--- a/crates/jacquard-api/src/fyi_frontpage/feed/generator.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/feed/generator.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a feed generator. The did field points to the service that runs the feed algorithm.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -128,20 +128,25 @@ impl LexiconSchema for Generator {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -199,7 +204,7 @@ impl LexiconSchema for Generator {
 
 pub mod generator_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -421,7 +426,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Generator {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Generator {
         Generator {
             accepts_interactions: self._fields.0,
             avatar: self._fields.1,
@@ -435,10 +443,10 @@ where
 }
 
 fn lexicon_doc_fyi_frontpage_feed_generator() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.frontpage.feed.generator"),
@@ -529,4 +537,4 @@ fn lexicon_doc_fyi_frontpage_feed_generator() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/feed/get_feed_skeleton.rs b/crates/jacquard-api/src/fyi_frontpage/feed/get_feed_skeleton.rs
index 762fdc4d9..b123441e3 100644
--- a/crates/jacquard-api/src/fyi_frontpage/feed/get_feed_skeleton.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/feed/get_feed_skeleton.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_frontpage::feed::get_feed_skeleton;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_frontpage::feed::get_feed_skeleton;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFeedSkeleton {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -41,11 +38,9 @@ pub struct GetFeedSkeleton {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFeedSkeletonOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -54,19 +49,25 @@ pub struct GetFeedSkeletonOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetFeedSkeletonError {
     #[serde(rename = "UnknownFeed")]
     UnknownFeed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetFeedSkeletonError {
@@ -90,11 +91,9 @@ impl core::fmt::Display for GetFeedSkeletonError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SkeletonFeedPost {
     ///AT URI of the post.
     pub post: AtUri,
@@ -151,7 +150,7 @@ fn _default_limit() -> Option {
 
 pub mod get_feed_skeleton_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -182,7 +181,10 @@ pub mod get_feed_skeleton_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetFeedSkeletonBuilder {
+pub struct GetFeedSkeletonBuilder<
+    St: get_feed_skeleton_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option),
     _type: PhantomData S>,
@@ -286,7 +288,7 @@ where
 
 pub mod skeleton_feed_post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -317,7 +319,10 @@ pub mod skeleton_feed_post_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SkeletonFeedPostBuilder {
+pub struct SkeletonFeedPostBuilder<
+    St: skeleton_feed_post_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -325,7 +330,10 @@ pub struct SkeletonFeedPostBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SkeletonFeedPostBuilder {
+    pub fn new() -> SkeletonFeedPostBuilder<
+        skeleton_feed_post_state::Empty,
+        DefaultStr,
+    > {
         SkeletonFeedPostBuilder::new()
     }
 }
@@ -391,7 +399,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SkeletonFeedPost {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SkeletonFeedPost {
         SkeletonFeedPost {
             post: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -400,10 +411,10 @@ where
 }
 
 fn lexicon_doc_fyi_frontpage_feed_getFeedSkeleton() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.frontpage.feed.getFeedSkeleton"),
@@ -412,38 +423,40 @@ fn lexicon_doc_fyi_frontpage_feed_getFeedSkeleton() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("feed")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor.")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("feed"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT URI of the feed generator record.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("feed")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor.")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("feed"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("AT URI of the feed generator record."),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -457,7 +470,9 @@ fn lexicon_doc_fyi_frontpage_feed_getFeedSkeleton() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("post"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("AT URI of the post.")),
+                                description: Some(
+                                    CowStr::new_static("AT URI of the post."),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -471,4 +486,4 @@ fn lexicon_doc_fyi_frontpage_feed_getFeedSkeleton() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/feed/post.rs b/crates/jacquard-api/src/fyi_frontpage/feed/post.rs
index f06182c19..432eea872 100644
--- a/crates/jacquard-api/src/fyi_frontpage/feed/post.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/feed/post.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_frontpage::feed::post;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_frontpage::feed::post;
 /// Record containing a Frontpage post.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -59,11 +59,9 @@ pub struct PostGetRecordOutput {
     pub value: Post,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UrlSubject {
     pub url: UriValue,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -159,7 +157,7 @@ impl LexiconSchema for UrlSubject {
 
 pub mod post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -302,7 +300,10 @@ where
     St::Title: post_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> PostBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> PostBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -340,10 +341,10 @@ where
 }
 
 fn lexicon_doc_fyi_frontpage_feed_post() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.frontpage.feed.post"),
@@ -436,7 +437,7 @@ fn lexicon_doc_fyi_frontpage_feed_post() -> LexiconDoc<'static> {
 
 pub mod url_subject_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -541,10 +542,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UrlSubject {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UrlSubject {
         UrlSubject {
             url: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/feed/vote.rs b/crates/jacquard-api/src/fyi_frontpage/feed/vote.rs
index 218f1abd1..5d0d24c09 100644
--- a/crates/jacquard-api/src/fyi_frontpage/feed/vote.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/feed/vote.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record containing a Frontpage vote.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Vote {
 
 pub mod vote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_fyi_frontpage_feed_vote() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.frontpage.feed.vote"),
@@ -311,4 +311,4 @@ fn lexicon_doc_fyi_frontpage_feed_vote() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/richtext.rs b/crates/jacquard-api/src/fyi_frontpage/richtext.rs
index fe2088bdb..f30f5bdf9 100644
--- a/crates/jacquard-api/src/fyi_frontpage/richtext.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/richtext.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `fyi.frontpage.richtext` Lexicon namespace/module.
-pub mod block;
+pub mod block;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_frontpage/richtext/block.rs b/crates/jacquard-api/src/fyi_frontpage/richtext/block.rs
index 05bd2ac4e..3fe6caa57 100644
--- a/crates/jacquard-api/src/fyi_frontpage/richtext/block.rs
+++ b/crates/jacquard-api/src/fyi_frontpage/richtext/block.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,27 +20,22 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_frontpage::richtext::block;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_frontpage::richtext::block;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Block {
     pub content: block::PlaintextParagraph,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlaintextParagraph {
     pub text: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -103,7 +98,7 @@ impl LexiconSchema for PlaintextParagraph {
 
 pub mod block_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,10 +212,10 @@ where
 }
 
 fn lexicon_doc_fyi_frontpage_richtext_block() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.frontpage.richtext.block"),
@@ -269,4 +264,4 @@ fn lexicon_doc_fyi_frontpage_richtext_block() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable.rs b/crates/jacquard-api/src/fyi_questionable.rs
index aefd1f306..b9c47e3ad 100644
--- a/crates/jacquard-api/src/fyi_questionable.rs
+++ b/crates/jacquard-api/src/fyi_questionable.rs
@@ -8,4 +8,4 @@ pub mod actor;
 pub mod answer;
 pub mod question;
 pub mod richtext;
-pub mod selected_answer;
+pub mod selected_answer;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/actor.rs b/crates/jacquard-api/src/fyi_questionable/actor.rs
index cbb60acb5..e16a57dc8 100644
--- a/crates/jacquard-api/src/fyi_questionable/actor.rs
+++ b/crates/jacquard-api/src/fyi_questionable/actor.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `fyi.questionable.actor` Lexicon namespace/module.
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/actor/profile.rs b/crates/jacquard-api/src/fyi_questionable/actor/profile.rs
index c06a8c912..b690d110a 100644
--- a/crates/jacquard-api/src/fyi_questionable/actor/profile.rs
+++ b/crates/jacquard-api/src/fyi_questionable/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A declaration of a Questionable account profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -152,7 +152,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -276,10 +276,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.actor.profile"),
@@ -288,9 +288,11 @@ fn lexicon_doc_fyi_questionable_actor_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A declaration of a Questionable account profile.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A declaration of a Questionable account profile.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -330,4 +332,4 @@ fn lexicon_doc_fyi_questionable_actor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/answer.rs b/crates/jacquard-api/src/fyi_questionable/answer.rs
index 3c0781f2c..c83267ab8 100644
--- a/crates/jacquard-api/src/fyi_questionable/answer.rs
+++ b/crates/jacquard-api/src/fyi_questionable/answer.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::fyi_questionable::richtext::content::Content;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::fyi_questionable::richtext::content::Content;
 /// A proposed answer to a question
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -120,7 +120,7 @@ impl LexiconSchema for Answer {
 
 pub mod answer_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -324,10 +324,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_answer() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.answer"),
@@ -336,21 +336,27 @@ fn lexicon_doc_fyi_questionable_answer() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A proposed answer to a question")),
+                    description: Some(
+                        CowStr::new_static("A proposed answer to a question"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("question"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("question"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("content"),
                                 LexObjectProperty::Ref(LexRef {
-                                    r#ref: CowStr::new_static("fyi.questionable.richtext.content"),
+                                    r#ref: CowStr::new_static(
+                                        "fyi.questionable.richtext.content",
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -390,4 +396,4 @@ fn lexicon_doc_fyi_questionable_answer() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/question.rs b/crates/jacquard-api/src/fyi_questionable/question.rs
index 98d006016..7366076bb 100644
--- a/crates/jacquard-api/src/fyi_questionable/question.rs
+++ b/crates/jacquard-api/src/fyi_questionable/question.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::fyi_questionable::richtext::content::Content;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::fyi_questionable::richtext::content::Content;
 /// A question asked on questionable.fyi
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -159,7 +159,7 @@ impl LexiconSchema for Question {
 
 pub mod question_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -379,10 +379,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_question() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.question"),
@@ -391,21 +391,27 @@ fn lexicon_doc_fyi_questionable_question() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A question asked on questionable.fyi")),
+                    description: Some(
+                        CowStr::new_static("A question asked on questionable.fyi"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("summary"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("summary"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("content"),
                                 LexObjectProperty::Ref(LexRef {
-                                    r#ref: CowStr::new_static("fyi.questionable.richtext.content"),
+                                    r#ref: CowStr::new_static(
+                                        "fyi.questionable.richtext.content",
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -426,9 +432,11 @@ fn lexicon_doc_fyi_questionable_question() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("languages"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Indicates human language of the primary text content.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Indicates human language of the primary text content.",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         format: Some(LexStringFormat::Language),
                                         ..Default::default()
@@ -440,9 +448,9 @@ fn lexicon_doc_fyi_questionable_question() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("summary"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A short summary of the question",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("A short summary of the question"),
+                                    ),
                                     min_length: Some(1usize),
                                     max_length: Some(3000usize),
                                     max_graphemes: Some(300usize),
@@ -460,4 +468,4 @@ fn lexicon_doc_fyi_questionable_question() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext.rs b/crates/jacquard-api/src/fyi_questionable/richtext.rs
index 4b1696a3b..f5c2af7de 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext.rs
@@ -15,4 +15,4 @@ pub mod image;
 pub mod list;
 pub mod math;
 pub mod text;
-pub mod website;
+pub mod website;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/blockquote.rs b/crates/jacquard-api/src/fyi_questionable/richtext/blockquote.rs
index 5b0f207d9..64318097c 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/blockquote.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/blockquote.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_questionable::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_questionable::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Blockquote {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -51,10 +48,10 @@ impl LexiconSchema for Blockquote {
 }
 
 fn lexicon_doc_fyi_questionable_richtext_blockquote() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.blockquote"),
@@ -71,7 +68,9 @@ fn lexicon_doc_fyi_questionable_richtext_blockquote() -> LexiconDoc<'static> {
                             SmolStr::new_static("facets"),
                             LexObjectProperty::Array(LexArray {
                                 items: LexArrayItem::Ref(LexRef {
-                                    r#ref: CowStr::new_static("fyi.questionable.richtext.facet"),
+                                    r#ref: CowStr::new_static(
+                                        "fyi.questionable.richtext.facet",
+                                    ),
                                     ..Default::default()
                                 }),
                                 ..Default::default()
@@ -79,9 +78,7 @@ fn lexicon_doc_fyi_questionable_richtext_blockquote() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("plaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -92,4 +89,4 @@ fn lexicon_doc_fyi_questionable_richtext_blockquote() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/bsky_post.rs b/crates/jacquard-api/src/fyi_questionable/richtext/bsky_post.rs
index 1b9689dc1..c9b750a74 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/bsky_post.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/bsky_post.rs
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BskyPost {
     pub post_ref: StrongRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -53,7 +50,7 @@ impl LexiconSchema for BskyPost {
 
 pub mod bsky_post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -167,10 +164,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_richtext_bskyPost() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.bskyPost"),
@@ -199,4 +196,4 @@ fn lexicon_doc_fyi_questionable_richtext_bskyPost() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/code.rs b/crates/jacquard-api/src/fyi_questionable/richtext/code.rs
index 254d89792..3f2eff62e 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/code.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/code.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Code {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub language: Option,
@@ -116,10 +113,10 @@ impl LexiconSchema for Code {
 }
 
 fn lexicon_doc_fyi_questionable_richtext_code() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.code"),
@@ -143,9 +140,7 @@ fn lexicon_doc_fyi_questionable_richtext_code() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("plaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("syntaxHighlightingTheme"),
@@ -165,4 +160,4 @@ fn lexicon_doc_fyi_questionable_richtext_code() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/content.rs b/crates/jacquard-api/src/fyi_questionable/richtext/content.rs
index 80173db15..9f26ccb11 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/content.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/content.rs
@@ -20,6 +20,9 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::fyi_questionable::richtext::blockquote::Blockquote;
 use crate::fyi_questionable::richtext::bsky_post::BskyPost;
 use crate::fyi_questionable::richtext::code::Code;
@@ -30,15 +33,9 @@ use crate::fyi_questionable::richtext::list::List;
 use crate::fyi_questionable::richtext::math::Math;
 use crate::fyi_questionable::richtext::text::Text;
 use crate::fyi_questionable::richtext::website::Website;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Content {
     ///Array of content blocks
     pub items: Vec>,
@@ -46,6 +43,7 @@ pub struct Content {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -100,7 +98,7 @@ impl LexiconSchema for Content {
 
 pub mod content_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -214,10 +212,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_richtext_content() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.content"),
@@ -233,7 +231,9 @@ fn lexicon_doc_fyi_questionable_richtext_content() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("items"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static("Array of content blocks")),
+                                description: Some(
+                                    CowStr::new_static("Array of content blocks"),
+                                ),
                                 items: LexArrayItem::Union(LexRefUnion {
                                     refs: vec![
                                         CowStr::new_static("fyi.questionable.richtext.text"),
@@ -241,14 +241,12 @@ fn lexicon_doc_fyi_questionable_richtext_content() -> LexiconDoc<'static> {
                                         CowStr::new_static("fyi.questionable.richtext.bskyPost"),
                                         CowStr::new_static("fyi.questionable.richtext.code"),
                                         CowStr::new_static("fyi.questionable.richtext.header"),
-                                        CowStr::new_static(
-                                            "fyi.questionable.richtext.horizontalRule",
-                                        ),
+                                        CowStr::new_static("fyi.questionable.richtext.horizontalRule"),
                                         CowStr::new_static("fyi.questionable.richtext.image"),
                                         CowStr::new_static("fyi.questionable.richtext.math"),
                                         CowStr::new_static("fyi.questionable.richtext.text"),
                                         CowStr::new_static("fyi.questionable.richtext.list"),
-                                        CowStr::new_static("fyi.questionable.richtext.website"),
+                                        CowStr::new_static("fyi.questionable.richtext.website")
                                     ],
                                     closed: Some(false),
                                     ..Default::default()
@@ -266,4 +264,4 @@ fn lexicon_doc_fyi_questionable_richtext_content() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/facet.rs b/crates/jacquard-api/src/fyi_questionable/richtext/facet.rs
index d64459c46..efdcbeddb 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/facet.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/facet.rs
@@ -21,17 +21,14 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_questionable::richtext::facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_questionable::richtext::facet;
 /// Facet feature for bold text
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Bold {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -40,10 +37,7 @@ pub struct Bold {
 /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ByteSlice {
     pub byte_end: i64,
     pub byte_start: i64,
@@ -54,10 +48,7 @@ pub struct ByteSlice {
 /// Facet feature for inline code.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Code {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -66,10 +57,7 @@ pub struct Code {
 /// Facet feature for highlighted text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Highlight {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -78,10 +66,7 @@ pub struct Highlight {
 /// Facet feature for italic text
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Italic {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -90,10 +75,7 @@ pub struct Italic {
 /// Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Link {
     pub uri: UriValue,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -103,10 +85,7 @@ pub struct Link {
 /// Annotation of a sub-string within rich text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Facet {
     pub features: Vec>,
     pub index: facet::ByteSlice,
@@ -114,6 +93,7 @@ pub struct Facet {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -139,10 +119,7 @@ pub enum FacetFeaturesItem {
 /// Facet feature for mentioning a did.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Mention {
     pub did: Did,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -152,10 +129,7 @@ pub struct Mention {
 /// Facet feature for strikethrough markup
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Strikethrough {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -164,10 +138,7 @@ pub struct Strikethrough {
 /// Facet feature for underline markup
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Underline {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -344,10 +315,10 @@ impl LexiconSchema for Underline {
 }
 
 fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.facet"),
@@ -405,7 +376,9 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("code"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for inline code.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for inline code."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -418,7 +391,9 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("highlight"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for highlighted text.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for highlighted text."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -431,7 +406,9 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("italic"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for italic text")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for italic text"),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -468,13 +445,16 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Annotation of a sub-string within rich text.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("index"),
-                        SmolStr::new_static("features"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Annotation of a sub-string within rich text.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("index"), SmolStr::new_static("features")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -483,14 +463,12 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
                             LexObjectProperty::Array(LexArray {
                                 items: LexArrayItem::Union(LexRefUnion {
                                     refs: vec![
-                                        CowStr::new_static("#link"),
-                                        CowStr::new_static("#mention"),
+                                        CowStr::new_static("#link"), CowStr::new_static("#mention"),
                                         CowStr::new_static("#code"),
                                         CowStr::new_static("#highlight"),
                                         CowStr::new_static("#underline"),
                                         CowStr::new_static("#strikethrough"),
-                                        CowStr::new_static("#bold"),
-                                        CowStr::new_static("#italic"),
+                                        CowStr::new_static("#bold"), CowStr::new_static("#italic")
                                     ],
                                     ..Default::default()
                                 }),
@@ -512,7 +490,9 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("mention"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for mentioning a did.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for mentioning a did."),
+                    ),
                     required: Some(vec![SmolStr::new_static("did")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -532,7 +512,9 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("strikethrough"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for strikethrough markup")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for strikethrough markup"),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -545,7 +527,9 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("underline"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for underline markup")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for underline markup"),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -563,7 +547,7 @@ fn lexicon_doc_fyi_questionable_richtext_facet() -> LexiconDoc<'static> {
 
 pub mod byte_slice_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -701,7 +685,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ByteSlice {
         ByteSlice {
             byte_end: self._fields.0.unwrap(),
             byte_start: self._fields.1.unwrap(),
@@ -712,7 +699,7 @@ where
 
 pub mod link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -791,7 +778,10 @@ where
     St::Uri: link_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> LinkBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         LinkBuilder {
             _state: PhantomData,
@@ -824,7 +814,7 @@ where
 
 pub mod facet_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -869,10 +859,7 @@ pub mod facet_state {
 /// Builder for constructing an instance of this type.
 pub struct FacetBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option>,
-    ),
+    _fields: (Option>>, Option>),
     _type: PhantomData S>,
 }
 
@@ -976,7 +963,7 @@ where
 
 pub mod mention_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1055,7 +1042,10 @@ where
     St::Did: mention_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> MentionBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         MentionBuilder {
             _state: PhantomData,
@@ -1084,4 +1074,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/header.rs b/crates/jacquard-api/src/fyi_questionable/richtext/header.rs
index 74ec80544..63337f774 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/header.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/header.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_questionable::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_questionable::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Header {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -100,7 +97,7 @@ impl LexiconSchema for Header {
 
 pub mod header_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -204,7 +201,10 @@ where
     St::Level: header_state::IsUnset,
 {
     /// Set the `level` field (required)
-    pub fn level(mut self, value: impl Into) -> HeaderBuilder, S> {
+    pub fn level(
+        mut self,
+        value: impl Into,
+    ) -> HeaderBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         HeaderBuilder {
             _state: PhantomData,
@@ -260,10 +260,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_richtext_header() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.header"),
@@ -272,10 +272,12 @@ fn lexicon_doc_fyi_questionable_richtext_header() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("plaintext"),
-                        SmolStr::new_static("level"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("plaintext"),
+                            SmolStr::new_static("level")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -283,7 +285,9 @@ fn lexicon_doc_fyi_questionable_richtext_header() -> LexiconDoc<'static> {
                             SmolStr::new_static("facets"),
                             LexObjectProperty::Array(LexArray {
                                 items: LexArrayItem::Ref(LexRef {
-                                    r#ref: CowStr::new_static("fyi.questionable.richtext.facet"),
+                                    r#ref: CowStr::new_static(
+                                        "fyi.questionable.richtext.facet",
+                                    ),
                                     ..Default::default()
                                 }),
                                 ..Default::default()
@@ -314,4 +318,4 @@ fn lexicon_doc_fyi_questionable_richtext_header() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/horizontal_rule.rs b/crates/jacquard-api/src/fyi_questionable/richtext/horizontal_rule.rs
index fd175608c..91c472968 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/horizontal_rule.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/horizontal_rule.rs
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HorizontalRule {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -47,10 +44,10 @@ impl LexiconSchema for HorizontalRule {
 }
 
 fn lexicon_doc_fyi_questionable_richtext_horizontalRule() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.horizontalRule"),
@@ -72,4 +69,4 @@ fn lexicon_doc_fyi_questionable_richtext_horizontalRule() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/image.rs b/crates/jacquard-api/src/fyi_questionable/richtext/image.rs
index e4b1ce3f7..df621430f 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/image.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/image.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_questionable::richtext::image;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_questionable::richtext::image;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AspectRatio {
     pub height: i64,
     pub width: i64,
@@ -38,11 +35,9 @@ pub struct AspectRatio {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Image {
     ///Alt text description of the image, for accessibility.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -119,16 +114,19 @@ impl LexiconSchema for Image {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -144,7 +142,7 @@ impl LexiconSchema for Image {
 
 pub mod aspect_ratio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -282,7 +280,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AspectRatio {
         AspectRatio {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -292,10 +293,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_richtext_image() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.image"),
@@ -304,10 +305,9 @@ fn lexicon_doc_fyi_questionable_richtext_image() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("aspectRatio"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("width"),
-                        SmolStr::new_static("height"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("width"), SmolStr::new_static("height")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -331,19 +331,23 @@ fn lexicon_doc_fyi_questionable_richtext_image() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("image"),
-                        SmolStr::new_static("aspectRatio"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("image"),
+                            SmolStr::new_static("aspectRatio")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("alt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Alt text description of the image, for accessibility.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Alt text description of the image, for accessibility.",
+                                    ),
+                                ),
                                 max_length: Some(3000usize),
                                 max_graphemes: Some(3000usize),
                                 ..Default::default()
@@ -358,9 +362,7 @@ fn lexicon_doc_fyi_questionable_richtext_image() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("image"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -375,7 +377,7 @@ fn lexicon_doc_fyi_questionable_richtext_image() -> LexiconDoc<'static> {
 
 pub mod image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -535,4 +537,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/list.rs b/crates/jacquard-api/src/fyi_questionable/richtext/list.rs
index d706c40b5..6444fa76e 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/list.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/list.rs
@@ -20,17 +20,14 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_questionable::richtext::list;
-use crate::fyi_questionable::richtext::text::Text;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_questionable::richtext::text::Text;
+use crate::fyi_questionable::richtext::list;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct List {
     pub items: Vec>,
     /// Defaults to `false`.
@@ -41,6 +38,7 @@ pub struct List {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -72,7 +70,7 @@ fn _default_list_ordered() -> Option {
 
 pub mod list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -201,10 +199,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_richtext_list() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.list"),
@@ -223,7 +221,7 @@ fn lexicon_doc_fyi_questionable_richtext_list() -> LexiconDoc<'static> {
                                 items: LexArrayItem::Union(LexRefUnion {
                                     refs: vec![
                                         CowStr::new_static("fyi.questionable.richtext.text"),
-                                        CowStr::new_static("fyi.questionable.richtext.list"),
+                                        CowStr::new_static("fyi.questionable.richtext.list")
                                     ],
                                     ..Default::default()
                                 }),
@@ -245,4 +243,4 @@ fn lexicon_doc_fyi_questionable_richtext_list() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/math.rs b/crates/jacquard-api/src/fyi_questionable/richtext/math.rs
index 60589b4d8..63097881d 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/math.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/math.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Math {
     pub tex: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -48,10 +45,10 @@ impl LexiconSchema for Math {
 }
 
 fn lexicon_doc_fyi_questionable_richtext_math() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.math"),
@@ -66,9 +63,7 @@ fn lexicon_doc_fyi_questionable_richtext_math() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("tex"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -79,4 +74,4 @@ fn lexicon_doc_fyi_questionable_richtext_math() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/text.rs b/crates/jacquard-api/src/fyi_questionable/richtext/text.rs
index a83b3086b..5861f255a 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/text.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/text.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::fyi_questionable::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::fyi_questionable::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Text {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -53,10 +50,10 @@ impl LexiconSchema for Text {
 }
 
 fn lexicon_doc_fyi_questionable_richtext_text() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.text"),
@@ -73,7 +70,9 @@ fn lexicon_doc_fyi_questionable_richtext_text() -> LexiconDoc<'static> {
                             SmolStr::new_static("facets"),
                             LexObjectProperty::Array(LexArray {
                                 items: LexArrayItem::Ref(LexRef {
-                                    r#ref: CowStr::new_static("fyi.questionable.richtext.facet"),
+                                    r#ref: CowStr::new_static(
+                                        "fyi.questionable.richtext.facet",
+                                    ),
                                     ..Default::default()
                                 }),
                                 ..Default::default()
@@ -81,15 +80,11 @@ fn lexicon_doc_fyi_questionable_richtext_text() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("plaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("textSize"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -100,4 +95,4 @@ fn lexicon_doc_fyi_questionable_richtext_text() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/richtext/website.rs b/crates/jacquard-api/src/fyi_questionable/richtext/website.rs
index 79dffb146..c8dd32524 100644
--- a/crates/jacquard-api/src/fyi_questionable/richtext/website.rs
+++ b/crates/jacquard-api/src/fyi_questionable/richtext/website.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,13 +24,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Website {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub description: Option,
@@ -92,16 +89,19 @@ impl LexiconSchema for Website {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("preview_image"),
@@ -139,7 +139,7 @@ impl LexiconSchema for Website {
 
 pub mod website_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -172,12 +172,7 @@ pub mod website_state {
 /// Builder for constructing an instance of this type.
 pub struct WebsiteBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -303,10 +298,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_richtext_website() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.richtext.website"),
@@ -329,9 +324,7 @@ fn lexicon_doc_fyi_questionable_richtext_website() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("previewImage"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
@@ -357,4 +350,4 @@ fn lexicon_doc_fyi_questionable_richtext_website() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_questionable/selected_answer.rs b/crates/jacquard-api/src/fyi_questionable/selected_answer.rs
index 147b4af5e..72e744f6a 100644
--- a/crates/jacquard-api/src/fyi_questionable/selected_answer.rs
+++ b/crates/jacquard-api/src/fyi_questionable/selected_answer.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Marks an answer as answering a given question
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for SelectedAnswer {
 
 pub mod selected_answer_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -164,7 +164,10 @@ pub mod selected_answer_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SelectedAnswerBuilder {
+pub struct SelectedAnswerBuilder<
+    St: selected_answer_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option>),
     _type: PhantomData S>,
@@ -280,7 +283,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SelectedAnswer {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SelectedAnswer {
         SelectedAnswer {
             answer_ref: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -291,10 +297,10 @@ where
 }
 
 fn lexicon_doc_fyi_questionable_selectedAnswer() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.questionable.selectedAnswer"),
@@ -357,4 +363,4 @@ fn lexicon_doc_fyi_questionable_selectedAnswer() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_unravel.rs b/crates/jacquard-api/src/fyi_unravel.rs
index dc033e1ee..870660d04 100644
--- a/crates/jacquard-api/src/fyi_unravel.rs
+++ b/crates/jacquard-api/src/fyi_unravel.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `fyi.unravel` Lexicon namespace/module.
-pub mod frontpage;
+pub mod frontpage;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_unravel/frontpage.rs b/crates/jacquard-api/src/fyi_unravel/frontpage.rs
index ecab6b1ea..9680f914e 100644
--- a/crates/jacquard-api/src/fyi_unravel/frontpage.rs
+++ b/crates/jacquard-api/src/fyi_unravel/frontpage.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `fyi.unravel.frontpage` Lexicon namespace/module.
 pub mod comment;
 pub mod post;
-pub mod vote;
+pub mod vote;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_unravel/frontpage/comment.rs b/crates/jacquard-api/src/fyi_unravel/frontpage/comment.rs
index 4b3685a21..c2de6fc8e 100644
--- a/crates/jacquard-api/src/fyi_unravel/frontpage/comment.rs
+++ b/crates/jacquard-api/src/fyi_unravel/frontpage/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record containing a Frontpage comment.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -134,7 +134,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -193,12 +193,7 @@ pub mod comment_state {
 /// Builder for constructing an instance of this type.
 pub struct CommentBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -338,10 +333,10 @@ where
 }
 
 fn lexicon_doc_fyi_unravel_frontpage_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.unravel.frontpage.comment"),
@@ -413,4 +408,4 @@ fn lexicon_doc_fyi_unravel_frontpage_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_unravel/frontpage/post.rs b/crates/jacquard-api/src/fyi_unravel/frontpage/post.rs
index 3e6cd6616..d8324eb84 100644
--- a/crates/jacquard-api/src/fyi_unravel/frontpage/post.rs
+++ b/crates/jacquard-api/src/fyi_unravel/frontpage/post.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record containing a Frontpage post.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -132,7 +132,7 @@ impl LexiconSchema for Post {
 
 pub mod post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -256,7 +256,10 @@ where
     St::Title: post_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> PostBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> PostBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -272,7 +275,10 @@ where
     St::Url: post_state::IsUnset,
 {
     /// Set the `url` field (required)
-    pub fn url(mut self, value: impl Into>) -> PostBuilder, S> {
+    pub fn url(
+        mut self,
+        value: impl Into>,
+    ) -> PostBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -310,10 +316,10 @@ where
 }
 
 fn lexicon_doc_fyi_unravel_frontpage_post() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.unravel.frontpage.post"),
@@ -380,4 +386,4 @@ fn lexicon_doc_fyi_unravel_frontpage_post() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/fyi_unravel/frontpage/vote.rs b/crates/jacquard-api/src/fyi_unravel/frontpage/vote.rs
index 461597ef7..7d1dfc60b 100644
--- a/crates/jacquard-api/src/fyi_unravel/frontpage/vote.rs
+++ b/crates/jacquard-api/src/fyi_unravel/frontpage/vote.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record containing a Frontpage vote.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Vote {
 
 pub mod vote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_fyi_unravel_frontpage_vote() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("fyi.unravel.frontpage.vote"),
@@ -310,4 +310,4 @@ fn lexicon_doc_fyi_unravel_frontpage_vote() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_firehose.rs b/crates/jacquard-api/src/games_firehose.rs
index a8a7ac933..121af9a61 100644
--- a/crates/jacquard-api/src/games_firehose.rs
+++ b/crates/jacquard-api/src/games_firehose.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `games.firehose` Lexicon namespace/module.
-pub mod barklesheep;
+pub mod barklesheep;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_firehose/barklesheep.rs b/crates/jacquard-api/src/games_firehose/barklesheep.rs
index e4dd472a1..a3394d65c 100644
--- a/crates/jacquard-api/src/games_firehose/barklesheep.rs
+++ b/crates/jacquard-api/src/games_firehose/barklesheep.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `games.firehose.barklesheep` Lexicon namespace/module.
 pub mod auth_full;
 pub mod place_sheeps;
-pub mod reaction;
+pub mod reaction;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_firehose/barklesheep/auth_full.rs b/crates/jacquard-api/src/games_firehose/barklesheep/auth_full.rs
index eb6ca3daa..224e20e05 100644
--- a/crates/jacquard-api/src/games_firehose/barklesheep/auth_full.rs
+++ b/crates/jacquard-api/src/games_firehose/barklesheep/auth_full.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_firehose/barklesheep/place_sheeps.rs b/crates/jacquard-api/src/games_firehose/barklesheep/place_sheeps.rs
index 17c8c2952..d56953deb 100644
--- a/crates/jacquard-api/src/games_firehose/barklesheep/place_sheeps.rs
+++ b/crates/jacquard-api/src/games_firehose/barklesheep/place_sheeps.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_firehose::barklesheep::place_sheeps;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_firehose::barklesheep::place_sheeps;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlaceSheeps {
     pub game_id: S,
     pub sheeps: Vec>,
@@ -37,11 +34,9 @@ pub struct PlaceSheeps {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlaceSheepsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub success: Option,
@@ -49,11 +44,9 @@ pub struct PlaceSheepsOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SheepPlacement {
     pub horizontal: bool,
     pub start: i64,
@@ -75,8 +68,9 @@ impl jacquard_common::xrpc::XrpcResp for PlaceSheepsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PlaceSheeps {
     const NSID: &'static str = "games.firehose.barklesheep.placeSheeps";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PlaceSheepsResponse;
 }
 
@@ -86,8 +80,9 @@ Path: `/xrpc/games.firehose.barklesheep.placeSheeps`. The request payload type i
 pub struct PlaceSheepsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PlaceSheepsRequest {
     const PATH: &'static str = "/xrpc/games.firehose.barklesheep.placeSheeps";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PlaceSheeps;
     type Response = PlaceSheepsResponse;
 }
@@ -109,7 +104,7 @@ impl LexiconSchema for SheepPlacement {
 
 pub mod place_sheeps_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -247,7 +242,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PlaceSheeps {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PlaceSheeps {
         PlaceSheeps {
             game_id: self._fields.0.unwrap(),
             sheeps: self._fields.1.unwrap(),
@@ -258,7 +256,7 @@ where
 
 pub mod sheep_placement_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -315,7 +313,10 @@ pub mod sheep_placement_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SheepPlacementBuilder {
+pub struct SheepPlacementBuilder<
+    St: sheep_placement_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -431,7 +432,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SheepPlacement {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SheepPlacement {
         SheepPlacement {
             horizontal: self._fields.0.unwrap(),
             start: self._fields.1.unwrap(),
@@ -442,10 +446,10 @@ where
 }
 
 fn lexicon_doc_games_firehose_barklesheep_placeSheeps() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.firehose.barklesheep.placeSheeps"),
@@ -456,34 +460,37 @@ fn lexicon_doc_games_firehose_barklesheep_placeSheeps() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![
-                                SmolStr::new_static("gameId"),
-                                SmolStr::new_static("sheeps"),
-                            ]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("gameId"),
-                                    LexObjectProperty::String(LexString {
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("sheeps"),
-                                    LexObjectProperty::Array(LexArray {
-                                        items: LexArrayItem::Ref(LexRef {
-                                            r#ref: CowStr::new_static("#sheepPlacement"),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(
+                                    vec![
+                                        SmolStr::new_static("gameId"), SmolStr::new_static("sheeps")
+                                    ],
+                                ),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("gameId"),
+                                        LexObjectProperty::String(LexString {
                                             ..Default::default()
                                         }),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("sheeps"),
+                                        LexObjectProperty::Array(LexArray {
+                                            items: LexArrayItem::Ref(LexRef {
+                                                r#ref: CowStr::new_static("#sheepPlacement"),
+                                                ..Default::default()
+                                            }),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -492,11 +499,12 @@ fn lexicon_doc_games_firehose_barklesheep_placeSheeps() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sheepPlacement"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("start"),
-                        SmolStr::new_static("horizontal"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("type"), SmolStr::new_static("start"),
+                            SmolStr::new_static("horizontal")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -514,9 +522,7 @@ fn lexicon_doc_games_firehose_barklesheep_placeSheeps() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -527,4 +533,4 @@ fn lexicon_doc_games_firehose_barklesheep_placeSheeps() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_firehose/barklesheep/reaction.rs b/crates/jacquard-api/src/games_firehose/barklesheep/reaction.rs
index c9ef2ae32..0e6c4d4ad 100644
--- a/crates/jacquard-api/src/games_firehose/barklesheep/reaction.rs
+++ b/crates/jacquard-api/src/games_firehose/barklesheep/reaction.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A reaction in a Barklesheep game
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -116,7 +116,7 @@ impl LexiconSchema for Reaction {
 
 pub mod reaction_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -300,10 +300,10 @@ where
 }
 
 fn lexicon_doc_games_firehose_barklesheep_reaction() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.firehose.barklesheep.reaction"),
@@ -312,14 +312,17 @@ fn lexicon_doc_games_firehose_barklesheep_reaction() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A reaction in a Barklesheep game")),
+                    description: Some(
+                        CowStr::new_static("A reaction in a Barklesheep game"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("gameId"),
-                            SmolStr::new_static("emoji"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("gameId"), SmolStr::new_static("emoji"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -354,4 +357,4 @@ fn lexicon_doc_games_firehose_barklesheep_reaction() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames.rs
index 18a61ede3..2f37f3e27 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames.rs
@@ -64,35 +64,33 @@ pub mod search_slugs;
 pub mod slug;
 pub mod toggle_list_item;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
-use jacquard_common::types::string::{AtUri, Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, Datetime, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::games_gamesgamesgamesgames;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::games_gamesgamesgamesgames;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActivityFeedItem {
     ///When the activity occurred.
     pub created_at: Datetime,
@@ -193,16 +191,16 @@ where
             ActivityFeedItemType::Review => ActivityFeedItemType::Review,
             ActivityFeedItemType::ListCreate => ActivityFeedItemType::ListCreate,
             ActivityFeedItemType::ListAddGame => ActivityFeedItemType::ListAddGame,
-            ActivityFeedItemType::Other(v) => ActivityFeedItemType::Other(v.into_static()),
+            ActivityFeedItemType::Other(v) => {
+                ActivityFeedItemType::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActivityListView {
     pub created_at: Datetime,
     pub name: S,
@@ -211,11 +209,9 @@ pub struct ActivityListView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActivityReviewView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub contains_spoilers: Option,
@@ -232,11 +228,9 @@ pub struct ActivityReviewView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActorCreditView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub actor_uri: Option>,
@@ -248,11 +242,9 @@ pub struct ActorCreditView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActorProfileDetailView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -274,11 +266,9 @@ pub struct ActorProfileDetailView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActorProfileSummaryView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -290,11 +280,9 @@ pub struct ActorProfileSummaryView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AgeRating {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub content_descriptors: Option>,
@@ -304,6 +292,7 @@ pub struct AgeRating {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum AgeRatingOrganization {
     Esrb,
@@ -396,16 +385,16 @@ where
             AgeRatingOrganization::Grac => AgeRatingOrganization::Grac,
             AgeRatingOrganization::ClassInd => AgeRatingOrganization::ClassInd,
             AgeRatingOrganization::Acb => AgeRatingOrganization::Acb,
-            AgeRatingOrganization::Other(v) => AgeRatingOrganization::Other(v.into_static()),
+            AgeRatingOrganization::Other(v) => {
+                AgeRatingOrganization::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AlternativeName {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub comment: Option,
@@ -419,10 +408,7 @@ pub struct AlternativeName {
 pub type ApplicationType = S;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CollectionSummaryView {
     pub name: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -434,6 +420,7 @@ pub struct CollectionSummaryView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum CollectionSummaryViewType {
     Franchise,
@@ -483,7 +470,8 @@ impl Serialize for CollectionSummaryViewType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CollectionSummaryViewType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for CollectionSummaryViewType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -517,6 +505,7 @@ where
     }
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum CompanyRole {
     Developer,
@@ -596,11 +585,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreditEntry {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub department: Option,
@@ -609,11 +596,9 @@ pub struct CreditEntry {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EngineSummaryView {
     pub name: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -623,11 +608,9 @@ pub struct EngineSummaryView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ExternalIds {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub apple_app_store: Option,
@@ -657,11 +640,9 @@ pub struct ExternalIds {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ExternalVideo {
     pub platform: ExternalVideoPlatform,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -671,6 +652,7 @@ pub struct ExternalVideo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ExternalVideoPlatform {
     Youtube,
@@ -747,16 +729,16 @@ where
             ExternalVideoPlatform::Youtube => ExternalVideoPlatform::Youtube,
             ExternalVideoPlatform::Twitch => ExternalVideoPlatform::Twitch,
             ExternalVideoPlatform::Vimeo => ExternalVideoPlatform::Vimeo,
-            ExternalVideoPlatform::Other(v) => ExternalVideoPlatform::Other(v.into_static()),
+            ExternalVideoPlatform::Other(v) => {
+                ExternalVideoPlatform::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GameDetailView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub actor_credits: Option>>,
@@ -791,7 +773,9 @@ pub struct GameDetailView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub parent: Option>,
     #[serde(skip_serializing_if = "Option::is_none")]
-    pub player_perspectives: Option>>,
+    pub player_perspectives: Option<
+        Vec>,
+    >,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub published_at: Option,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -815,11 +799,9 @@ pub struct GameDetailView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GameFeedViewItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub feed_context: Option,
@@ -828,11 +810,9 @@ pub struct GameFeedViewItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GameSummaryView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub application_type: Option>,
@@ -851,11 +831,9 @@ pub struct GameSummaryView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GameView {
     pub application_type: games_gamesgamesgamesgames::ApplicationType,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -880,6 +858,7 @@ pub struct GameView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum Genre {
     Fighting,
@@ -983,6 +962,7 @@ where
     }
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum IndividualRole {
     Director,
@@ -1102,11 +1082,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ItchIoId {
     pub developer: S,
     pub game: S,
@@ -1114,11 +1092,9 @@ pub struct ItchIoId {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LanguageSupport {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub audio: Option,
@@ -1131,11 +1107,9 @@ pub struct LanguageSupport {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MediaItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub blob: Option>,
@@ -1155,6 +1129,7 @@ pub struct MediaItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum Mode {
     BattleRoyale,
@@ -1242,11 +1217,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MultiplayerMode {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub has_campaign_coop: Option,
@@ -1272,11 +1245,9 @@ pub struct MultiplayerMode {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OrgCreditView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub display_name: Option,
@@ -1288,11 +1259,9 @@ pub struct OrgCreditView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OrgProfileDetailView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -1322,6 +1291,7 @@ pub struct OrgProfileDetailView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum OrgProfileDetailViewStatus {
     Active,
@@ -1377,7 +1347,8 @@ impl Serialize for OrgProfileDetailViewStatus {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for OrgProfileDetailViewStatus {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for OrgProfileDetailViewStatus {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -1413,11 +1384,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OrgProfileSummaryView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -1429,6 +1398,7 @@ pub struct OrgProfileSummaryView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum PlatformCategory {
     Console,
@@ -1515,10 +1485,7 @@ where
 /// Features supported by a game on a specific storefront/platform.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlatformFeatures {
     pub features: Vec,
     pub platform: PlatformFeaturesPlatform,
@@ -1526,6 +1493,7 @@ pub struct PlatformFeatures {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum PlatformFeaturesPlatform {
     Steam,
@@ -1584,7 +1552,8 @@ impl Serialize for PlatformFeaturesPlatform {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for PlatformFeaturesPlatform {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for PlatformFeaturesPlatform {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -1611,19 +1580,23 @@ where
             PlatformFeaturesPlatform::Steam => PlatformFeaturesPlatform::Steam,
             PlatformFeaturesPlatform::Gog => PlatformFeaturesPlatform::Gog,
             PlatformFeaturesPlatform::EpicGames => PlatformFeaturesPlatform::EpicGames,
-            PlatformFeaturesPlatform::PlayStation => PlatformFeaturesPlatform::PlayStation,
+            PlatformFeaturesPlatform::PlayStation => {
+                PlatformFeaturesPlatform::PlayStation
+            }
             PlatformFeaturesPlatform::Xbox => PlatformFeaturesPlatform::Xbox,
-            PlatformFeaturesPlatform::NintendoEshop => PlatformFeaturesPlatform::NintendoEshop,
-            PlatformFeaturesPlatform::Other(v) => PlatformFeaturesPlatform::Other(v.into_static()),
+            PlatformFeaturesPlatform::NintendoEshop => {
+                PlatformFeaturesPlatform::NintendoEshop
+            }
+            PlatformFeaturesPlatform::Other(v) => {
+                PlatformFeaturesPlatform::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlatformSummaryView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub abbreviation: Option,
@@ -1637,11 +1610,9 @@ pub struct PlatformSummaryView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlatformVersion {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub connectivity: Option,
@@ -1668,6 +1639,7 @@ pub struct PlatformVersion {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum PlayerPerspective {
     Auditory,
@@ -1763,11 +1735,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileSummaryView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -1780,6 +1750,7 @@ pub struct ProfileSummaryView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ProfileSummaryViewProfileType {
     Actor,
@@ -1826,7 +1797,8 @@ impl Serialize for ProfileSummaryViewProfileType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ProfileSummaryViewProfileType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ProfileSummaryViewProfileType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -1859,11 +1831,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Release {
     ///Free-text platform name, used when no platform record exists.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -1877,11 +1847,9 @@ pub struct Release {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReleaseDate {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub region: Option>,
@@ -1895,6 +1863,7 @@ pub struct ReleaseDate {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ReleaseDateRegion {
     Worldwide,
@@ -2004,6 +1973,7 @@ where
     }
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ReleaseDateStatus {
     AdvancedAccess,
@@ -2116,10 +2086,7 @@ where
 /// An inline attestation signature.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///DID key reference (e.g., did:web:example.com#signing1).
     pub key: S,
@@ -2130,11 +2097,9 @@ pub struct Signature {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SkeletonGameFeedItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub feed_context: Option,
@@ -2146,10 +2111,7 @@ pub struct SkeletonGameFeedItem {
 /// System requirements for a game on a specific platform.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SystemRequirements {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub minimum: Option>,
@@ -2160,6 +2122,7 @@ pub struct SystemRequirements {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum SystemRequirementsPlatform {
     Windows,
@@ -2209,7 +2172,8 @@ impl Serialize for SystemRequirementsPlatform {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for SystemRequirementsPlatform {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for SystemRequirementsPlatform {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -2246,10 +2210,7 @@ where
 /// Hardware/software specification for a platform.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SystemSpec {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub additional_notes: Option,
@@ -2271,6 +2232,7 @@ pub struct SystemSpec {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum Theme {
     _4x,
@@ -2422,11 +2384,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TimeToBeat {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub completely: Option,
@@ -2438,11 +2398,9 @@ pub struct TimeToBeat {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewerState {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub like: Option>,
@@ -2450,11 +2408,9 @@ pub struct ViewerState {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Website {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub r#type: Option>,
@@ -2463,6 +2419,7 @@ pub struct Website {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum WebsiteType {
     Official,
@@ -2729,20 +2686,25 @@ impl LexiconSchema for ActorProfileDetailView {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -2809,20 +2771,25 @@ impl LexiconSchema for ActorProfileSummaryView {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -3093,16 +3060,19 @@ impl LexiconSchema for MediaItem {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*", "video/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -3183,20 +3153,25 @@ impl LexiconSchema for OrgProfileDetailView {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -3253,20 +3228,25 @@ impl LexiconSchema for OrgProfileSummaryView {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -3358,20 +3338,25 @@ impl LexiconSchema for ProfileSummaryView {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -3538,7 +3523,7 @@ impl LexiconSchema for Website {
 
 pub mod activity_feed_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3581,7 +3566,10 @@ pub mod activity_feed_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ActivityFeedItemBuilder {
+pub struct ActivityFeedItemBuilder<
+    St: activity_feed_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -3595,7 +3583,10 @@ pub struct ActivityFeedItemBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ActivityFeedItemBuilder {
+    pub fn new() -> ActivityFeedItemBuilder<
+        activity_feed_item_state::Empty,
+        DefaultStr,
+    > {
         ActivityFeedItemBuilder::new()
     }
 }
@@ -3658,7 +3649,10 @@ impl ActivityFeedItemBuilder>) -> Self {
+    pub fn maybe_game(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -3739,7 +3733,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ActivityFeedItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ActivityFeedItem {
         ActivityFeedItem {
             created_at: self._fields.0.unwrap(),
             game: self._fields.1,
@@ -3752,10 +3749,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.defs"),
@@ -3764,19 +3761,20 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("activityFeedItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("type"), SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the activity occurred.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the activity occurred."),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -3811,7 +3809,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("type"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The type of activity.")),
+                                description: Some(
+                                    CowStr::new_static("The type of activity."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -3823,11 +3823,12 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("activityListView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("name"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -3840,9 +3841,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -3859,11 +3858,12 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("activityReviewView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("rating"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("rating"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -3899,15 +3899,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("text"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -3924,10 +3920,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("actorCreditView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("credits"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("credits")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -3972,15 +3967,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("actorProfileDetailView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("did")]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("did")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("avatar"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("createdAt"),
@@ -4054,15 +4049,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("actorProfileSummaryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("did")]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("did")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("avatar"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("did"),
@@ -4093,10 +4088,12 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("ageRating"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("organization"),
-                        SmolStr::new_static("rating"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("organization"),
+                            SmolStr::new_static("rating")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -4111,15 +4108,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("organization"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("rating"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -4135,21 +4128,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("comment"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("locale"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -4158,37 +4145,28 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("applicationType"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("collectionSummaryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("slug"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -4204,9 +4182,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("companyRole"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("creditEntry"),
@@ -4239,24 +4215,19 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("engineSummaryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("slug"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -4278,39 +4249,27 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("appleAppStore"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("epicGames"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("gog"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("googlePlay"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("humbleBundle"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("igdb"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("itchIo"),
@@ -4323,33 +4282,23 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("nintendoEshop"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("playStation"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("steam"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("twitch"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("xbox"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -4359,30 +4308,26 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("externalVideo"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("videoId"),
-                        SmolStr::new_static("platform"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("videoId"),
+                            SmolStr::new_static("platform")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("platform"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("videoId"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -4392,11 +4337,12 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gameDetailView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("uri"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -4552,9 +4498,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("orgCredits"),
@@ -4608,21 +4552,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("slug"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("storyline"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("summary"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("themes"),
@@ -4712,10 +4650,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gameSummaryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -4748,21 +4685,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("slug"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("summary"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -4779,11 +4710,12 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gameView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("applicationType"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("name"),
+                            SmolStr::new_static("applicationType")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -4829,9 +4761,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("releases"),
@@ -4847,15 +4777,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("slug"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("summary"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("themes"),
@@ -4892,37 +4818,30 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("genre"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("individualRole"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("itchIoId"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("developer"),
-                        SmolStr::new_static("game"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("developer"), SmolStr::new_static("game")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("developer"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("game"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -4950,9 +4869,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("language"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("subtitles"),
@@ -4973,15 +4890,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("height"),
@@ -4991,21 +4904,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("locale"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("mediaType"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("width"),
@@ -5020,9 +4927,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("mode"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("multiplayerMode"),
@@ -5086,9 +4991,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("platform"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -5098,10 +5001,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("orgCreditView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("roles"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("roles")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -5146,21 +5048,19 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("orgProfileDetailView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("did")]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("did")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("avatar"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("country"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("createdAt"),
@@ -5228,9 +5128,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -5259,15 +5157,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("orgProfileSummaryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("did")]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("did")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("avatar"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("did"),
@@ -5297,20 +5195,22 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("platformCategory"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("platformFeatures"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Features supported by a game on a specific storefront/platform.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("platform"),
-                        SmolStr::new_static("features"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Features supported by a game on a specific storefront/platform.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("platform"),
+                            SmolStr::new_static("features")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -5325,9 +5225,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("platform"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -5337,18 +5235,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("platformSummaryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("abbreviation"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("category"),
@@ -5361,15 +5256,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("slug"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -5392,27 +5283,19 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("connectivity"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("cpu"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("gpu"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("maxResolution"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("media"),
@@ -5428,39 +5311,27 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("memory"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("os"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("output"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("storage"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("summary"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -5469,26 +5340,23 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("playerPerspective"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("profileSummaryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("profileType"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("did"),
+                            SmolStr::new_static("profileType")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("avatar"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("did"),
@@ -5506,9 +5374,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("profileType"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -5531,18 +5397,20 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("platform"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Free-text platform name, used when no platform record exists.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Free-text platform name, used when no platform record exists.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("platformUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT URI of a platform record.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("AT URI of a platform record."),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -5572,27 +5440,19 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("region"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("releasedAt"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("releasedAtFormat"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -5602,28 +5462,31 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("signature"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("An inline attestation signature.")),
-                    required: Some(vec![
-                        SmolStr::new_static("key"),
-                        SmolStr::new_static("signature"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An inline attestation signature."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("key"), SmolStr::new_static("signature")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("key"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "DID key reference (e.g., did:web:example.com#signing1).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "DID key reference (e.g., did:web:example.com#signing1).",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("signature"),
-                            LexObjectProperty::Bytes(LexBytes {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Bytes(LexBytes { ..Default::default() }),
                         );
                         map
                     },
@@ -5659,9 +5522,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("systemRequirements"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "System requirements for a game on a specific platform.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "System requirements for a game on a specific platform.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("platform")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -5675,9 +5540,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("platform"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("recommended"),
@@ -5694,59 +5557,45 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("systemSpec"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Hardware/software specification for a platform.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Hardware/software specification for a platform.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("additionalNotes"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("directx"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("graphics"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("memory"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("os"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("processor"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("soundCard"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("storage"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -5755,9 +5604,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("theme"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("timeToBeat"),
@@ -5815,9 +5662,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("url"),
@@ -5839,7 +5684,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_defs() -> LexiconDoc<'static> {
 
 pub mod activity_list_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5896,7 +5741,10 @@ pub mod activity_list_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ActivityListViewBuilder {
+pub struct ActivityListViewBuilder<
+    St: activity_list_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -5904,7 +5752,10 @@ pub struct ActivityListViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ActivityListViewBuilder {
+    pub fn new() -> ActivityListViewBuilder<
+        activity_list_view_state::Empty,
+        DefaultStr,
+    > {
         ActivityListViewBuilder::new()
     }
 }
@@ -6012,7 +5863,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ActivityListView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ActivityListView {
         ActivityListView {
             created_at: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -6024,7 +5878,7 @@ where
 
 pub mod activity_review_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -6081,8 +5935,10 @@ pub mod activity_review_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ActivityReviewViewBuilder
-{
+pub struct ActivityReviewViewBuilder<
+    St: activity_review_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -6098,7 +5954,10 @@ pub struct ActivityReviewViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ActivityReviewViewBuilder {
+    pub fn new() -> ActivityReviewViewBuilder<
+        activity_review_view_state::Empty,
+        DefaultStr,
+    > {
         ActivityReviewViewBuilder::new()
     }
 }
@@ -6262,7 +6121,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ActivityReviewView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ActivityReviewView {
         ActivityReviewView {
             contains_spoilers: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -6278,7 +6140,7 @@ where
 
 pub mod actor_credit_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -6321,7 +6183,10 @@ pub mod actor_credit_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ActorCreditViewBuilder {
+pub struct ActorCreditViewBuilder<
+    St: actor_credit_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -6449,7 +6314,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ActorCreditView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ActorCreditView {
         ActorCreditView {
             actor_uri: self._fields.0,
             credits: self._fields.1.unwrap(),
@@ -6462,7 +6330,7 @@ where
 
 pub mod actor_profile_detail_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -6526,15 +6394,20 @@ pub struct ActorProfileDetailViewBuilder<
 
 impl ActorProfileDetailView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ActorProfileDetailViewBuilder
-    {
+    pub fn new() -> ActorProfileDetailViewBuilder<
+        actor_profile_detail_view_state::Empty,
+        DefaultStr,
+    > {
         ActorProfileDetailViewBuilder::new()
     }
 }
 
 impl ActorProfileDetailView {
     /// Create a new builder for this type
-    pub fn builder() -> ActorProfileDetailViewBuilder {
+    pub fn builder() -> ActorProfileDetailViewBuilder<
+        actor_profile_detail_view_state::Empty,
+        S,
+    > {
         ActorProfileDetailViewBuilder::builder()
     }
 }
@@ -6550,7 +6423,9 @@ impl ActorProfileDetailViewBuilder ActorProfileDetailViewBuilder {
+impl<
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         ActorProfileDetailViewBuilder {
@@ -6561,7 +6436,10 @@ impl ActorProfileDetailViewBuilder ActorProfileDetailViewBuilder {
+impl<
+    St: actor_profile_detail_view_state::State,
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Set the `avatar` field (optional)
     pub fn avatar(mut self, value: impl Into>>) -> Self {
         self._fields.0 = value.into();
@@ -6574,7 +6452,10 @@ impl ActorProfileDetailVi
     }
 }
 
-impl ActorProfileDetailViewBuilder {
+impl<
+    St: actor_profile_detail_view_state::State,
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Set the `createdAt` field (optional)
     pub fn created_at(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -6587,7 +6468,10 @@ impl ActorProfileDetailVi
     }
 }
 
-impl ActorProfileDetailViewBuilder {
+impl<
+    St: actor_profile_detail_view_state::State,
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Set the `description` field (optional)
     pub fn description(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -6600,9 +6484,15 @@ impl ActorProfileDetailVi
     }
 }
 
-impl ActorProfileDetailViewBuilder {
+impl<
+    St: actor_profile_detail_view_state::State,
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -6632,7 +6522,10 @@ where
     }
 }
 
-impl ActorProfileDetailViewBuilder {
+impl<
+    St: actor_profile_detail_view_state::State,
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Set the `displayName` field (optional)
     pub fn display_name(mut self, value: impl Into>) -> Self {
         self._fields.5 = value.into();
@@ -6645,7 +6538,10 @@ impl ActorProfileDetailVi
     }
 }
 
-impl ActorProfileDetailViewBuilder {
+impl<
+    St: actor_profile_detail_view_state::State,
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Set the `pronouns` field (optional)
     pub fn pronouns(mut self, value: impl Into>) -> Self {
         self._fields.6 = value.into();
@@ -6677,7 +6573,10 @@ where
     }
 }
 
-impl ActorProfileDetailViewBuilder {
+impl<
+    St: actor_profile_detail_view_state::State,
+    S: BosStr,
+> ActorProfileDetailViewBuilder {
     /// Set the `websites` field (optional)
     pub fn websites(
         mut self,
@@ -6739,7 +6638,7 @@ where
 
 pub mod actor_profile_summary_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -6787,31 +6686,34 @@ pub struct ActorProfileSummaryViewBuilder<
     S: BosStr = DefaultStr,
 > {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
 impl ActorProfileSummaryView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> ActorProfileSummaryViewBuilder {
+    pub fn new() -> ActorProfileSummaryViewBuilder<
+        actor_profile_summary_view_state::Empty,
+        DefaultStr,
+    > {
         ActorProfileSummaryViewBuilder::new()
     }
 }
 
 impl ActorProfileSummaryView {
     /// Create a new builder for this type
-    pub fn builder() -> ActorProfileSummaryViewBuilder {
+    pub fn builder() -> ActorProfileSummaryViewBuilder<
+        actor_profile_summary_view_state::Empty,
+        S,
+    > {
         ActorProfileSummaryViewBuilder::builder()
     }
 }
 
-impl ActorProfileSummaryViewBuilder {
+impl ActorProfileSummaryViewBuilder<
+    actor_profile_summary_view_state::Empty,
+    DefaultStr,
+> {
     /// Create a new builder with all fields unset, using the default string type, if needed
     pub fn new() -> Self {
         ActorProfileSummaryViewBuilder {
@@ -6822,7 +6724,9 @@ impl ActorProfileSummaryViewBuilder ActorProfileSummaryViewBuilder {
+impl<
+    S: BosStr,
+> ActorProfileSummaryViewBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         ActorProfileSummaryViewBuilder {
@@ -6833,7 +6737,10 @@ impl ActorProfileSummaryViewBuilder ActorProfileSummaryViewBuilder {
+impl<
+    St: actor_profile_summary_view_state::State,
+    S: BosStr,
+> ActorProfileSummaryViewBuilder {
     /// Set the `avatar` field (optional)
     pub fn avatar(mut self, value: impl Into>>) -> Self {
         self._fields.0 = value.into();
@@ -6855,7 +6762,10 @@ where
     pub fn did(
         mut self,
         value: impl Into>,
-    ) -> ActorProfileSummaryViewBuilder, S> {
+    ) -> ActorProfileSummaryViewBuilder<
+        actor_profile_summary_view_state::SetDid,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         ActorProfileSummaryViewBuilder {
             _state: PhantomData,
@@ -6865,7 +6775,10 @@ where
     }
 }
 
-impl ActorProfileSummaryViewBuilder {
+impl<
+    St: actor_profile_summary_view_state::State,
+    S: BosStr,
+> ActorProfileSummaryViewBuilder {
     /// Set the `displayName` field (optional)
     pub fn display_name(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -6887,7 +6800,10 @@ where
     pub fn uri(
         mut self,
         value: impl Into>,
-    ) -> ActorProfileSummaryViewBuilder, S> {
+    ) -> ActorProfileSummaryViewBuilder<
+        actor_profile_summary_view_state::SetUri,
+        S,
+    > {
         self._fields.3 = Option::Some(value.into());
         ActorProfileSummaryViewBuilder {
             _state: PhantomData,
@@ -6930,7 +6846,7 @@ where
 
 pub mod collection_summary_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -6989,14 +6905,20 @@ pub struct CollectionSummaryViewBuilder<
 
 impl CollectionSummaryView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CollectionSummaryViewBuilder {
+    pub fn new() -> CollectionSummaryViewBuilder<
+        collection_summary_view_state::Empty,
+        DefaultStr,
+    > {
         CollectionSummaryViewBuilder::new()
     }
 }
 
 impl CollectionSummaryView {
     /// Create a new builder for this type
-    pub fn builder() -> CollectionSummaryViewBuilder {
+    pub fn builder() -> CollectionSummaryViewBuilder<
+        collection_summary_view_state::Empty,
+        S,
+    > {
         CollectionSummaryViewBuilder::builder()
     }
 }
@@ -7042,7 +6964,10 @@ where
     }
 }
 
-impl CollectionSummaryViewBuilder {
+impl<
+    St: collection_summary_view_state::State,
+    S: BosStr,
+> CollectionSummaryViewBuilder {
     /// Set the `slug` field (optional)
     pub fn slug(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -7055,9 +6980,15 @@ impl CollectionSummaryViewB
     }
 }
 
-impl CollectionSummaryViewBuilder {
+impl<
+    St: collection_summary_view_state::State,
+    S: BosStr,
+> CollectionSummaryViewBuilder {
     /// Set the `type` field (optional)
-    pub fn r#type(mut self, value: impl Into>>) -> Self {
+    pub fn r#type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -7120,7 +7051,7 @@ where
 
 pub mod credit_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -7153,10 +7084,7 @@ pub mod credit_entry_state {
 /// Builder for constructing an instance of this type.
 pub struct CreditEntryBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -7242,7 +7170,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreditEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreditEntry {
         CreditEntry {
             department: self._fields.0,
             role: self._fields.1.unwrap(),
@@ -7253,7 +7184,7 @@ where
 
 pub mod engine_summary_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -7296,7 +7227,10 @@ pub mod engine_summary_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EngineSummaryViewBuilder {
+pub struct EngineSummaryViewBuilder<
+    St: engine_summary_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -7304,7 +7238,10 @@ pub struct EngineSummaryViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> EngineSummaryViewBuilder {
+    pub fn new() -> EngineSummaryViewBuilder<
+        engine_summary_view_state::Empty,
+        DefaultStr,
+    > {
         EngineSummaryViewBuilder::new()
     }
 }
@@ -7405,7 +7342,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EngineSummaryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EngineSummaryView {
         EngineSummaryView {
             name: self._fields.0.unwrap(),
             slug: self._fields.1,
@@ -7417,7 +7357,7 @@ where
 
 pub mod game_detail_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -7474,7 +7414,10 @@ pub mod game_detail_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GameDetailViewBuilder {
+pub struct GameDetailViewBuilder<
+    St: game_detail_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>>,
@@ -7529,8 +7472,34 @@ impl GameDetailViewBuilder {
         GameDetailViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -7543,8 +7512,34 @@ impl GameDetailViewBuilder {
         GameDetailViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -7771,7 +7766,10 @@ impl GameDetailViewBuilder
         self
     }
     /// Set the `modes` field to an Option value (optional)
-    pub fn maybe_modes(mut self, value: Option>>) -> Self {
+    pub fn maybe_modes(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.12 = value;
         self
     }
@@ -8074,7 +8072,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> GameDetailView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> GameDetailView {
         GameDetailView {
             actor_credits: self._fields.0,
             age_ratings: self._fields.1,
@@ -8111,7 +8112,7 @@ where
 
 pub mod game_feed_view_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -8142,7 +8143,10 @@ pub mod game_feed_view_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GameFeedViewItemBuilder {
+pub struct GameFeedViewItemBuilder<
+    St: game_feed_view_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -8150,7 +8154,10 @@ pub struct GameFeedViewItemBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GameFeedViewItemBuilder {
+    pub fn new() -> GameFeedViewItemBuilder<
+        game_feed_view_item_state::Empty,
+        DefaultStr,
+    > {
         GameFeedViewItemBuilder::new()
     }
 }
@@ -8230,7 +8237,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> GameFeedViewItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> GameFeedViewItem {
         GameFeedViewItem {
             feed_context: self._fields.0,
             game: self._fields.1.unwrap(),
@@ -8241,7 +8251,7 @@ where
 
 pub mod game_summary_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -8284,7 +8294,10 @@ pub mod game_summary_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GameSummaryViewBuilder {
+pub struct GameSummaryViewBuilder<
+    St: game_summary_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -8469,7 +8482,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> GameSummaryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> GameSummaryView {
         GameSummaryView {
             application_type: self._fields.0,
             first_release_date: self._fields.1,
@@ -8485,7 +8501,7 @@ where
 
 pub mod game_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -8579,9 +8595,7 @@ impl GameViewBuilder {
     pub fn new() -> Self {
         GameViewBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -8592,9 +8606,7 @@ impl GameViewBuilder {
     pub fn builder() -> Self {
         GameViewBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -8676,7 +8688,10 @@ where
     St::Name: game_view_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> GameViewBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> GameViewBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         GameViewBuilder {
             _state: PhantomData,
@@ -8833,7 +8848,7 @@ where
 
 pub mod org_credit_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -8876,7 +8891,10 @@ pub mod org_credit_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct OrgCreditViewBuilder {
+pub struct OrgCreditViewBuilder<
+    St: org_credit_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -9004,7 +9022,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> OrgCreditView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> OrgCreditView {
         OrgCreditView {
             display_name: self._fields.0,
             org_uri: self._fields.1,
@@ -9017,7 +9038,7 @@ where
 
 pub mod org_profile_detail_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -9085,14 +9106,20 @@ pub struct OrgProfileDetailViewBuilder<
 
 impl OrgProfileDetailView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> OrgProfileDetailViewBuilder {
+    pub fn new() -> OrgProfileDetailViewBuilder<
+        org_profile_detail_view_state::Empty,
+        DefaultStr,
+    > {
         OrgProfileDetailViewBuilder::new()
     }
 }
 
 impl OrgProfileDetailView {
     /// Create a new builder for this type
-    pub fn builder() -> OrgProfileDetailViewBuilder {
+    pub fn builder() -> OrgProfileDetailViewBuilder<
+        org_profile_detail_view_state::Empty,
+        S,
+    > {
         OrgProfileDetailViewBuilder::builder()
     }
 }
@@ -9103,7 +9130,19 @@ impl OrgProfileDetailViewBuilder OrgProfileDetailViewBuilder OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `avatar` field (optional)
     pub fn avatar(mut self, value: impl Into>>) -> Self {
         self._fields.0 = value.into();
@@ -9136,7 +9190,10 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `country` field (optional)
     pub fn country(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -9149,7 +9206,10 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `createdAt` field (optional)
     pub fn created_at(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -9162,7 +9222,10 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `description` field (optional)
     pub fn description(mut self, value: impl Into>) -> Self {
         self._fields.3 = value.into();
@@ -9175,9 +9238,15 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -9207,7 +9276,10 @@ where
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `displayName` field (optional)
     pub fn display_name(mut self, value: impl Into>) -> Self {
         self._fields.6 = value.into();
@@ -9220,7 +9292,10 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `foundedAt` field (optional)
     pub fn founded_at(mut self, value: impl Into>) -> Self {
         self._fields.7 = value.into();
@@ -9233,7 +9308,10 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `media` field (optional)
     pub fn media(
         mut self,
@@ -9252,7 +9330,10 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `parent` field (optional)
     pub fn parent(mut self, value: impl Into>>) -> Self {
         self._fields.9 = value.into();
@@ -9265,9 +9346,15 @@ impl OrgProfileDetailViewBu
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `status` field (optional)
-    pub fn status(mut self, value: impl Into>>) -> Self {
+    pub fn status(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.10 = value.into();
         self
     }
@@ -9297,7 +9384,10 @@ where
     }
 }
 
-impl OrgProfileDetailViewBuilder {
+impl<
+    St: org_profile_detail_view_state::State,
+    S: BosStr,
+> OrgProfileDetailViewBuilder {
     /// Set the `websites` field (optional)
     pub fn websites(
         mut self,
@@ -9367,7 +9457,7 @@ where
 
 pub mod org_profile_summary_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -9415,26 +9505,26 @@ pub struct OrgProfileSummaryViewBuilder<
     S: BosStr = DefaultStr,
 > {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
 impl OrgProfileSummaryView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> OrgProfileSummaryViewBuilder
-    {
+    pub fn new() -> OrgProfileSummaryViewBuilder<
+        org_profile_summary_view_state::Empty,
+        DefaultStr,
+    > {
         OrgProfileSummaryViewBuilder::new()
     }
 }
 
 impl OrgProfileSummaryView {
     /// Create a new builder for this type
-    pub fn builder() -> OrgProfileSummaryViewBuilder {
+    pub fn builder() -> OrgProfileSummaryViewBuilder<
+        org_profile_summary_view_state::Empty,
+        S,
+    > {
         OrgProfileSummaryViewBuilder::builder()
     }
 }
@@ -9461,7 +9551,10 @@ impl OrgProfileSummaryViewBuilder OrgProfileSummaryViewBuilder {
+impl<
+    St: org_profile_summary_view_state::State,
+    S: BosStr,
+> OrgProfileSummaryViewBuilder {
     /// Set the `avatar` field (optional)
     pub fn avatar(mut self, value: impl Into>>) -> Self {
         self._fields.0 = value.into();
@@ -9493,7 +9586,10 @@ where
     }
 }
 
-impl OrgProfileSummaryViewBuilder {
+impl<
+    St: org_profile_summary_view_state::State,
+    S: BosStr,
+> OrgProfileSummaryViewBuilder {
     /// Set the `displayName` field (optional)
     pub fn display_name(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -9558,7 +9654,7 @@ where
 
 pub mod platform_features_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -9601,7 +9697,10 @@ pub mod platform_features_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PlatformFeaturesBuilder {
+pub struct PlatformFeaturesBuilder<
+    St: platform_features_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -9696,7 +9795,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PlatformFeatures {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PlatformFeatures {
         PlatformFeatures {
             features: self._fields.0.unwrap(),
             platform: self._fields.1.unwrap(),
@@ -9707,7 +9809,7 @@ where
 
 pub mod platform_summary_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -9767,14 +9869,20 @@ pub struct PlatformSummaryViewBuilder<
 
 impl PlatformSummaryView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> PlatformSummaryViewBuilder {
+    pub fn new() -> PlatformSummaryViewBuilder<
+        platform_summary_view_state::Empty,
+        DefaultStr,
+    > {
         PlatformSummaryViewBuilder::new()
     }
 }
 
 impl PlatformSummaryView {
     /// Create a new builder for this type
-    pub fn builder() -> PlatformSummaryViewBuilder {
+    pub fn builder() -> PlatformSummaryViewBuilder<
+        platform_summary_view_state::Empty,
+        S,
+    > {
         PlatformSummaryViewBuilder::builder()
     }
 }
@@ -9801,7 +9909,10 @@ impl PlatformSummaryViewBuilder PlatformSummaryViewBuilder {
+impl<
+    St: platform_summary_view_state::State,
+    S: BosStr,
+> PlatformSummaryViewBuilder {
     /// Set the `abbreviation` field (optional)
     pub fn abbreviation(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -9814,7 +9925,10 @@ impl PlatformSummaryViewBuild
     }
 }
 
-impl PlatformSummaryViewBuilder {
+impl<
+    St: platform_summary_view_state::State,
+    S: BosStr,
+> PlatformSummaryViewBuilder {
     /// Set the `category` field (optional)
     pub fn category(
         mut self,
@@ -9852,7 +9966,10 @@ where
     }
 }
 
-impl PlatformSummaryViewBuilder {
+impl<
+    St: platform_summary_view_state::State,
+    S: BosStr,
+> PlatformSummaryViewBuilder {
     /// Set the `slug` field (optional)
     pub fn slug(mut self, value: impl Into>) -> Self {
         self._fields.3 = value.into();
@@ -9902,7 +10019,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PlatformSummaryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PlatformSummaryView {
         PlatformSummaryView {
             abbreviation: self._fields.0,
             category: self._fields.1,
@@ -9916,7 +10036,7 @@ where
 
 pub mod profile_summary_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -9973,8 +10093,10 @@ pub mod profile_summary_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ProfileSummaryViewBuilder
-{
+pub struct ProfileSummaryViewBuilder<
+    St: profile_summary_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -9988,7 +10110,10 @@ pub struct ProfileSummaryViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ProfileSummaryViewBuilder {
+    pub fn new() -> ProfileSummaryViewBuilder<
+        profile_summary_view_state::Empty,
+        DefaultStr,
+    > {
         ProfileSummaryViewBuilder::new()
     }
 }
@@ -10124,7 +10249,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileSummaryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileSummaryView {
         ProfileSummaryView {
             avatar: self._fields.0,
             did: self._fields.1.unwrap(),
@@ -10138,7 +10266,7 @@ where
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -10229,7 +10357,10 @@ where
     St::Key: signature_state::IsUnset,
 {
     /// Set the `key` field (required)
-    pub fn key(mut self, value: impl Into) -> SignatureBuilder, S> {
+    pub fn key(
+        mut self,
+        value: impl Into,
+    ) -> SignatureBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         SignatureBuilder {
             _state: PhantomData,
@@ -10273,7 +10404,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             key: self._fields.0.unwrap(),
             signature: self._fields.1.unwrap(),
@@ -10284,7 +10418,7 @@ where
 
 pub mod skeleton_game_feed_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -10326,14 +10460,20 @@ pub struct SkeletonGameFeedItemBuilder<
 
 impl SkeletonGameFeedItem {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SkeletonGameFeedItemBuilder {
+    pub fn new() -> SkeletonGameFeedItemBuilder<
+        skeleton_game_feed_item_state::Empty,
+        DefaultStr,
+    > {
         SkeletonGameFeedItemBuilder::new()
     }
 }
 
 impl SkeletonGameFeedItem {
     /// Create a new builder for this type
-    pub fn builder() -> SkeletonGameFeedItemBuilder {
+    pub fn builder() -> SkeletonGameFeedItemBuilder<
+        skeleton_game_feed_item_state::Empty,
+        S,
+    > {
         SkeletonGameFeedItemBuilder::builder()
     }
 }
@@ -10360,7 +10500,10 @@ impl SkeletonGameFeedItemBuilder SkeletonGameFeedItemBuilder {
+impl<
+    St: skeleton_game_feed_item_state::State,
+    S: BosStr,
+> SkeletonGameFeedItemBuilder {
     /// Set the `feedContext` field (optional)
     pub fn feed_context(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -10420,7 +10563,7 @@ where
 
 pub mod website_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -10546,4 +10689,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/accept_contribution.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/accept_contribution.rs
index 5cb3c86d9..3e58cc88e 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/accept_contribution.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/accept_contribution.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AcceptContribution {
     ///URI of the contributionPatch record to accept.
     pub contribution_patch: AtUri,
@@ -29,11 +26,9 @@ pub struct AcceptContribution {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AcceptContributionOutput {
     ///URI of the updated entity record.
     pub uri: AtUri,
@@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for AcceptContributionResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for AcceptContribution {
     const NSID: &'static str = "games.gamesgamesgamesgames.acceptContribution";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = AcceptContributionResponse;
 }
 
@@ -65,15 +61,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.acceptContribution`. The request payload
 pub struct AcceptContributionRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for AcceptContributionRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.acceptContribution";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = AcceptContribution;
     type Response = AcceptContributionResponse;
 }
 
 pub mod accept_contribution_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -104,7 +101,10 @@ pub mod accept_contribution_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct AcceptContributionBuilder {
+pub struct AcceptContributionBuilder<
+    St: accept_contribution_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -112,7 +112,10 @@ pub struct AcceptContributionBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> AcceptContributionBuilder {
+    pub fn new() -> AcceptContributionBuilder<
+        accept_contribution_state::Empty,
+        DefaultStr,
+    > {
         AcceptContributionBuilder::new()
     }
 }
@@ -155,7 +158,10 @@ where
     pub fn contribution_patch(
         mut self,
         value: impl Into>,
-    ) -> AcceptContributionBuilder, S> {
+    ) -> AcceptContributionBuilder<
+        accept_contribution_state::SetContributionPatch,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         AcceptContributionBuilder {
             _state: PhantomData,
@@ -178,10 +184,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AcceptContribution {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AcceptContribution {
         AcceptContribution {
             contribution_patch: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor.rs
index 6186ce4cf..1dc1b7ef1 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor.rs
@@ -9,4 +9,4 @@ pub mod credit;
 pub mod game;
 pub mod get_profile;
 pub mod profile;
-pub mod put_profile;
+pub mod put_profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/create_profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/create_profile.rs
index f23793603..3d5b53007 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/create_profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/create_profile.rs
@@ -8,23 +8,20 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::games_gamesgamesgamesgames::Website;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::string::{AtUri, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::games_gamesgamesgamesgames::Website;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateProfile {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -45,11 +42,9 @@ pub struct CreateProfile {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateProfileOutput {
     pub cid: S,
     pub uri: AtUri,
@@ -70,8 +65,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateProfileResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateProfile {
     const NSID: &'static str = "games.gamesgamesgamesgames.actor.createProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateProfileResponse;
 }
 
@@ -81,8 +77,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.actor.createProfile`. The request payloa
 pub struct CreateProfileRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateProfileRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.actor.createProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateProfile;
     type Response = CreateProfileResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/credit.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/credit.rs
index f789034d1..4771a0a67 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/credit.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/credit.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::games_gamesgamesgamesgames::CreditEntry;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::games_gamesgamesgamesgames::CreditEntry;
 /// A relationship between a game and a profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -123,7 +123,7 @@ impl LexiconSchema for Credit {
 
 pub mod credit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -306,10 +306,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_actor_credit() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.actor.credit"),
@@ -387,4 +387,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_credit() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/game.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/game.rs
index e01a1453c..666e34432 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/game.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/game.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,19 +24,16 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::games_gamesgamesgamesgames::Signature;
 use crate::games_gamesgamesgamesgames::actor::game;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Reference to a game, either by AT URI or external platform ID.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GameRef {
     ///External platform's ID for the game.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -176,6 +173,7 @@ where
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -261,10 +259,10 @@ impl LexiconSchema for Game {
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_actor_game() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.actor.game"),
@@ -273,34 +271,38 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_game() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gameRef"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Reference to a game, either by AT URI or external platform ID.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Reference to a game, either by AT URI or external platform ID.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("externalId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "External platform's ID for the game.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("External platform's ID for the game."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("platform"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "External platform for ID lookup.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("External platform for ID lookup."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("AT URI of the game record.")),
+                                description: Some(
+                                    CowStr::new_static("AT URI of the game record."),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -388,7 +390,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_game() -> LexiconDoc<'static> {
 
 pub mod game_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -551,12 +553,18 @@ where
 
 impl GameBuilder {
     /// Set the `signatures` field (optional)
-    pub fn signatures(mut self, value: impl Into>>>) -> Self {
+    pub fn signatures(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `signatures` field to an Option value (optional)
-    pub fn maybe_signatures(mut self, value: Option>>) -> Self {
+    pub fn maybe_signatures(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -589,4 +597,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/get_profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/get_profile.rs
index c95f3aceb..ffe0242c5 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/get_profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/get_profile.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::ActorProfileDetailView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::ActorProfileDetailView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub profile: Option>,
@@ -61,4 +58,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetProfile;
     type Response = GetProfileResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/profile.rs
index bb9153bb4..b4ee527dc 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::games_gamesgamesgamesgames::Website;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::games_gamesgamesgamesgames::Website;
 /// A declaration of a Pentaract actor profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -131,20 +131,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -187,7 +192,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -327,7 +332,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -418,10 +426,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.actor.profile"),
@@ -430,23 +438,23 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_profile() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A declaration of a Pentaract actor profile.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A declaration of a Pentaract actor profile."),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("displayName"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("displayName"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -458,9 +466,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_profile() -> LexiconDoc<'static>
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Free-form profile description text.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Free-form profile description text."),
+                                    ),
                                     max_length: Some(3000usize),
                                     ..Default::default()
                                 }),
@@ -468,9 +476,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_profile() -> LexiconDoc<'static>
                             map.insert(
                                 SmolStr::new_static("descriptionFacets"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Annotations of text (mentions, URLs, hashtags, etc)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Annotations of text (mentions, URLs, hashtags, etc)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("app.bsky.richtext.facet"),
                                         ..Default::default()
@@ -488,9 +498,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_profile() -> LexiconDoc<'static>
                             map.insert(
                                 SmolStr::new_static("pronouns"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Free-form pronouns text.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Free-form pronouns text."),
+                                    ),
                                     max_length: Some(200usize),
                                     ..Default::default()
                                 }),
@@ -518,4 +528,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_actor_profile() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/put_profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/put_profile.rs
index de7ab8394..e0cccd900 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/put_profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/actor/put_profile.rs
@@ -8,23 +8,20 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::games_gamesgamesgamesgames::Website;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::string::{AtUri, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::games_gamesgamesgamesgames::Website;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutProfile {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -45,11 +42,9 @@ pub struct PutProfile {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutProfileOutput {
     pub cid: S,
     pub uri: AtUri,
@@ -70,8 +65,9 @@ impl jacquard_common::xrpc::XrpcResp for PutProfileResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutProfile {
     const NSID: &'static str = "games.gamesgamesgamesgames.actor.putProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutProfileResponse;
 }
 
@@ -81,8 +77,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.actor.putProfile`. The request payload t
 pub struct PutProfileRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutProfileRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.actor.putProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutProfile;
     type Response = PutProfileResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_admin.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_admin.rs
index 7d38df0ba..b86860864 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_admin.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_admin.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_basic.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_basic.rs
index 4f25f1087..67ef21f0a 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_basic.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_basic.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_contributions.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_contributions.rs
index 6420dcbe3..f420ad582 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_contributions.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_contributions.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_custom_feeds.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_custom_feeds.rs
index 477e14e94..f8661952b 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_custom_feeds.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_custom_feeds.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_browsing.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_browsing.rs
index e9de4141b..e4c760d30 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_browsing.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_browsing.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_interactions.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_interactions.rs
index 6b8d97e90..e230c4a68 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_interactions.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_game_interactions.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_profiles.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_profiles.rs
index ed681ea4f..f226a8293 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_profiles.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_profiles.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_studio.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_studio.rs
index a238bc6bd..2539cd4aa 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_studio.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/auth_studio.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/claim.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/claim.rs
index 6e6c4da6d..0982acf35 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/claim.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/claim.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A claim for ownership of game or organization records.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -52,6 +52,7 @@ pub struct Claim {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ClaimType {
     Game,
@@ -214,7 +215,7 @@ impl LexiconSchema for Claim {
 
 pub mod claim_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -429,10 +430,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_claim() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.claim"),
@@ -517,4 +518,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_claim() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/claim_review.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/claim_review.rs
index 64e20b215..b7d1bf3be 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/claim_review.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/claim_review.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A review of a claim for ownership of game or organization records.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -50,6 +50,7 @@ pub struct ClaimReview {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ClaimReviewStatus {
     Approved,
@@ -200,7 +201,7 @@ impl LexiconSchema for ClaimReview {
 
 pub mod claim_review_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -445,7 +446,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ClaimReview {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ClaimReview {
         ClaimReview {
             approved_games: self._fields.0,
             claim: self._fields.1.unwrap(),
@@ -459,10 +463,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_claimReview() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.claimReview"),
@@ -471,17 +475,20 @@ fn lexicon_doc_games_gamesgamesgamesgames_claimReview() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A review of a claim for ownership of game or organization records.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A review of a claim for ownership of game or organization records.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("claim"),
-                            SmolStr::new_static("status"),
-                            SmolStr::new_static("reviewedBy"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("claim"), SmolStr::new_static("status"),
+                                SmolStr::new_static("reviewedBy"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -540,4 +547,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_claimReview() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/collection.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/collection.rs
index 2215fd47e..37ded560c 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/collection.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/collection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::MediaItem;
-use crate::games_gamesgamesgamesgames::Website;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::MediaItem;
+use crate::games_gamesgamesgamesgames::Website;
 /// A grouping of games — franchise, series, or curated list.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -57,6 +57,7 @@ pub struct Collection {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum CollectionType {
     Franchise,
@@ -199,7 +200,7 @@ impl LexiconSchema for Collection {
 
 pub mod collection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -430,7 +431,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collection {
         Collection {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -446,10 +450,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_collection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.collection"),
@@ -458,15 +462,19 @@ fn lexicon_doc_games_gamesgamesgamesgames_collection() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A grouping of games — franchise, series, or curated list.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A grouping of games — franchise, series, or curated list.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -547,4 +555,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_collection() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution.rs
index 8809f43e5..5cace80c7 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::games_gamesgamesgamesgames::Signature;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::games_gamesgamesgamesgames::Signature;
 /// A community contribution proposing changes to a game or submitting a new game.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -56,6 +56,7 @@ pub struct Contribution {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ContributionContributionType {
     Correction,
@@ -105,7 +106,8 @@ impl Serialize for ContributionContributionType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContributionContributionType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ContributionContributionType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -129,9 +131,15 @@ where
     type Output = ContributionContributionType;
     fn into_static(self) -> Self::Output {
         match self {
-            ContributionContributionType::Correction => ContributionContributionType::Correction,
-            ContributionContributionType::Addition => ContributionContributionType::Addition,
-            ContributionContributionType::NewGame => ContributionContributionType::NewGame,
+            ContributionContributionType::Correction => {
+                ContributionContributionType::Correction
+            }
+            ContributionContributionType::Addition => {
+                ContributionContributionType::Addition
+            }
+            ContributionContributionType::NewGame => {
+                ContributionContributionType::NewGame
+            }
             ContributionContributionType::Other(v) => {
                 ContributionContributionType::Other(v.into_static())
             }
@@ -139,6 +147,7 @@ where
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -222,7 +231,7 @@ impl LexiconSchema for Contribution {
 
 pub mod contribution_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -408,7 +417,10 @@ impl ContributionBuilder {
         self
     }
     /// Set the `signatures` field to an Option value (optional)
-    pub fn maybe_signatures(mut self, value: Option>>) -> Self {
+    pub fn maybe_signatures(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -447,7 +459,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Contribution {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Contribution {
         Contribution {
             changes: self._fields.0.unwrap(),
             contribution_type: self._fields.1.unwrap(),
@@ -461,10 +476,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_contribution() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.contribution"),
@@ -562,4 +577,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_contribution() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_patch.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_patch.rs
index 0f8654cfa..377ebe0ee 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_patch.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_patch.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A mod-approved patch representing changes to apply to an entity. Created on mod approval, deleted when the entity owner accepts and merges.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -110,7 +110,7 @@ impl LexiconSchema for ContributionPatch {
 
 pub mod contribution_patch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -201,7 +201,10 @@ pub mod contribution_patch_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ContributionPatchBuilder {
+pub struct ContributionPatchBuilder<
+    St: contribution_patch_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -215,7 +218,10 @@ pub struct ContributionPatchBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ContributionPatchBuilder {
+    pub fn new() -> ContributionPatchBuilder<
+        contribution_patch_state::Empty,
+        DefaultStr,
+    > {
         ContributionPatchBuilder::new()
     }
 }
@@ -296,7 +302,10 @@ where
     pub fn contribution_review(
         mut self,
         value: impl Into>,
-    ) -> ContributionPatchBuilder, S> {
+    ) -> ContributionPatchBuilder<
+        contribution_patch_state::SetContributionReview,
+        S,
+    > {
         self._fields.2 = Option::Some(value.into());
         ContributionPatchBuilder {
             _state: PhantomData,
@@ -365,7 +374,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ContributionPatch {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ContributionPatch {
         ContributionPatch {
             changes: self._fields.0.unwrap(),
             contribution: self._fields.1.unwrap(),
@@ -378,10 +390,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_contributionPatch() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.contributionPatch"),
@@ -457,4 +469,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_contributionPatch() -> LexiconDoc<'sta
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_review.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_review.rs
index b250d2b6c..6223221b1 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_review.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_review.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A review of a community contribution by a moderator.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -48,6 +48,7 @@ pub struct ContributionReview {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ContributionReviewStatus {
     Approved,
@@ -97,7 +98,8 @@ impl Serialize for ContributionReviewStatus {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContributionReviewStatus {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ContributionReviewStatus {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -123,8 +125,12 @@ where
         match self {
             ContributionReviewStatus::Approved => ContributionReviewStatus::Approved,
             ContributionReviewStatus::Denied => ContributionReviewStatus::Denied,
-            ContributionReviewStatus::NeedsRevision => ContributionReviewStatus::NeedsRevision,
-            ContributionReviewStatus::Other(v) => ContributionReviewStatus::Other(v.into_static()),
+            ContributionReviewStatus::NeedsRevision => {
+                ContributionReviewStatus::NeedsRevision
+            }
+            ContributionReviewStatus::Other(v) => {
+                ContributionReviewStatus::Other(v.into_static())
+            }
         }
     }
 }
@@ -202,7 +208,7 @@ impl LexiconSchema for ContributionReview {
 
 pub mod contribution_review_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -275,7 +281,10 @@ pub mod contribution_review_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ContributionReviewBuilder {
+pub struct ContributionReviewBuilder<
+    St: contribution_review_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -289,7 +298,10 @@ pub struct ContributionReviewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ContributionReviewBuilder {
+    pub fn new() -> ContributionReviewBuilder<
+        contribution_review_state::Empty,
+        DefaultStr,
+    > {
         ContributionReviewBuilder::new()
     }
 }
@@ -432,7 +444,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ContributionReview {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ContributionReview {
         ContributionReview {
             contribution: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -445,10 +460,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_contributionReview() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.contributionReview"),
@@ -457,17 +472,21 @@ fn lexicon_doc_games_gamesgamesgamesgames_contributionReview() -> LexiconDoc<'st
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A review of a community contribution by a moderator.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A review of a community contribution by a moderator.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("contribution"),
-                            SmolStr::new_static("status"),
-                            SmolStr::new_static("reviewedBy"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("contribution"),
+                                SmolStr::new_static("status"),
+                                SmolStr::new_static("reviewedBy"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -516,4 +535,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_contributionReview() -> LexiconDoc<'st
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_verification.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_verification.rs
index c0d875283..b8b9230ab 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_verification.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/contribution_verification.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A permanent record crediting a contributor for an accepted contribution. Never deleted.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -48,6 +48,7 @@ pub struct ContributionVerification {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ContributionVerificationAcceptedBy {
     Mod,
@@ -97,7 +98,8 @@ impl Serialize for ContributionVerificationAcceptedBy {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContributionVerificationAcceptedBy {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ContributionVerificationAcceptedBy {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -121,9 +123,15 @@ where
     type Output = ContributionVerificationAcceptedBy;
     fn into_static(self) -> Self::Output {
         match self {
-            ContributionVerificationAcceptedBy::Mod => ContributionVerificationAcceptedBy::Mod,
-            ContributionVerificationAcceptedBy::Owner => ContributionVerificationAcceptedBy::Owner,
-            ContributionVerificationAcceptedBy::Both => ContributionVerificationAcceptedBy::Both,
+            ContributionVerificationAcceptedBy::Mod => {
+                ContributionVerificationAcceptedBy::Mod
+            }
+            ContributionVerificationAcceptedBy::Owner => {
+                ContributionVerificationAcceptedBy::Owner
+            }
+            ContributionVerificationAcceptedBy::Both => {
+                ContributionVerificationAcceptedBy::Both
+            }
             ContributionVerificationAcceptedBy::Other(v) => {
                 ContributionVerificationAcceptedBy::Other(v.into_static())
             }
@@ -131,6 +139,7 @@ where
     }
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ContributionVerificationContributionType {
     Correction,
@@ -181,8 +190,7 @@ impl Serialize for ContributionVerificationContributionType {
 }
 
 impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
-    for ContributionVerificationContributionType
-{
+for ContributionVerificationContributionType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -198,7 +206,8 @@ impl Default for ContributionVerificationContributionType jacquard_common::IntoStatic for ContributionVerificationContributionType
+impl jacquard_common::IntoStatic
+for ContributionVerificationContributionType
 where
     S: BosStr + jacquard_common::IntoStatic,
     S::Output: BosStr,
@@ -234,7 +243,9 @@ pub struct ContributionVerificationGetRecordOutput {
 }
 
 impl ContributionVerification {
-    pub fn uri(uri: S) -> Result, UriError> {
+    pub fn uri(
+        uri: S,
+    ) -> Result, UriError> {
         RecordUri::try_from_uri(AtUri::new(uri)?)
     }
 }
@@ -250,7 +261,8 @@ impl XrpcResp for ContributionVerificationRecord {
     type Err = RecordError;
 }
 
-impl From> for ContributionVerification {
+impl From>
+for ContributionVerification {
     fn from(output: ContributionVerificationGetRecordOutput) -> Self {
         output.value
     }
@@ -283,7 +295,7 @@ impl LexiconSchema for ContributionVerification {
 
 pub mod contribution_verification_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -412,20 +424,28 @@ pub struct ContributionVerificationBuilder<
 
 impl ContributionVerification {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> ContributionVerificationBuilder {
+    pub fn new() -> ContributionVerificationBuilder<
+        contribution_verification_state::Empty,
+        DefaultStr,
+    > {
         ContributionVerificationBuilder::new()
     }
 }
 
 impl ContributionVerification {
     /// Create a new builder for this type
-    pub fn builder() -> ContributionVerificationBuilder {
+    pub fn builder() -> ContributionVerificationBuilder<
+        contribution_verification_state::Empty,
+        S,
+    > {
         ContributionVerificationBuilder::builder()
     }
 }
 
-impl ContributionVerificationBuilder {
+impl ContributionVerificationBuilder<
+    contribution_verification_state::Empty,
+    DefaultStr,
+> {
     /// Create a new builder with all fields unset, using the default string type, if needed
     pub fn new() -> Self {
         ContributionVerificationBuilder {
@@ -436,7 +456,9 @@ impl ContributionVerificationBuilder ContributionVerificationBuilder {
+impl<
+    S: BosStr,
+> ContributionVerificationBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         ContributionVerificationBuilder {
@@ -456,8 +478,10 @@ where
     pub fn accepted_by(
         mut self,
         value: impl Into>,
-    ) -> ContributionVerificationBuilder, S>
-    {
+    ) -> ContributionVerificationBuilder<
+        contribution_verification_state::SetAcceptedBy,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         ContributionVerificationBuilder {
             _state: PhantomData,
@@ -476,8 +500,10 @@ where
     pub fn contribution(
         mut self,
         value: impl Into>,
-    ) -> ContributionVerificationBuilder, S>
-    {
+    ) -> ContributionVerificationBuilder<
+        contribution_verification_state::SetContribution,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         ContributionVerificationBuilder {
             _state: PhantomData,
@@ -496,8 +522,10 @@ where
     pub fn contribution_type(
         mut self,
         value: impl Into>,
-    ) -> ContributionVerificationBuilder, S>
-    {
+    ) -> ContributionVerificationBuilder<
+        contribution_verification_state::SetContributionType,
+        S,
+    > {
         self._fields.2 = Option::Some(value.into());
         ContributionVerificationBuilder {
             _state: PhantomData,
@@ -516,8 +544,10 @@ where
     pub fn contributor(
         mut self,
         value: impl Into>,
-    ) -> ContributionVerificationBuilder, S>
-    {
+    ) -> ContributionVerificationBuilder<
+        contribution_verification_state::SetContributor,
+        S,
+    > {
         self._fields.3 = Option::Some(value.into());
         ContributionVerificationBuilder {
             _state: PhantomData,
@@ -536,7 +566,10 @@ where
     pub fn created_at(
         mut self,
         value: impl Into,
-    ) -> ContributionVerificationBuilder, S> {
+    ) -> ContributionVerificationBuilder<
+        contribution_verification_state::SetCreatedAt,
+        S,
+    > {
         self._fields.4 = Option::Some(value.into());
         ContributionVerificationBuilder {
             _state: PhantomData,
@@ -555,7 +588,10 @@ where
     pub fn subject(
         mut self,
         value: impl Into>,
-    ) -> ContributionVerificationBuilder, S> {
+    ) -> ContributionVerificationBuilder<
+        contribution_verification_state::SetSubject,
+        S,
+    > {
         self._fields.5 = Option::Some(value.into());
         ContributionVerificationBuilder {
             _state: PhantomData,
@@ -604,11 +640,13 @@ where
     }
 }
 
-fn lexicon_doc_games_gamesgamesgamesgames_contributionVerification() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
+fn lexicon_doc_games_gamesgamesgamesgames_contributionVerification() -> LexiconDoc<
+    'static,
+> {
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.contributionVerification"),
@@ -688,4 +726,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_contributionVerification() -> LexiconD
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_claim.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_claim.rs
index 66ec8cd25..781ed2458 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_claim.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_claim.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateClaim {
     pub contact: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -35,11 +32,9 @@ pub struct CreateClaim {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateClaimOutput {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -59,8 +54,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateClaimResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateClaim {
     const NSID: &'static str = "games.gamesgamesgamesgames.createClaim";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateClaimResponse;
 }
 
@@ -70,8 +66,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.createClaim`. The request payload type i
 pub struct CreateClaimRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateClaimRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.createClaim";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateClaim;
     type Response = CreateClaimResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_contribution.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_contribution.rs
index 50b000dae..90074118d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_contribution.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_contribution.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateContribution {
     ///A partial object with only changed fields.
     pub changes: Data,
@@ -35,6 +32,7 @@ pub struct CreateContribution {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum CreateContributionContributionType {
     Correction,
@@ -84,7 +82,8 @@ impl Serialize for CreateContributionContributionType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CreateContributionContributionType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for CreateContributionContributionType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -124,11 +123,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateContributionOutput {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -148,8 +145,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateContributionResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateContribution {
     const NSID: &'static str = "games.gamesgamesgamesgames.createContribution";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateContributionResponse;
 }
 
@@ -159,15 +157,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.createContribution`. The request payload
 pub struct CreateContributionRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateContributionRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.createContribution";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateContribution;
     type Response = CreateContributionResponse;
 }
 
 pub mod create_contribution_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -210,7 +209,10 @@ pub mod create_contribution_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CreateContributionBuilder {
+pub struct CreateContributionBuilder<
+    St: create_contribution_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -223,7 +225,10 @@ pub struct CreateContributionBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CreateContributionBuilder {
+    pub fn new() -> CreateContributionBuilder<
+        create_contribution_state::Empty,
+        DefaultStr,
+    > {
         CreateContributionBuilder::new()
     }
 }
@@ -285,7 +290,10 @@ where
     pub fn contribution_type(
         mut self,
         value: impl Into>,
-    ) -> CreateContributionBuilder, S> {
+    ) -> CreateContributionBuilder<
+        create_contribution_state::SetContributionType,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         CreateContributionBuilder {
             _state: PhantomData,
@@ -338,7 +346,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateContribution {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateContribution {
         CreateContribution {
             changes: self._fields.0.unwrap(),
             contribution_type: self._fields.1.unwrap(),
@@ -347,4 +358,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_game.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_game.rs
index b4e52b59e..cc9659e0d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_game.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_game.rs
@@ -8,6 +8,14 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
+#[allow(unused_imports)]
+use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::deps::smol_str::SmolStr;
+use jacquard_common::types::string::AtUri;
+use jacquard_common::types::value::Data;
+use jacquard_derive::IntoStatic;
+use serde::{Serialize, Deserialize};
 use crate::games_gamesgamesgamesgames::AgeRating;
 use crate::games_gamesgamesgamesgames::AlternativeName;
 use crate::games_gamesgamesgamesgames::ApplicationType;
@@ -22,20 +30,9 @@ use crate::games_gamesgamesgamesgames::Release;
 use crate::games_gamesgamesgamesgames::Theme;
 use crate::games_gamesgamesgamesgames::TimeToBeat;
 use crate::games_gamesgamesgamesgames::Website;
-#[allow(unused_imports)]
-use core::marker::PhantomData;
-use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::AtUri;
-use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
-use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateGame {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub age_ratings: Option>>,
@@ -85,11 +82,9 @@ pub struct CreateGame {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateGameOutput {
     pub cid: S,
     pub uri: AtUri,
@@ -110,8 +105,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateGameResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateGame {
     const NSID: &'static str = "games.gamesgamesgamesgames.createGame";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateGameResponse;
 }
 
@@ -121,8 +117,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.createGame`. The request payload type is
 pub struct CreateGameRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateGameRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.createGame";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateGame;
     type Response = CreateGameResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_list.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_list.rs
index 619f3c6e6..eaeebcfc6 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/create_list.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/create_list.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateList {
     ///Optional description of the list.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -32,11 +29,9 @@ pub struct CreateList {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateListOutput {
     pub cid: S,
     pub uri: AtUri,
@@ -57,8 +52,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateListResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateList {
     const NSID: &'static str = "games.gamesgamesgamesgames.createList";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateListResponse;
 }
 
@@ -68,8 +64,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.createList`. The request payload type is
 pub struct CreateListRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateListRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.createList";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateList;
     type Response = CreateListResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/engine.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/engine.rs
index 4c05f7d60..80cda55d0 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/engine.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/engine.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::MediaItem;
-use crate::games_gamesgamesgamesgames::Website;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::MediaItem;
+use crate::games_gamesgamesgamesgames::Website;
 /// A game engine.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -116,7 +116,7 @@ impl LexiconSchema for Engine {
 
 pub mod engine_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -273,7 +273,10 @@ where
     St::Name: engine_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> EngineBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> EngineBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         EngineBuilder {
             _state: PhantomData,
@@ -344,10 +347,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_engine() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.engine"),
@@ -359,10 +362,12 @@ fn lexicon_doc_games_gamesgamesgamesgames_engine() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("A game engine.")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -440,4 +445,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_engine() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed.rs
index 52b348114..b56aebf8d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed.rs
@@ -17,4 +17,4 @@ pub mod get_personalized_feed;
 pub mod get_recently_released_feed;
 pub mod get_recently_updated_feed;
 pub mod get_similar_games_feed;
-pub mod get_upcoming_releases_feed;
+pub mod get_upcoming_releases_feed;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/describe_feed_generator.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/describe_feed_generator.rs
index 9115e052f..d3e1fd19d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/describe_feed_generator.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/describe_feed_generator.rs
@@ -10,38 +10,33 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::feed::describe_feed_generator;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::feed::describe_feed_generator;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Feed {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Links {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub privacy_policy: Option,
@@ -51,11 +46,9 @@ pub struct Links {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeFeedGeneratorOutput {
     pub did: Did,
     pub feeds: Vec>,
@@ -131,7 +124,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeFeedGeneratorRequest {
 
 pub mod feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -210,7 +203,10 @@ where
     St::Uri: feed_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> FeedBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> FeedBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         FeedBuilder {
             _state: PhantomData,
@@ -241,11 +237,13 @@ where
     }
 }
 
-fn lexicon_doc_games_gamesgamesgamesgames_feed_describeFeedGenerator() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
+fn lexicon_doc_games_gamesgamesgamesgames_feed_describeFeedGenerator() -> LexiconDoc<
+    'static,
+> {
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.feed.describeFeedGenerator"),
@@ -278,15 +276,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_feed_describeFeedGenerator() -> Lexico
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("privacyPolicy"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("termsOfService"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -304,4 +298,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_feed_describeFeedGenerator() -> Lexico
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/generator.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/generator.rs
index 5a27fd0f8..7a9dec3f9 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/generator.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/generator.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a game feed generator. Can exist in any repository.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -122,20 +122,25 @@ impl LexiconSchema for Generator {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -193,7 +198,7 @@ impl LexiconSchema for Generator {
 
 pub mod generator_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -415,7 +420,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Generator {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Generator {
         Generator {
             accepts_interactions: self._fields.0,
             avatar: self._fields.1,
@@ -429,10 +437,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_feed_generator() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.feed.generator"),
@@ -441,16 +449,20 @@ fn lexicon_doc_games_gamesgamesgamesgames_feed_generator() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a game feed generator. Can exist in any repository.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a game feed generator. Can exist in any repository.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("did"),
-                            SmolStr::new_static("displayName"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("did"),
+                                SmolStr::new_static("displayName"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -462,9 +474,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_feed_generator() -> LexiconDoc<'static
                             );
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -507,4 +517,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_feed_generator() -> LexiconDoc<'static
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_activity_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_activity_feed.rs
index 110c1cc31..501e0c549 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_activity_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_activity_feed.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::ActivityFeedItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::ActivityFeedItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActivityFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -32,11 +29,9 @@ pub struct GetActivityFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActivityFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_activity_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -110,7 +105,10 @@ pub mod get_activity_feed_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetActivityFeedBuilder {
+pub struct GetActivityFeedBuilder<
+    St: get_activity_feed_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -210,4 +208,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_feed_skeleton.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_feed_skeleton.rs
index 31dbd8de0..21d2edaa5 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_feed_skeleton.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_feed_skeleton.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::SkeletonGameFeedItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::SkeletonGameFeedItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFeedSkeleton {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetFeedSkeleton {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFeedSkeletonOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -46,19 +41,25 @@ pub struct GetFeedSkeletonOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetFeedSkeletonError {
     #[serde(rename = "UnknownFeed")]
     UnknownFeed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetFeedSkeletonError {
@@ -116,7 +117,7 @@ fn _default_limit() -> Option {
 
 pub mod get_feed_skeleton_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -147,7 +148,10 @@ pub mod get_feed_skeleton_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetFeedSkeletonBuilder {
+pub struct GetFeedSkeletonBuilder<
+    St: get_feed_skeleton_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option),
     _type: PhantomData S>,
@@ -247,4 +251,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_game_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_game_feed.rs
index fe617e68b..0c04e91e7 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_game_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_game_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGameFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetGameFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGameFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -46,19 +41,25 @@ pub struct GetGameFeedOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetGameFeedError {
     #[serde(rename = "UnknownFeed")]
     UnknownFeed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetGameFeedError {
@@ -116,7 +117,7 @@ fn _default_limit() -> Option {
 
 pub mod get_game_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -247,4 +248,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_hot_games_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_hot_games_feed.rs
index 083cc833c..2b6c267e2 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_hot_games_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_hot_games_feed.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetHotGamesFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -31,11 +28,9 @@ pub struct GetHotGamesFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetHotGamesFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -78,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_hot_games_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -96,7 +91,10 @@ pub mod get_hot_games_feed_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetHotGamesFeedBuilder {
+pub struct GetHotGamesFeedBuilder<
+    St: get_hot_games_feed_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -175,4 +173,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_likes_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_likes_feed.rs
index 64153f9af..9e7c8bd2e 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_likes_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_likes_feed.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikesFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -32,11 +29,9 @@ pub struct GetLikesFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikesFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_likes_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -210,4 +205,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_developed_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_developed_feed.rs
index 760b947ae..c540f112d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_developed_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_developed_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOrgDevelopedFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetOrgDevelopedFeed {
     pub org: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOrgDevelopedFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -83,7 +78,7 @@ fn _default_limit() -> Option {
 
 pub mod get_org_developed_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -125,14 +120,20 @@ pub struct GetOrgDevelopedFeedBuilder<
 
 impl GetOrgDevelopedFeed {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetOrgDevelopedFeedBuilder {
+    pub fn new() -> GetOrgDevelopedFeedBuilder<
+        get_org_developed_feed_state::Empty,
+        DefaultStr,
+    > {
         GetOrgDevelopedFeedBuilder::new()
     }
 }
 
 impl GetOrgDevelopedFeed {
     /// Create a new builder for this type
-    pub fn builder() -> GetOrgDevelopedFeedBuilder {
+    pub fn builder() -> GetOrgDevelopedFeedBuilder<
+        get_org_developed_feed_state::Empty,
+        S,
+    > {
         GetOrgDevelopedFeedBuilder::builder()
     }
 }
@@ -159,7 +160,10 @@ impl GetOrgDevelopedFeedBuilder GetOrgDevelopedFeedBuilder {
+impl<
+    St: get_org_developed_feed_state::State,
+    S: BosStr,
+> GetOrgDevelopedFeedBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -172,7 +176,10 @@ impl GetOrgDevelopedFeedBuil
     }
 }
 
-impl GetOrgDevelopedFeedBuilder {
+impl<
+    St: get_org_developed_feed_state::State,
+    S: BosStr,
+> GetOrgDevelopedFeedBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -217,4 +224,4 @@ where
             org: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_published_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_published_feed.rs
index e3d39cc9c..177d7ce25 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_published_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_org_published_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOrgPublishedFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetOrgPublishedFeed {
     pub org: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOrgPublishedFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -83,7 +78,7 @@ fn _default_limit() -> Option {
 
 pub mod get_org_published_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -125,14 +120,20 @@ pub struct GetOrgPublishedFeedBuilder<
 
 impl GetOrgPublishedFeed {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetOrgPublishedFeedBuilder {
+    pub fn new() -> GetOrgPublishedFeedBuilder<
+        get_org_published_feed_state::Empty,
+        DefaultStr,
+    > {
         GetOrgPublishedFeedBuilder::new()
     }
 }
 
 impl GetOrgPublishedFeed {
     /// Create a new builder for this type
-    pub fn builder() -> GetOrgPublishedFeedBuilder {
+    pub fn builder() -> GetOrgPublishedFeedBuilder<
+        get_org_published_feed_state::Empty,
+        S,
+    > {
         GetOrgPublishedFeedBuilder::builder()
     }
 }
@@ -159,7 +160,10 @@ impl GetOrgPublishedFeedBuilder GetOrgPublishedFeedBuilder {
+impl<
+    St: get_org_published_feed_state::State,
+    S: BosStr,
+> GetOrgPublishedFeedBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -172,7 +176,10 @@ impl GetOrgPublishedFeedBuil
     }
 }
 
-impl GetOrgPublishedFeedBuilder {
+impl<
+    St: get_org_published_feed_state::State,
+    S: BosStr,
+> GetOrgPublishedFeedBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -217,4 +224,4 @@ where
             org: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_personalized_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_personalized_feed.rs
index e1abb9f43..85aaf2bf9 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_personalized_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_personalized_feed.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPersonalizedFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -31,11 +28,9 @@ pub struct GetPersonalizedFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPersonalizedFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -78,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_personalized_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -107,14 +102,20 @@ pub struct GetPersonalizedFeedBuilder<
 
 impl GetPersonalizedFeed {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetPersonalizedFeedBuilder {
+    pub fn new() -> GetPersonalizedFeedBuilder<
+        get_personalized_feed_state::Empty,
+        DefaultStr,
+    > {
         GetPersonalizedFeedBuilder::new()
     }
 }
 
 impl GetPersonalizedFeed {
     /// Create a new builder for this type
-    pub fn builder() -> GetPersonalizedFeedBuilder {
+    pub fn builder() -> GetPersonalizedFeedBuilder<
+        get_personalized_feed_state::Empty,
+        S,
+    > {
         GetPersonalizedFeedBuilder::builder()
     }
 }
@@ -141,7 +142,10 @@ impl GetPersonalizedFeedBuilder GetPersonalizedFeedBuilder {
+impl<
+    St: get_personalized_feed_state::State,
+    S: BosStr,
+> GetPersonalizedFeedBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -154,7 +158,10 @@ impl GetPersonalizedFeedBuild
     }
 }
 
-impl GetPersonalizedFeedBuilder {
+impl<
+    St: get_personalized_feed_state::State,
+    S: BosStr,
+> GetPersonalizedFeedBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -178,4 +185,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_released_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_released_feed.rs
index bf0c57f5b..bf5301c67 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_released_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_released_feed.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecentlyReleasedFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -31,11 +28,9 @@ pub struct GetRecentlyReleasedFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecentlyReleasedFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -78,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_recently_released_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -107,20 +102,28 @@ pub struct GetRecentlyReleasedFeedBuilder<
 
 impl GetRecentlyReleasedFeed {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> GetRecentlyReleasedFeedBuilder {
+    pub fn new() -> GetRecentlyReleasedFeedBuilder<
+        get_recently_released_feed_state::Empty,
+        DefaultStr,
+    > {
         GetRecentlyReleasedFeedBuilder::new()
     }
 }
 
 impl GetRecentlyReleasedFeed {
     /// Create a new builder for this type
-    pub fn builder() -> GetRecentlyReleasedFeedBuilder {
+    pub fn builder() -> GetRecentlyReleasedFeedBuilder<
+        get_recently_released_feed_state::Empty,
+        S,
+    > {
         GetRecentlyReleasedFeedBuilder::builder()
     }
 }
 
-impl GetRecentlyReleasedFeedBuilder {
+impl GetRecentlyReleasedFeedBuilder<
+    get_recently_released_feed_state::Empty,
+    DefaultStr,
+> {
     /// Create a new builder with all fields unset, using the default string type, if needed
     pub fn new() -> Self {
         GetRecentlyReleasedFeedBuilder {
@@ -131,7 +134,9 @@ impl GetRecentlyReleasedFeedBuilder GetRecentlyReleasedFeedBuilder {
+impl<
+    S: BosStr,
+> GetRecentlyReleasedFeedBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         GetRecentlyReleasedFeedBuilder {
@@ -142,7 +147,10 @@ impl GetRecentlyReleasedFeedBuilder GetRecentlyReleasedFeedBuilder {
+impl<
+    St: get_recently_released_feed_state::State,
+    S: BosStr,
+> GetRecentlyReleasedFeedBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -155,7 +163,10 @@ impl GetRecentlyReleased
     }
 }
 
-impl GetRecentlyReleasedFeedBuilder {
+impl<
+    St: get_recently_released_feed_state::State,
+    S: BosStr,
+> GetRecentlyReleasedFeedBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -179,4 +190,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_updated_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_updated_feed.rs
index 41ec1ec2d..5eb31a22d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_updated_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_recently_updated_feed.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecentlyUpdatedFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -31,11 +28,9 @@ pub struct GetRecentlyUpdatedFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecentlyUpdatedFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -78,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_recently_updated_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -107,15 +102,20 @@ pub struct GetRecentlyUpdatedFeedBuilder<
 
 impl GetRecentlyUpdatedFeed {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetRecentlyUpdatedFeedBuilder
-    {
+    pub fn new() -> GetRecentlyUpdatedFeedBuilder<
+        get_recently_updated_feed_state::Empty,
+        DefaultStr,
+    > {
         GetRecentlyUpdatedFeedBuilder::new()
     }
 }
 
 impl GetRecentlyUpdatedFeed {
     /// Create a new builder for this type
-    pub fn builder() -> GetRecentlyUpdatedFeedBuilder {
+    pub fn builder() -> GetRecentlyUpdatedFeedBuilder<
+        get_recently_updated_feed_state::Empty,
+        S,
+    > {
         GetRecentlyUpdatedFeedBuilder::builder()
     }
 }
@@ -131,7 +131,9 @@ impl GetRecentlyUpdatedFeedBuilder GetRecentlyUpdatedFeedBuilder {
+impl<
+    S: BosStr,
+> GetRecentlyUpdatedFeedBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         GetRecentlyUpdatedFeedBuilder {
@@ -142,7 +144,10 @@ impl GetRecentlyUpdatedFeedBuilder GetRecentlyUpdatedFeedBuilder {
+impl<
+    St: get_recently_updated_feed_state::State,
+    S: BosStr,
+> GetRecentlyUpdatedFeedBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -155,7 +160,10 @@ impl GetRecentlyUpdatedFe
     }
 }
 
-impl GetRecentlyUpdatedFeedBuilder {
+impl<
+    St: get_recently_updated_feed_state::State,
+    S: BosStr,
+> GetRecentlyUpdatedFeedBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -179,4 +187,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_similar_games_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_similar_games_feed.rs
index 8f3da8b1e..15b22acc2 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_similar_games_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_similar_games_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSimilarGamesFeed {
     /// Defaults to `5`. Min: 1. Max: 10.
     #[serde(default = "_default_limit")]
@@ -31,11 +28,9 @@ pub struct GetSimilarGamesFeed {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSimilarGamesFeedOutput {
     pub feed: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -76,7 +71,7 @@ fn _default_limit() -> Option {
 
 pub mod get_similar_games_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -118,14 +113,20 @@ pub struct GetSimilarGamesFeedBuilder<
 
 impl GetSimilarGamesFeed {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetSimilarGamesFeedBuilder {
+    pub fn new() -> GetSimilarGamesFeedBuilder<
+        get_similar_games_feed_state::Empty,
+        DefaultStr,
+    > {
         GetSimilarGamesFeedBuilder::new()
     }
 }
 
 impl GetSimilarGamesFeed {
     /// Create a new builder for this type
-    pub fn builder() -> GetSimilarGamesFeedBuilder {
+    pub fn builder() -> GetSimilarGamesFeedBuilder<
+        get_similar_games_feed_state::Empty,
+        S,
+    > {
         GetSimilarGamesFeedBuilder::builder()
     }
 }
@@ -152,7 +153,10 @@ impl GetSimilarGamesFeedBuilder GetSimilarGamesFeedBuilder {
+impl<
+    St: get_similar_games_feed_state::State,
+    S: BosStr,
+> GetSimilarGamesFeedBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -196,4 +200,4 @@ where
             uri: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_upcoming_releases_feed.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_upcoming_releases_feed.rs
index d140cdf76..2bd4b1a5d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_upcoming_releases_feed.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/feed/get_upcoming_releases_feed.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameFeedViewItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUpcomingReleasesFeed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -31,11 +28,9 @@ pub struct GetUpcomingReleasesFeed {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUpcomingReleasesFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -78,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_upcoming_releases_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -107,20 +102,28 @@ pub struct GetUpcomingReleasesFeedBuilder<
 
 impl GetUpcomingReleasesFeed {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> GetUpcomingReleasesFeedBuilder {
+    pub fn new() -> GetUpcomingReleasesFeedBuilder<
+        get_upcoming_releases_feed_state::Empty,
+        DefaultStr,
+    > {
         GetUpcomingReleasesFeedBuilder::new()
     }
 }
 
 impl GetUpcomingReleasesFeed {
     /// Create a new builder for this type
-    pub fn builder() -> GetUpcomingReleasesFeedBuilder {
+    pub fn builder() -> GetUpcomingReleasesFeedBuilder<
+        get_upcoming_releases_feed_state::Empty,
+        S,
+    > {
         GetUpcomingReleasesFeedBuilder::builder()
     }
 }
 
-impl GetUpcomingReleasesFeedBuilder {
+impl GetUpcomingReleasesFeedBuilder<
+    get_upcoming_releases_feed_state::Empty,
+    DefaultStr,
+> {
     /// Create a new builder with all fields unset, using the default string type, if needed
     pub fn new() -> Self {
         GetUpcomingReleasesFeedBuilder {
@@ -131,7 +134,9 @@ impl GetUpcomingReleasesFeedBuilder GetUpcomingReleasesFeedBuilder {
+impl<
+    S: BosStr,
+> GetUpcomingReleasesFeedBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         GetUpcomingReleasesFeedBuilder {
@@ -142,7 +147,10 @@ impl GetUpcomingReleasesFeedBuilder GetUpcomingReleasesFeedBuilder {
+impl<
+    St: get_upcoming_releases_feed_state::State,
+    S: BosStr,
+> GetUpcomingReleasesFeedBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -155,7 +163,10 @@ impl GetUpcomingReleases
     }
 }
 
-impl GetUpcomingReleasesFeedBuilder {
+impl<
+    St: get_upcoming_releases_feed_state::State,
+    S: BosStr,
+> GetUpcomingReleasesFeedBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -179,4 +190,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/game.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/game.rs
index 1299a8265..fcf6ce7e0 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/game.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/game.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::games_gamesgamesgamesgames::AgeRating;
 use crate::games_gamesgamesgamesgames::AlternativeName;
 use crate::games_gamesgamesgamesgames::ApplicationType;
@@ -42,9 +45,6 @@ use crate::games_gamesgamesgamesgames::Theme;
 use crate::games_gamesgamesgamesgames::TimeToBeat;
 use crate::games_gamesgamesgamesgames::Website;
 use crate::games_gamesgamesgamesgames::richtext::facet::Facet;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A video game.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -177,7 +177,7 @@ impl LexiconSchema for Game {
 
 pub mod game_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -288,8 +288,33 @@ impl GameBuilder {
         GameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -302,8 +327,33 @@ impl GameBuilder {
         GameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -325,12 +375,18 @@ impl GameBuilder {
 
 impl GameBuilder {
     /// Set the `alternativeNames` field (optional)
-    pub fn alternative_names(mut self, value: impl Into>>>) -> Self {
+    pub fn alternative_names(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `alternativeNames` field to an Option value (optional)
-    pub fn maybe_alternative_names(mut self, value: Option>>) -> Self {
+    pub fn maybe_alternative_names(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -389,7 +445,10 @@ impl GameBuilder {
 
 impl GameBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -454,12 +513,18 @@ impl GameBuilder {
 
 impl GameBuilder {
     /// Set the `languageSupports` field (optional)
-    pub fn language_supports(mut self, value: impl Into>>>) -> Self {
+    pub fn language_supports(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.10 = value.into();
         self
     }
     /// Set the `languageSupports` field to an Option value (optional)
-    pub fn maybe_language_supports(mut self, value: Option>>) -> Self {
+    pub fn maybe_language_supports(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.10 = value;
         self
     }
@@ -493,12 +558,18 @@ impl GameBuilder {
 
 impl GameBuilder {
     /// Set the `multiplayerModes` field (optional)
-    pub fn multiplayer_modes(mut self, value: impl Into>>>) -> Self {
+    pub fn multiplayer_modes(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.13 = value.into();
         self
     }
     /// Set the `multiplayerModes` field to an Option value (optional)
-    pub fn maybe_multiplayer_modes(mut self, value: Option>>) -> Self {
+    pub fn maybe_multiplayer_modes(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.13 = value;
         self
     }
@@ -510,7 +581,10 @@ where
     St::Name: game_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> GameBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> GameBuilder, S> {
         self._fields.14 = Option::Some(value.into());
         GameBuilder {
             _state: PhantomData,
@@ -535,12 +609,18 @@ impl GameBuilder {
 
 impl GameBuilder {
     /// Set the `platformFeatures` field (optional)
-    pub fn platform_features(mut self, value: impl Into>>>) -> Self {
+    pub fn platform_features(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.16 = value.into();
         self
     }
     /// Set the `platformFeatures` field to an Option value (optional)
-    pub fn maybe_platform_features(mut self, value: Option>>) -> Self {
+    pub fn maybe_platform_features(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.16 = value;
         self
     }
@@ -556,7 +636,10 @@ impl GameBuilder {
         self
     }
     /// Set the `playerPerspectives` field to an Option value (optional)
-    pub fn maybe_player_perspectives(mut self, value: Option>>) -> Self {
+    pub fn maybe_player_perspectives(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.17 = value;
         self
     }
@@ -624,7 +707,10 @@ impl GameBuilder {
         self
     }
     /// Set the `systemRequirements` field to an Option value (optional)
-    pub fn maybe_system_requirements(mut self, value: Option>>) -> Self {
+    pub fn maybe_system_requirements(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.22 = value;
         self
     }
@@ -758,10 +844,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_game() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.game"),
@@ -1089,4 +1175,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_game() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_claim.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_claim.rs
index ccee56b26..90b80fefa 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_claim.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_claim.rs
@@ -10,28 +10,25 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::GameSummaryView;
-use crate::games_gamesgamesgamesgames::get_claim;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameSummaryView;
+use crate::games_gamesgamesgamesgames::get_claim;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ClaimView {
     pub cid: S,
     pub claimant_did: Did,
@@ -52,6 +49,7 @@ pub struct ClaimView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ClaimViewType {
     Game,
@@ -129,31 +127,25 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetClaim {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetClaimOutput {
     pub claim: get_claim::ClaimView,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReviewView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub approved_games: Option>>,
@@ -167,6 +159,7 @@ pub struct ReviewView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ReviewViewStatus {
     Approved,
@@ -304,7 +297,7 @@ impl LexiconSchema for ReviewView {
 
 pub mod claim_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -454,7 +447,10 @@ where
     St::Cid: claim_view_state::IsUnset,
 {
     /// Set the `cid` field (required)
-    pub fn cid(mut self, value: impl Into) -> ClaimViewBuilder, S> {
+    pub fn cid(
+        mut self,
+        value: impl Into,
+    ) -> ClaimViewBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ClaimViewBuilder {
             _state: PhantomData,
@@ -631,7 +627,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ClaimView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ClaimView {
         ClaimView {
             cid: self._fields.0.unwrap(),
             claimant_did: self._fields.1.unwrap(),
@@ -649,10 +648,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.getClaim"),
@@ -661,21 +660,20 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("claimView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("claimantDid"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("type"),
+                            SmolStr::new_static("claimantDid"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("claimantDid"),
@@ -686,9 +684,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("contact"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("createdAt"),
@@ -711,9 +707,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("message"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("org"),
@@ -731,9 +725,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -750,34 +742,37 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("uri")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("uri"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("uri")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("uri"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("reviewView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("status"),
-                        SmolStr::new_static("reviewedBy"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("status"),
+                            SmolStr::new_static("reviewedBy"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -800,9 +795,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("reason"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("reviewedBy"),
@@ -813,9 +806,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -837,7 +828,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getClaim() -> LexiconDoc<'static> {
 
 pub mod get_claim_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -944,7 +935,7 @@ where
 
 pub mod review_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1189,7 +1180,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReviewView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReviewView {
         ReviewView {
             approved_games: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -1200,4 +1194,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution.rs
index ef609b682..9bc9b4a60 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::get_contribution;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::get_contribution;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContributionView {
     pub changes: Data,
     pub cid: S,
@@ -55,6 +52,7 @@ pub struct ContributionView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ContributionViewContributionType {
     Correction,
@@ -104,7 +102,8 @@ impl Serialize for ContributionViewContributionType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContributionViewContributionType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ContributionViewContributionType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -134,7 +133,9 @@ where
             ContributionViewContributionType::Addition => {
                 ContributionViewContributionType::Addition
             }
-            ContributionViewContributionType::NewGame => ContributionViewContributionType::NewGame,
+            ContributionViewContributionType::NewGame => {
+                ContributionViewContributionType::NewGame
+            }
             ContributionViewContributionType::Other(v) => {
                 ContributionViewContributionType::Other(v.into_static())
             }
@@ -142,31 +143,25 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetContribution {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetContributionOutput {
     pub contribution: get_contribution::ContributionView,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PatchView {
     pub changes: Data,
     pub created_at: Datetime,
@@ -176,11 +171,9 @@ pub struct PatchView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReviewView {
     pub created_at: Datetime,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -192,6 +185,7 @@ pub struct ReviewView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ReviewViewStatus {
     Approved,
@@ -273,11 +267,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct VerificationView {
     pub accepted_by: VerificationViewAcceptedBy,
     pub contributor: Did,
@@ -287,6 +279,7 @@ pub struct VerificationView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum VerificationViewAcceptedBy {
     Mod,
@@ -336,7 +329,8 @@ impl Serialize for VerificationViewAcceptedBy {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for VerificationViewAcceptedBy {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for VerificationViewAcceptedBy {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -460,7 +454,7 @@ impl LexiconSchema for VerificationView {
 
 pub mod contribution_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -571,7 +565,10 @@ pub mod contribution_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ContributionViewBuilder {
+pub struct ContributionViewBuilder<
+    St: contribution_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -610,7 +607,18 @@ impl ContributionViewBuilder {
         ContributionViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -623,7 +631,18 @@ impl ContributionViewBuilder {
         ContributionViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -740,7 +759,10 @@ impl ContributionViewBuilder ContributionViewBuilder {
     /// Set the `patch` field (optional)
-    pub fn patch(mut self, value: impl Into>>) -> Self {
+    pub fn patch(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
@@ -753,12 +775,18 @@ impl ContributionViewBuilder ContributionViewBuilder {
     /// Set the `review` field (optional)
-    pub fn review(mut self, value: impl Into>>) -> Self {
+    pub fn review(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.7 = value.into();
         self
     }
     /// Set the `review` field to an Option value (optional)
-    pub fn maybe_review(mut self, value: Option>) -> Self {
+    pub fn maybe_review(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.7 = value;
         self
     }
@@ -857,7 +885,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ContributionView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ContributionView {
         ContributionView {
             changes: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -877,10 +908,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.getContribution"),
@@ -889,14 +920,15 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
             map.insert(
                 SmolStr::new_static("contributionView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("contributorDid"),
-                        SmolStr::new_static("contributionType"),
-                        SmolStr::new_static("changes"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("contributorDid"),
+                            SmolStr::new_static("contributionType"),
+                            SmolStr::new_static("changes"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -908,15 +940,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
                         );
                         map.insert(
                             SmolStr::new_static("cid"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("contributionType"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("contributorDid"),
@@ -934,9 +962,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
                         );
                         map.insert(
                             SmolStr::new_static("message"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("patch"),
@@ -962,9 +988,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
                         map.insert(
                             SmolStr::new_static("subjectName"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Resolved name of the subject entity for display.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Resolved name of the subject entity for display.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -990,34 +1018,37 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("uri")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("uri"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("uri")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("uri"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("patchView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("subject"),
-                        SmolStr::new_static("changes"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("subject"),
+                            SmolStr::new_static("changes"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1056,12 +1087,13 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
             map.insert(
                 SmolStr::new_static("reviewView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("status"),
-                        SmolStr::new_static("reviewedBy"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("status"),
+                            SmolStr::new_static("reviewedBy"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1074,9 +1106,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
                         );
                         map.insert(
                             SmolStr::new_static("reason"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("reviewedBy"),
@@ -1087,9 +1117,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -1106,20 +1134,20 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
             map.insert(
                 SmolStr::new_static("verificationView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("contributor"),
-                        SmolStr::new_static("acceptedBy"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"),
+                            SmolStr::new_static("contributor"),
+                            SmolStr::new_static("acceptedBy"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("acceptedBy"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("contributor"),
@@ -1155,7 +1183,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContribution() -> LexiconDoc<'stati
 
 pub mod get_contribution_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1186,7 +1214,10 @@ pub mod get_contribution_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetContributionBuilder {
+pub struct GetContributionBuilder<
+    St: get_contribution_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -1262,7 +1293,7 @@ where
 
 pub mod patch_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1337,12 +1368,7 @@ pub mod patch_view_state {
 /// Builder for constructing an instance of this type.
 pub struct PatchViewBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -1477,7 +1503,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PatchView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PatchView {
         PatchView {
             changes: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -1490,7 +1519,7 @@ where
 
 pub mod review_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1720,7 +1749,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReviewView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReviewView {
         ReviewView {
             created_at: self._fields.0.unwrap(),
             reason: self._fields.1,
@@ -1734,7 +1766,7 @@ where
 
 pub mod verification_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1807,7 +1839,10 @@ pub mod verification_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct VerificationViewBuilder {
+pub struct VerificationViewBuilder<
+    St: verification_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1949,7 +1984,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> VerificationView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> VerificationView {
         VerificationView {
             accepted_by: self._fields.0.unwrap(),
             contributor: self._fields.1.unwrap(),
@@ -1958,4 +1996,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution_stats.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution_stats.rs
index f51f0381c..6a6860f0e 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution_stats.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_contribution_stats.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::get_contribution_stats;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::get_contribution_stats;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Badge {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub description: Option,
@@ -40,11 +37,9 @@ pub struct Badge {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContributionStats {
     pub additions: i64,
     pub corrections: i64,
@@ -56,20 +51,16 @@ pub struct ContributionStats {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetContributionStats {
     pub did: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetContributionStatsOutput {
     pub badges: Vec>,
     pub stats: get_contribution_stats::ContributionStats,
@@ -136,10 +127,10 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetContributionStatsRequest {
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_getContributionStats() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.getContributionStats"),
@@ -148,27 +139,23 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContributionStats() -> LexiconDoc<'
             map.insert(
                 SmolStr::new_static("badge"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("id"), SmolStr::new_static("name")]),
+                    required: Some(
+                        vec![SmolStr::new_static("id"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -178,14 +165,16 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContributionStats() -> LexiconDoc<'
             map.insert(
                 SmolStr::new_static("contributionStats"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("totalContributions"),
-                        SmolStr::new_static("corrections"),
-                        SmolStr::new_static("additions"),
-                        SmolStr::new_static("newGames"),
-                        SmolStr::new_static("uniqueEntities"),
-                        SmolStr::new_static("ownerAccepted"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("totalContributions"),
+                            SmolStr::new_static("corrections"),
+                            SmolStr::new_static("additions"),
+                            SmolStr::new_static("newGames"),
+                            SmolStr::new_static("uniqueEntities"),
+                            SmolStr::new_static("ownerAccepted")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -233,22 +222,24 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContributionStats() -> LexiconDoc<'
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("did")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("did"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("did")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("did"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -260,7 +251,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getContributionStats() -> LexiconDoc<'
 
 pub mod contribution_stats_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -371,7 +362,10 @@ pub mod contribution_stats_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ContributionStatsBuilder {
+pub struct ContributionStatsBuilder<
+    St: contribution_stats_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -386,7 +380,10 @@ pub struct ContributionStatsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ContributionStatsBuilder {
+    pub fn new() -> ContributionStatsBuilder<
+        contribution_stats_state::Empty,
+        DefaultStr,
+    > {
         ContributionStatsBuilder::new()
     }
 }
@@ -505,7 +502,10 @@ where
     pub fn total_contributions(
         mut self,
         value: impl Into,
-    ) -> ContributionStatsBuilder, S> {
+    ) -> ContributionStatsBuilder<
+        contribution_stats_state::SetTotalContributions,
+        S,
+    > {
         self._fields.4 = Option::Some(value.into());
         ContributionStatsBuilder {
             _state: PhantomData,
@@ -557,7 +557,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ContributionStats {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ContributionStats {
         ContributionStats {
             additions: self._fields.0.unwrap(),
             corrections: self._fields.1.unwrap(),
@@ -572,7 +575,7 @@ where
 
 pub mod get_contribution_stats_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -614,14 +617,20 @@ pub struct GetContributionStatsBuilder<
 
 impl GetContributionStats {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetContributionStatsBuilder {
+    pub fn new() -> GetContributionStatsBuilder<
+        get_contribution_stats_state::Empty,
+        DefaultStr,
+    > {
         GetContributionStatsBuilder::new()
     }
 }
 
 impl GetContributionStats {
     /// Create a new builder for this type
-    pub fn builder() -> GetContributionStatsBuilder {
+    pub fn builder() -> GetContributionStatsBuilder<
+        get_contribution_stats_state::Empty,
+        S,
+    > {
         GetContributionStatsBuilder::builder()
     }
 }
@@ -678,4 +687,4 @@ where
             did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game.rs
index 6a097a22e..fcb88db36 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameDetailView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameDetailView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGame {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub apple_app_store_id: Option,
@@ -54,11 +51,9 @@ pub struct GetGame {
     pub xbox_id: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGameOutput {
     pub game: GameDetailView,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -95,7 +90,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetGameRequest {
 
 pub mod get_game_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -154,7 +149,20 @@ impl GetGameBuilder {
         GetGameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -167,7 +175,20 @@ impl GetGameBuilder {
         GetGameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -379,4 +400,4 @@ where
             xbox_id: self._fields.13,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game_count.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game_count.rs
index ff4a9aada..d5e2c8bda 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game_count.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_game_count.rs
@@ -10,26 +10,21 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGameCount {
     pub did: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGameCountOutput {
     ///Total number of games this user has published.
     pub count: i64,
@@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetGameCountRequest {
 
 pub mod get_game_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,4 +165,4 @@ where
             did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_list_count.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_list_count.rs
index 0eec7e5a1..34f2220d4 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_list_count.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_list_count.rs
@@ -10,26 +10,21 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetListCount {
     pub did: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetListCountOutput {
     ///Total number of lists this user has created.
     pub count: i64,
@@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetListCountRequest {
 
 pub mod get_list_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,4 +165,4 @@ where
             did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_popular_games.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_popular_games.rs
index 3d5d2eefe..5d93722b0 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_popular_games.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_popular_games.rs
@@ -8,14 +8,14 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameSummaryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameSummaryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -26,11 +26,9 @@ pub struct GetPopularGames {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPopularGamesOutput {
     pub games: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -71,7 +69,7 @@ fn _default_limit() -> Option {
 
 pub mod get_popular_games_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -144,4 +142,4 @@ where
             limit: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_profile.rs
index 6f5b3ade2..8e3c8da7b 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_profile.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::ActorProfileDetailView;
-use crate::games_gamesgamesgamesgames::OrgProfileDetailView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::ActorProfileDetailView;
+use crate::games_gamesgamesgamesgames::OrgProfileDetailView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfile {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub handle: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileOutput {
     ///The resolved ATProto handle for display.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -45,6 +40,7 @@ pub struct GetProfileOutput {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -55,6 +51,7 @@ pub enum GetProfileOutputProfile {
     OrgProfileDetailView(Box>),
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum GetProfileOutputProfileType {
     Actor,
@@ -101,7 +98,8 @@ impl Serialize for GetProfileOutputProfileType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for GetProfileOutputProfileType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for GetProfileOutputProfileType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -164,7 +162,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest {
 
 pub mod get_profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -247,4 +245,4 @@ where
             handle: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_review_count.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_review_count.rs
index fa8a0779a..f1e10b132 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_review_count.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_review_count.rs
@@ -10,26 +10,21 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetReviewCount {
     pub did: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetReviewCountOutput {
     ///Total number of reviews this user has written.
     pub count: i64,
@@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetReviewCountRequest {
 
 pub mod get_review_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -98,7 +93,10 @@ pub mod get_review_count_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetReviewCountBuilder {
+pub struct GetReviewCountBuilder<
+    St: get_review_count_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -170,4 +168,4 @@ where
             did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_reviews.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_reviews.rs
index 957656326..0a59a800f 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_reviews.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_reviews.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::get_reviews;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::get_reviews;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetReviews {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -41,11 +38,9 @@ pub struct GetReviews {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetReviewsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -54,11 +49,9 @@ pub struct GetReviewsOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PopfeedReview {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub contains_spoilers: Option,
@@ -147,7 +140,7 @@ fn _default_limit() -> Option {
 
 pub mod get_reviews_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -282,7 +275,7 @@ where
 
 pub mod popfeed_review_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -355,7 +348,10 @@ pub mod popfeed_review_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PopfeedReviewBuilder {
+pub struct PopfeedReviewBuilder<
+    St: popfeed_review_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -572,7 +568,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PopfeedReview {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PopfeedReview {
         PopfeedReview {
             contains_spoilers: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -589,10 +588,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_getReviews() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.getReviews"),
@@ -601,52 +600,55 @@ fn lexicon_doc_games_gamesgamesgamesgames_getReviews() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("uri")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Pagination cursor (offset).",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("uri"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT URI of the game record.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("uri")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Pagination cursor (offset)."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("uri"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("AT URI of the game record."),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("popfeedReview"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("rating"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("did"),
+                            SmolStr::new_static("rating"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -699,15 +701,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_getReviews() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("text"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -725,4 +723,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_getReviews() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_stats.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_stats.rs
index f840eeffe..c59439beb 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_stats.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_stats.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetStatsOutput {
     pub total_games: i64,
     pub total_reviews: i64,
@@ -61,4 +58,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStatsRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetStats;
     type Response = GetStatsResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_user_lists.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_user_lists.rs
index 88fded948..49ae26d7d 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/get_user_lists.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/get_user_lists.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::get_user_lists;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::get_user_lists;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUserLists {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -43,11 +40,9 @@ pub struct GetUserLists {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUserListsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -56,11 +51,9 @@ pub struct GetUserListsOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UserListView {
     pub created_at: Datetime,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -123,7 +116,7 @@ fn _default_limit() -> Option {
 
 pub mod get_user_lists_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -272,7 +265,7 @@ where
 
 pub mod user_list_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -517,7 +510,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UserListView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UserListView {
         UserListView {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -531,10 +527,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_getUserLists() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.getUserLists"),
@@ -595,12 +591,13 @@ fn lexicon_doc_games_gamesgamesgamesgames_getUserLists() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("userListView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("itemCount"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("name"),
+                            SmolStr::new_static("itemCount"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -613,9 +610,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getUserLists() -> LexiconDoc<'static>
                         );
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("hasGame"),
@@ -631,9 +626,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_getUserLists() -> LexiconDoc<'static>
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -651,4 +644,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_getUserLists() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph.rs
index c5e97567a..fb29877f0 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph.rs
@@ -7,4 +7,4 @@
 pub mod get_like_count;
 pub mod get_likes;
 pub mod like;
-pub mod toggle_like;
+pub mod toggle_like;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_like_count.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_like_count.rs
index 91d28611f..d7f30b50a 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_like_count.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_like_count.rs
@@ -10,26 +10,21 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikeCount {
     pub did: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikeCountOutput {
     ///Total number of likes this user has given.
     pub count: i64,
@@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLikeCountRequest {
 
 pub mod get_like_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,4 +165,4 @@ where
             did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_likes.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_likes.rs
index d78e6f6c5..426466c58 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_likes.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/get_likes.rs
@@ -10,27 +10,22 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikes {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikesOutput {
     ///Total number of likes on this game.
     pub count: i64,
@@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLikesRequest {
 
 pub mod get_likes_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -173,4 +168,4 @@ where
             uri: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/like.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/like.rs
index da468fbfd..1853a65e0 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/like.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record representing a user's like of a game.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -253,10 +253,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_graph_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.graph.like"),
@@ -265,15 +265,19 @@ fn lexicon_doc_games_gamesgamesgamesgames_graph_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record representing a user's like of a game.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record representing a user's like of a game.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -287,9 +291,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_graph_like() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT URI of the game record being liked.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("AT URI of the game record being liked."),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -305,4 +309,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_graph_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/toggle_like.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/toggle_like.rs
index 52826db5c..3260dfa7a 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/toggle_like.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/graph/toggle_like.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToggleLike {
     ///AT URI of the game record to like/unlike.
     pub subject: AtUri,
@@ -29,11 +26,9 @@ pub struct ToggleLike {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToggleLikeOutput {
     ///Whether the game was liked or unliked.
     pub action: ToggleLikeOutputAction,
@@ -121,7 +116,9 @@ where
         match self {
             ToggleLikeOutputAction::Liked => ToggleLikeOutputAction::Liked,
             ToggleLikeOutputAction::Unliked => ToggleLikeOutputAction::Unliked,
-            ToggleLikeOutputAction::Other(v) => ToggleLikeOutputAction::Other(v.into_static()),
+            ToggleLikeOutputAction::Other(v) => {
+                ToggleLikeOutputAction::Other(v.into_static())
+            }
         }
     }
 }
@@ -139,8 +136,9 @@ impl jacquard_common::xrpc::XrpcResp for ToggleLikeResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ToggleLike {
     const NSID: &'static str = "games.gamesgamesgamesgames.graph.toggleLike";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ToggleLikeResponse;
 }
 
@@ -150,15 +148,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.graph.toggleLike`. The request payload t
 pub struct ToggleLikeRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ToggleLikeRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.graph.toggleLike";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ToggleLike;
     type Response = ToggleLikeResponse;
 }
 
 pub mod toggle_like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -263,10 +262,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ToggleLike {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ToggleLike {
         ToggleLike {
             subject: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_claims.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_claims.rs
index 59bb2d640..d7de0af01 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_claims.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_claims.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::get_claim::ClaimView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::get_claim::ClaimView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListClaims {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct ListClaims {
     pub status: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListClaimsOutput {
     pub claims: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -80,7 +75,7 @@ fn _default_limit() -> Option {
 
 pub mod list_claims_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -191,4 +186,4 @@ where
             status: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_contributions.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_contributions.rs
index a3cb8ed22..1855a6810 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_contributions.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_contributions.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::get_contribution::ContributionView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::get_contribution::ContributionView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListContributions {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub contributor: Option>,
@@ -38,11 +35,9 @@ pub struct ListContributions {
     pub subject: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListContributionsOutput {
     pub contributions: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -85,7 +80,7 @@ fn _default_limit() -> Option {
 
 pub mod list_contributions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -103,21 +98,21 @@ pub mod list_contributions_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListContributionsBuilder {
+pub struct ListContributionsBuilder<
+    St: list_contributions_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option, Option, Option>),
     _type: PhantomData S>,
 }
 
 impl ListContributions {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ListContributionsBuilder {
+    pub fn new() -> ListContributionsBuilder<
+        list_contributions_state::Empty,
+        DefaultStr,
+    > {
         ListContributionsBuilder::new()
     }
 }
@@ -230,4 +225,4 @@ where
             subject: self._fields.4,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_games.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_games.rs
index ffe0f944b..ff9412f6c 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_games.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_games.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameSummaryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameSummaryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListGames {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub age_ratings: Option>,
@@ -62,11 +59,9 @@ pub struct ListGames {
     pub themes: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListGamesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -125,7 +120,7 @@ fn _default_sort_direction() -> Option {
 
 pub mod list_games_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -183,7 +178,19 @@ impl ListGamesBuilder {
         ListGamesBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -196,7 +203,19 @@ impl ListGamesBuilder {
         ListGamesBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -394,4 +413,4 @@ where
             themes: self._fields.12,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_org_games.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_org_games.rs
index 42ea6003f..21f9ccd72 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/list_org_games.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/list_org_games.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::GameSummaryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::GameSummaryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListOrgGames {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct ListOrgGames {
     pub org: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListOrgGamesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -80,7 +75,7 @@ fn _default_limit() -> Option {
 
 pub mod list_org_games_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -211,4 +206,4 @@ where
             org: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/migrate_claim.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/migrate_claim.rs
index 665b4ad17..555815bf3 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/migrate_claim.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/migrate_claim.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::migrate_claim;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::migrate_claim;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MigrateClaim {
     pub claim: AtUri,
     pub claim_review: AtUri,
@@ -38,22 +35,18 @@ pub struct MigrateClaim {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MigrateClaimOutput {
     pub results: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MigrationResult {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub error: Option,
@@ -65,6 +58,7 @@ pub struct MigrationResult {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum MigrationResultStatus {
     Success,
@@ -141,7 +135,9 @@ where
             MigrationResultStatus::Success => MigrationResultStatus::Success,
             MigrationResultStatus::Failed => MigrationResultStatus::Failed,
             MigrationResultStatus::Skipped => MigrationResultStatus::Skipped,
-            MigrationResultStatus::Other(v) => MigrationResultStatus::Other(v.into_static()),
+            MigrationResultStatus::Other(v) => {
+                MigrationResultStatus::Other(v.into_static())
+            }
         }
     }
 }
@@ -159,8 +155,9 @@ impl jacquard_common::xrpc::XrpcResp for MigrateClaimResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for MigrateClaim {
     const NSID: &'static str = "games.gamesgamesgamesgames.migrateClaim";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = MigrateClaimResponse;
 }
 
@@ -170,8 +167,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.migrateClaim`. The request payload type
 pub struct MigrateClaimRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for MigrateClaimRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.migrateClaim";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = MigrateClaim;
     type Response = MigrateClaimResponse;
 }
@@ -193,7 +191,7 @@ impl LexiconSchema for MigrationResult {
 
 pub mod migrate_claim_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -331,7 +329,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> MigrateClaim {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> MigrateClaim {
         MigrateClaim {
             claim: self._fields.0.unwrap(),
             claim_review: self._fields.1.unwrap(),
@@ -342,7 +343,7 @@ where
 
 pub mod migration_result_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -385,7 +386,10 @@ pub mod migration_result_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct MigrationResultBuilder {
+pub struct MigrationResultBuilder<
+    St: migration_result_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -513,7 +517,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> MigrationResult {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> MigrationResult {
         MigrationResult {
             error: self._fields.0,
             game_uri: self._fields.1.unwrap(),
@@ -525,10 +532,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_migrateClaim() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.migrateClaim"),
@@ -539,32 +546,36 @@ fn lexicon_doc_games_gamesgamesgamesgames_migrateClaim() -> LexiconDoc<'static>
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![
-                                SmolStr::new_static("claim"),
-                                SmolStr::new_static("claimReview"),
-                            ]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("claim"),
-                                    LexObjectProperty::String(LexString {
-                                        format: Some(LexStringFormat::AtUri),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("claimReview"),
-                                    LexObjectProperty::String(LexString {
-                                        format: Some(LexStringFormat::AtUri),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(
+                                    vec![
+                                        SmolStr::new_static("claim"),
+                                        SmolStr::new_static("claimReview")
+                                    ],
+                                ),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("claim"),
+                                        LexObjectProperty::String(LexString {
+                                            format: Some(LexStringFormat::AtUri),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("claimReview"),
+                                        LexObjectProperty::String(LexString {
+                                            format: Some(LexStringFormat::AtUri),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -573,18 +584,17 @@ fn lexicon_doc_games_gamesgamesgamesgames_migrateClaim() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("migrationResult"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("gameUri"),
-                        SmolStr::new_static("status"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("gameUri"), SmolStr::new_static("status")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("error"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("gameUri"),
@@ -602,9 +612,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_migrateClaim() -> LexiconDoc<'static>
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -615,4 +623,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_migrateClaim() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/org.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/org.rs
index f02d50ba8..7f21cfe09 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/org.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/org.rs
@@ -8,4 +8,4 @@ pub mod create_profile;
 pub mod credit;
 pub mod get_profile;
 pub mod profile;
-pub mod put_profile;
+pub mod put_profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/create_profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/create_profile.rs
index 2f18f4329..88149b2a1 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/create_profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/create_profile.rs
@@ -8,24 +8,21 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::games_gamesgamesgamesgames::MediaItem;
-use crate::games_gamesgamesgamesgames::Website;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::string::{AtUri, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::games_gamesgamesgamesgames::MediaItem;
+use crate::games_gamesgamesgamesgames::Website;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateProfile {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -54,6 +51,7 @@ pub struct CreateProfile {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum CreateProfileStatus {
     Active,
@@ -143,11 +141,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateProfileOutput {
     pub cid: S,
     pub uri: AtUri,
@@ -168,8 +164,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateProfileResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateProfile {
     const NSID: &'static str = "games.gamesgamesgamesgames.org.createProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateProfileResponse;
 }
 
@@ -179,8 +176,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.org.createProfile`. The request payload
 pub struct CreateProfileRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateProfileRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.org.createProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateProfile;
     type Response = CreateProfileResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/credit.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/credit.rs
index a04d1c280..262e72270 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/credit.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/credit.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::games_gamesgamesgamesgames::CompanyRole;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::games_gamesgamesgamesgames::CompanyRole;
 /// A relationship between a game and an organization.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -123,7 +123,7 @@ impl LexiconSchema for Credit {
 
 pub mod credit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -343,10 +343,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_org_credit() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.org.credit"),
@@ -427,4 +427,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_org_credit() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/get_profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/get_profile.rs
index 45b6af161..2b807a3f8 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/get_profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/get_profile.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::OrgProfileDetailView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::OrgProfileDetailView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub profile: Option>,
@@ -61,4 +58,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetProfile;
     type Response = GetProfileResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/profile.rs
index 5b7a13dbb..1bef11b19 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,13 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::Facet;
 use crate::games_gamesgamesgamesgames::ExternalIds;
 use crate::games_gamesgamesgamesgames::MediaItem;
 use crate::games_gamesgamesgamesgames::Website;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A declaration of a Pentaract org profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -71,6 +71,7 @@ pub struct Profile {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ProfileStatus {
     Active,
@@ -231,20 +232,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -277,7 +283,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -359,7 +365,18 @@ impl ProfileBuilder {
         ProfileBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -372,7 +389,18 @@ impl ProfileBuilder {
         ProfileBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -439,7 +467,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -592,10 +623,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_org_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.org.profile"),
@@ -604,23 +635,23 @@ fn lexicon_doc_games_gamesgamesgamesgames_org_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A declaration of a Pentaract org profile.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A declaration of a Pentaract org profile."),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("displayName"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("displayName"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("country"),
@@ -638,9 +669,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_org_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Free-form profile description text.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Free-form profile description text."),
+                                    ),
                                     max_length: Some(3000usize),
                                     ..Default::default()
                                 }),
@@ -648,9 +679,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_org_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("descriptionFacets"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Annotations of text (mentions, URLs, hashtags, etc)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Annotations of text (mentions, URLs, hashtags, etc)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("app.bsky.richtext.facet"),
                                         ..Default::default()
@@ -729,4 +762,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_org_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/put_profile.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/put_profile.rs
index 75b82d278..13aa7cbc4 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/org/put_profile.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/org/put_profile.rs
@@ -8,24 +8,21 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::games_gamesgamesgamesgames::MediaItem;
-use crate::games_gamesgamesgamesgames::Website;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::string::{AtUri, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::games_gamesgamesgamesgames::MediaItem;
+use crate::games_gamesgamesgamesgames::Website;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutProfile {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -54,6 +51,7 @@ pub struct PutProfile {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum PutProfileStatus {
     Active,
@@ -143,11 +141,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutProfileOutput {
     pub cid: S,
     pub uri: AtUri,
@@ -168,8 +164,9 @@ impl jacquard_common::xrpc::XrpcResp for PutProfileResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutProfile {
     const NSID: &'static str = "games.gamesgamesgamesgames.org.putProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutProfileResponse;
 }
 
@@ -179,8 +176,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.org.putProfile`. The request payload typ
 pub struct PutProfileRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutProfileRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.org.putProfile";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutProfile;
     type Response = PutProfileResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/platform.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/platform.rs
index 868f56a6d..aefc4fcc2 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/platform.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/platform.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,13 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::games_gamesgamesgamesgames::MediaItem;
 use crate::games_gamesgamesgamesgames::PlatformCategory;
 use crate::games_gamesgamesgamesgames::PlatformVersion;
 use crate::games_gamesgamesgamesgames::Website;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A platform for playing video games.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -126,7 +126,7 @@ impl LexiconSchema for Platform {
 
 pub mod platform_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -206,9 +206,7 @@ impl PlatformBuilder {
     pub fn new() -> Self {
         PlatformBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -219,9 +217,7 @@ impl PlatformBuilder {
     pub fn builder() -> Self {
         PlatformBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -343,7 +339,10 @@ where
     St::Name: platform_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> PlatformBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> PlatformBuilder, S> {
         self._fields.8 = Option::Some(value.into());
         PlatformBuilder {
             _state: PhantomData,
@@ -355,7 +354,10 @@ where
 
 impl PlatformBuilder {
     /// Set the `versions` field (optional)
-    pub fn versions(mut self, value: impl Into>>>) -> Self {
+    pub fn versions(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.9 = value.into();
         self
     }
@@ -422,10 +424,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_platform() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.platform"),
@@ -434,13 +436,17 @@ fn lexicon_doc_games_gamesgamesgamesgames_platform() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A platform for playing video games.")),
+                    description: Some(
+                        CowStr::new_static("A platform for playing video games."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -544,4 +550,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_platform() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/platform_family.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/platform_family.rs
index 083322671..021fe9bdf 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/platform_family.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/platform_family.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A family of related platforms.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for PlatformFamily {
 
 pub mod platform_family_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -149,7 +149,10 @@ pub mod platform_family_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PlatformFamilyBuilder {
+pub struct PlatformFamilyBuilder<
+    St: platform_family_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -258,7 +261,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PlatformFamily {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PlatformFamily {
         PlatformFamily {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -269,10 +275,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_platformFamily() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.platformFamily"),
@@ -281,13 +287,17 @@ fn lexicon_doc_games_gamesgamesgamesgames_platformFamily() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A family of related platforms.")),
+                    description: Some(
+                        CowStr::new_static("A family of related platforms."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -321,4 +331,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_platformFamily() -> LexiconDoc<'static
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/put_game.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/put_game.rs
index e1ab23ce5..77f5db4c3 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/put_game.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/put_game.rs
@@ -8,6 +8,14 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
+#[allow(unused_imports)]
+use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::deps::smol_str::SmolStr;
+use jacquard_common::types::string::{AtUri, Datetime};
+use jacquard_common::types::value::Data;
+use jacquard_derive::IntoStatic;
+use serde::{Serialize, Deserialize};
 use crate::games_gamesgamesgamesgames::AgeRating;
 use crate::games_gamesgamesgamesgames::AlternativeName;
 use crate::games_gamesgamesgamesgames::ApplicationType;
@@ -22,20 +30,9 @@ use crate::games_gamesgamesgamesgames::Release;
 use crate::games_gamesgamesgamesgames::Theme;
 use crate::games_gamesgamesgamesgames::TimeToBeat;
 use crate::games_gamesgamesgamesgames::Website;
-#[allow(unused_imports)]
-use core::marker::PhantomData;
-use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime};
-use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
-use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutGame {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub age_ratings: Option>>,
@@ -88,11 +85,9 @@ pub struct PutGame {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutGameOutput {
     pub cid: S,
     pub uri: AtUri,
@@ -113,8 +108,9 @@ impl jacquard_common::xrpc::XrpcResp for PutGameResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutGame {
     const NSID: &'static str = "games.gamesgamesgamesgames.putGame";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutGameResponse;
 }
 
@@ -124,15 +120,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.putGame`. The request payload type is `P
 pub struct PutGameRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutGameRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.putGame";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutGame;
     type Response = PutGameResponse;
 }
 
 pub mod put_game_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -214,8 +211,30 @@ impl PutGameBuilder {
         PutGameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -228,8 +247,30 @@ impl PutGameBuilder {
         PutGameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -251,12 +292,18 @@ impl PutGameBuilder {
 
 impl PutGameBuilder {
     /// Set the `alternativeNames` field (optional)
-    pub fn alternative_names(mut self, value: impl Into>>>) -> Self {
+    pub fn alternative_names(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `alternativeNames` field to an Option value (optional)
-    pub fn maybe_alternative_names(mut self, value: Option>>) -> Self {
+    pub fn maybe_alternative_names(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -264,7 +311,10 @@ impl PutGameBuilder {
 
 impl PutGameBuilder {
     /// Set the `applicationType` field (optional)
-    pub fn application_type(mut self, value: impl Into>>) -> Self {
+    pub fn application_type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -329,12 +379,18 @@ impl PutGameBuilder {
 
 impl PutGameBuilder {
     /// Set the `languageSupports` field (optional)
-    pub fn language_supports(mut self, value: impl Into>>>) -> Self {
+    pub fn language_supports(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.7 = value.into();
         self
     }
     /// Set the `languageSupports` field to an Option value (optional)
-    pub fn maybe_language_supports(mut self, value: Option>>) -> Self {
+    pub fn maybe_language_supports(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.7 = value;
         self
     }
@@ -368,12 +424,18 @@ impl PutGameBuilder {
 
 impl PutGameBuilder {
     /// Set the `multiplayerModes` field (optional)
-    pub fn multiplayer_modes(mut self, value: impl Into>>>) -> Self {
+    pub fn multiplayer_modes(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.10 = value.into();
         self
     }
     /// Set the `multiplayerModes` field to an Option value (optional)
-    pub fn maybe_multiplayer_modes(mut self, value: Option>>) -> Self {
+    pub fn maybe_multiplayer_modes(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.10 = value;
         self
     }
@@ -415,7 +477,10 @@ impl PutGameBuilder {
         self
     }
     /// Set the `playerPerspectives` field to an Option value (optional)
-    pub fn maybe_player_perspectives(mut self, value: Option>>) -> Self {
+    pub fn maybe_player_perspectives(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.13 = value;
         self
     }
@@ -622,4 +687,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/put_popularity.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/put_popularity.rs
index ce684d5c5..f1583312b 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/put_popularity.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/put_popularity.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::put_popularity;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::put_popularity;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GamePopularity {
     ///Concurrent player count.
     pub ccu: i64,
@@ -39,11 +36,9 @@ pub struct GamePopularity {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutPopularity {
     ///List of games with popularity data to upsert.
     pub games: Vec>,
@@ -51,11 +46,9 @@ pub struct PutPopularity {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutPopularityOutput {
     ///Number of records upserted.
     pub upserted: i64,
@@ -101,8 +94,9 @@ impl jacquard_common::xrpc::XrpcResp for PutPopularityResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutPopularity {
     const NSID: &'static str = "games.gamesgamesgamesgames.putPopularity";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutPopularityResponse;
 }
 
@@ -112,15 +106,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.putPopularity`. The request payload type
 pub struct PutPopularityRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutPopularityRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.putPopularity";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutPopularity;
     type Response = PutPopularityResponse;
 }
 
 pub mod game_popularity_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -163,7 +158,10 @@ pub mod game_popularity_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GamePopularityBuilder {
+pub struct GamePopularityBuilder<
+    St: game_popularity_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -258,7 +256,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> GamePopularity {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> GamePopularity {
         GamePopularity {
             ccu: self._fields.0.unwrap(),
             steam_id: self._fields.1.unwrap(),
@@ -268,10 +269,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_putPopularity() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.putPopularity"),
@@ -280,10 +281,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_putPopularity() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("gamePopularity"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("steamId"),
-                        SmolStr::new_static("ccu"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("steamId"), SmolStr::new_static("ccu")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -311,28 +311,32 @@ fn lexicon_doc_games_gamesgamesgamesgames_putPopularity() -> LexiconDoc<'static>
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![SmolStr::new_static("games")]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("games"),
-                                    LexObjectProperty::Array(LexArray {
-                                        description: Some(CowStr::new_static(
-                                            "List of games with popularity data to upsert.",
-                                        )),
-                                        items: LexArrayItem::Ref(LexRef {
-                                            r#ref: CowStr::new_static("#gamePopularity"),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(vec![SmolStr::new_static("games")]),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("games"),
+                                        LexObjectProperty::Array(LexArray {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "List of games with popularity data to upsert.",
+                                                ),
+                                            ),
+                                            items: LexArrayItem::Ref(LexRef {
+                                                r#ref: CowStr::new_static("#gamePopularity"),
+                                                ..Default::default()
+                                            }),
                                             ..Default::default()
                                         }),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -346,7 +350,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_putPopularity() -> LexiconDoc<'static>
 
 pub mod put_popularity_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -377,7 +381,10 @@ pub mod put_popularity_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PutPopularityBuilder {
+pub struct PutPopularityBuilder<
+    St: put_popularity_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>,),
     _type: PhantomData S>,
@@ -451,10 +458,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PutPopularity {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PutPopularity {
         PutPopularity {
             games: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/redirect.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/redirect.rs
index 650ccbe00..cba8b2eaf 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/redirect.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/redirect.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Nsid};
+use jacquard_common::types::string::{AtUri, Nsid, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A redirect mapping a source AT URI to a target AT URI after migration.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Redirect {
 
 pub mod redirect_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -181,12 +181,7 @@ pub mod redirect_state {
 /// Builder for constructing an instance of this type.
 pub struct RedirectBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -333,10 +328,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_redirect() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.redirect"),
@@ -345,17 +340,21 @@ fn lexicon_doc_games_gamesgamesgamesgames_redirect() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A redirect mapping a source AT URI to a target AT URI after migration.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A redirect mapping a source AT URI to a target AT URI after migration.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("sourceUri"),
-                            SmolStr::new_static("targetUri"),
-                            SmolStr::new_static("collection"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("sourceUri"),
+                                SmolStr::new_static("targetUri"),
+                                SmolStr::new_static("collection"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -398,4 +397,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_redirect() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/refresh_caches.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/refresh_caches.rs
index db5a23996..e6927f04b 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/refresh_caches.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/refresh_caches.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RefreshCachesOutput {
     pub refreshed: Vec,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -46,8 +43,9 @@ impl jacquard_common::xrpc::XrpcResp for RefreshCachesResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for RefreshCaches {
     const NSID: &'static str = "games.gamesgamesgamesgames.refreshCaches";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RefreshCachesResponse;
 }
 
@@ -57,8 +55,9 @@ Path: `/xrpc/games.gamesgamesgamesgames.refreshCaches`. The request payload type
 pub struct RefreshCachesRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RefreshCachesRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.refreshCaches";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = RefreshCaches;
     type Response = RefreshCachesResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/review_claim.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/review_claim.rs
index dd1da4fd0..9646086bd 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/review_claim.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/review_claim.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReviewClaim {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub approved_games: Option>>,
@@ -34,6 +31,7 @@ pub struct ReviewClaim {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ReviewClaimStatus {
     Approved,
@@ -111,11 +109,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReviewClaimOutput {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -135,8 +131,9 @@ impl jacquard_common::xrpc::XrpcResp for ReviewClaimResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ReviewClaim {
     const NSID: &'static str = "games.gamesgamesgamesgames.reviewClaim";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ReviewClaimResponse;
 }
 
@@ -146,15 +143,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.reviewClaim`. The request payload type i
 pub struct ReviewClaimRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ReviewClaimRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.reviewClaim";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ReviewClaim;
     type Response = ReviewClaimResponse;
 }
 
 pub mod review_claim_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -325,7 +323,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReviewClaim {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReviewClaim {
         ReviewClaim {
             approved_games: self._fields.0,
             claim: self._fields.1.unwrap(),
@@ -334,4 +335,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/review_contribution.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/review_contribution.rs
index a65835eb7..82338ce22 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/review_contribution.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/review_contribution.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReviewContribution {
     pub contribution: StrongRef,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -32,6 +29,7 @@ pub struct ReviewContribution {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ReviewContributionStatus {
     Approved,
@@ -81,7 +79,8 @@ impl Serialize for ReviewContributionStatus {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ReviewContributionStatus {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ReviewContributionStatus {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -107,17 +106,19 @@ where
         match self {
             ReviewContributionStatus::Approved => ReviewContributionStatus::Approved,
             ReviewContributionStatus::Denied => ReviewContributionStatus::Denied,
-            ReviewContributionStatus::NeedsRevision => ReviewContributionStatus::NeedsRevision,
-            ReviewContributionStatus::Other(v) => ReviewContributionStatus::Other(v.into_static()),
+            ReviewContributionStatus::NeedsRevision => {
+                ReviewContributionStatus::NeedsRevision
+            }
+            ReviewContributionStatus::Other(v) => {
+                ReviewContributionStatus::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReviewContributionOutput {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -137,8 +138,9 @@ impl jacquard_common::xrpc::XrpcResp for ReviewContributionResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ReviewContribution {
     const NSID: &'static str = "games.gamesgamesgamesgames.reviewContribution";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ReviewContributionResponse;
 }
 
@@ -148,15 +150,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.reviewContribution`. The request payload
 pub struct ReviewContributionRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ReviewContributionRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.reviewContribution";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ReviewContribution;
     type Response = ReviewContributionResponse;
 }
 
 pub mod review_contribution_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -199,19 +202,21 @@ pub mod review_contribution_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ReviewContributionBuilder {
+pub struct ReviewContributionBuilder<
+    St: review_contribution_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
 impl ReviewContribution {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ReviewContributionBuilder {
+    pub fn new() -> ReviewContributionBuilder<
+        review_contribution_state::Empty,
+        DefaultStr,
+    > {
         ReviewContributionBuilder::new()
     }
 }
@@ -312,7 +317,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReviewContribution {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReviewContribution {
         ReviewContribution {
             contribution: self._fields.0.unwrap(),
             reason: self._fields.1,
@@ -320,4 +328,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext.rs
index aaa9387b1..1285d3e08 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `games.gamesgamesgamesgames.richtext` Lexicon namespace/module.
-pub mod facet;
+pub mod facet;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext/facet.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext/facet.rs
index c41560146..0064ee0a1 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext/facet.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/richtext/facet.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -22,17 +22,14 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::richtext::facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::richtext::facet;
 /// Facet feature for bold text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Bold {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -41,10 +38,7 @@ pub struct Bold {
 /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ByteSlice {
     pub byte_end: i64,
     pub byte_start: i64,
@@ -55,10 +49,7 @@ pub struct ByteSlice {
 /// Facet feature for a section heading.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Heading {
     pub level: i64,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,10 +59,7 @@ pub struct Heading {
 /// Facet feature for an inline image.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Image {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub alt: Option,
@@ -87,10 +75,7 @@ pub struct Image {
 /// Facet feature for italic text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Italic {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -99,10 +84,7 @@ pub struct Italic {
 /// Facet feature for a URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Link {
     pub uri: UriValue,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -112,10 +94,7 @@ pub struct Link {
 /// Facet feature marking text as a list item.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     /// Defaults to `0`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -130,10 +109,7 @@ pub struct ListItem {
 /// Annotation of a sub-string within rich text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Facet {
     pub features: Vec>,
     pub index: facet::ByteSlice,
@@ -141,6 +117,7 @@ pub struct Facet {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -168,10 +145,7 @@ pub enum FacetFeaturesItem {
 /// Facet feature for mention of another account.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Mention {
     pub did: Did,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -181,10 +155,7 @@ pub struct Mention {
 /// Facet feature for a hashtag.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tag {
     pub tag: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -194,10 +165,7 @@ pub struct Tag {
 /// Facet feature for an inline video.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Video {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub alt: Option,
@@ -323,16 +291,19 @@ impl LexiconSchema for Image {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -496,16 +467,19 @@ impl LexiconSchema for Video {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["video/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -520,10 +494,10 @@ impl LexiconSchema for Video {
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.richtext.facet"),
@@ -532,7 +506,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("bold"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for bold text.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for bold text."),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -580,7 +556,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("heading"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for a section heading.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for a section heading."),
+                    ),
                     required: Some(vec![SmolStr::new_static("level")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -601,22 +579,20 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("image"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for an inline image.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for an inline image."),
+                    ),
                     required: Some(vec![SmolStr::new_static("blob")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("alt"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("height"),
@@ -638,7 +614,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("italic"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for italic text.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for italic text."),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -670,9 +648,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Facet feature marking text as a list item.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Facet feature marking text as a list item."),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -697,13 +675,16 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Annotation of a sub-string within rich text.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("index"),
-                        SmolStr::new_static("features"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Annotation of a sub-string within rich text.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("index"), SmolStr::new_static("features")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -712,15 +693,12 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
                             LexObjectProperty::Array(LexArray {
                                 items: LexArrayItem::Union(LexRefUnion {
                                     refs: vec![
-                                        CowStr::new_static("#mention"),
-                                        CowStr::new_static("#link"),
-                                        CowStr::new_static("#tag"),
-                                        CowStr::new_static("#bold"),
+                                        CowStr::new_static("#mention"), CowStr::new_static("#link"),
+                                        CowStr::new_static("#tag"), CowStr::new_static("#bold"),
                                         CowStr::new_static("#italic"),
                                         CowStr::new_static("#heading"),
                                         CowStr::new_static("#listItem"),
-                                        CowStr::new_static("#image"),
-                                        CowStr::new_static("#video"),
+                                        CowStr::new_static("#image"), CowStr::new_static("#video")
                                     ],
                                     ..Default::default()
                                 }),
@@ -742,9 +720,11 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("mention"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Facet feature for mention of another account.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Facet feature for mention of another account.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("did")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -764,7 +744,9 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("tag"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for a hashtag.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for a hashtag."),
+                    ),
                     required: Some(vec![SmolStr::new_static("tag")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -785,21 +767,19 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
             map.insert(
                 SmolStr::new_static("video"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for an inline video.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for an inline video."),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("alt"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -821,7 +801,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_richtext_facet() -> LexiconDoc<'static
 
 pub mod byte_slice_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -959,7 +939,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ByteSlice {
         ByteSlice {
             byte_end: self._fields.0.unwrap(),
             byte_start: self._fields.1.unwrap(),
@@ -970,7 +953,7 @@ where
 
 pub mod heading_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1085,7 +1068,7 @@ where
 
 pub mod image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1245,7 +1228,7 @@ where
 
 pub mod link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1324,7 +1307,10 @@ where
     St::Uri: link_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> LinkBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         LinkBuilder {
             _state: PhantomData,
@@ -1371,7 +1357,7 @@ impl Default for ListItem {
 
 pub mod facet_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1416,10 +1402,7 @@ pub mod facet_state {
 /// Builder for constructing an instance of this type.
 pub struct FacetBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option>,
-    ),
+    _fields: (Option>>, Option>),
     _type: PhantomData S>,
 }
 
@@ -1523,7 +1506,7 @@ where
 
 pub mod mention_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1602,7 +1585,10 @@ where
     St::Did: mention_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> MentionBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         MentionBuilder {
             _state: PhantomData,
@@ -1631,4 +1617,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/search.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/search.rs
index 2f87e30de..1786791e0 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/search.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/search.rs
@@ -8,24 +8,21 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::CollectionSummaryView;
-use crate::games_gamesgamesgamesgames::EngineSummaryView;
-use crate::games_gamesgamesgamesgames::GameSummaryView;
-use crate::games_gamesgamesgamesgames::PlatformSummaryView;
-use crate::games_gamesgamesgamesgames::ProfileSummaryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::CollectionSummaryView;
+use crate::games_gamesgamesgamesgames::EngineSummaryView;
+use crate::games_gamesgamesgamesgames::GameSummaryView;
+use crate::games_gamesgamesgamesgames::PlatformSummaryView;
+use crate::games_gamesgamesgamesgames::ProfileSummaryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Search {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub age_ratings: Option>,
@@ -60,11 +57,9 @@ pub struct Search {
     pub types: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -76,6 +71,7 @@ pub struct SearchOutput {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -134,7 +130,7 @@ fn _default_limit() -> Option {
 
 pub mod search_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -205,7 +201,19 @@ impl SearchBuilder {
         SearchBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -218,7 +226,19 @@ impl SearchBuilder {
         SearchBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -420,4 +440,4 @@ where
             types: self._fields.12,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/search_profiles_typeahead.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/search_profiles_typeahead.rs
index d15a5a101..a064dcf8e 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/search_profiles_typeahead.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/search_profiles_typeahead.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::ProfileSummaryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::ProfileSummaryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchProfilesTypeahead {
     /// Defaults to `10`. Min: 1. Max: 25.
     #[serde(default = "_default_limit")]
@@ -30,11 +27,9 @@ pub struct SearchProfilesTypeahead {
     pub q: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchProfilesTypeaheadOutput {
     pub profiles: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -75,7 +70,7 @@ fn _default_limit() -> Option {
 
 pub mod search_profiles_typeahead_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -117,15 +112,20 @@ pub struct SearchProfilesTypeaheadBuilder<
 
 impl SearchProfilesTypeahead {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> SearchProfilesTypeaheadBuilder {
+    pub fn new() -> SearchProfilesTypeaheadBuilder<
+        search_profiles_typeahead_state::Empty,
+        DefaultStr,
+    > {
         SearchProfilesTypeaheadBuilder::new()
     }
 }
 
 impl SearchProfilesTypeahead {
     /// Create a new builder for this type
-    pub fn builder() -> SearchProfilesTypeaheadBuilder {
+    pub fn builder() -> SearchProfilesTypeaheadBuilder<
+        search_profiles_typeahead_state::Empty,
+        S,
+    > {
         SearchProfilesTypeaheadBuilder::builder()
     }
 }
@@ -141,7 +141,9 @@ impl SearchProfilesTypeaheadBuilder SearchProfilesTypeaheadBuilder {
+impl<
+    S: BosStr,
+> SearchProfilesTypeaheadBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         SearchProfilesTypeaheadBuilder {
@@ -152,7 +154,10 @@ impl SearchProfilesTypeaheadBuilder SearchProfilesTypeaheadBuilder {
+impl<
+    St: search_profiles_typeahead_state::State,
+    S: BosStr,
+> SearchProfilesTypeaheadBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -196,4 +201,4 @@ where
             q: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/search_slugs.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/search_slugs.rs
index c7e78fdbd..5c6054575 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/search_slugs.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/search_slugs.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::games_gamesgamesgamesgames::search_slugs;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::search_slugs;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchSlugs {
     /// Defaults to `10`. Max: 100.
     #[serde(default = "_default_limit")]
@@ -39,22 +36,18 @@ pub struct SearchSlugs {
     pub slug: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchSlugsOutput {
     pub slugs: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SlugResult {
     pub r#ref: AtUri,
     pub slug: S,
@@ -111,7 +104,7 @@ fn _default_limit() -> Option {
 
 pub mod search_slugs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -232,7 +225,7 @@ where
 
 pub mod slug_result_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -370,7 +363,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SlugResult {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SlugResult {
         SlugResult {
             r#ref: self._fields.0.unwrap(),
             slug: self._fields.1.unwrap(),
@@ -380,10 +376,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_searchSlugs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.searchSlugs"),
@@ -392,42 +388,43 @@ fn lexicon_doc_games_gamesgamesgamesgames_searchSlugs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("slug")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("slug"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The slug value to search for.",
-                                    )),
-                                    min_length: Some(1usize),
-                                    max_length: Some(64usize),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("slug")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("slug"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("The slug value to search for."),
+                                        ),
+                                        min_length: Some(1usize),
+                                        max_length: Some(64usize),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("slugResult"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("slug"),
-                        SmolStr::new_static("ref"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("slug"), SmolStr::new_static("ref")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -440,9 +437,7 @@ fn lexicon_doc_games_gamesgamesgamesgames_searchSlugs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("slug"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -453,4 +448,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_searchSlugs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/slug.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/slug.rs
index c880f91a0..af188b162 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/slug.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/slug.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A human-readable/writable slug pointing to a separate record by the slug's creator.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -128,7 +128,7 @@ impl LexiconSchema for Slug {
 
 pub mod slug_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -219,7 +219,10 @@ where
     St::Ref: slug_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into>) -> SlugBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into>,
+    ) -> SlugBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         SlugBuilder {
             _state: PhantomData,
@@ -235,7 +238,10 @@ where
     St::Slug: slug_state::IsUnset,
 {
     /// Set the `slug` field (required)
-    pub fn slug(mut self, value: impl Into) -> SlugBuilder, S> {
+    pub fn slug(
+        mut self,
+        value: impl Into,
+    ) -> SlugBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         SlugBuilder {
             _state: PhantomData,
@@ -270,10 +276,10 @@ where
 }
 
 fn lexicon_doc_games_gamesgamesgamesgames_slug() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("games.gamesgamesgamesgames.slug"),
@@ -331,4 +337,4 @@ fn lexicon_doc_games_gamesgamesgamesgames_slug() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/games_gamesgamesgamesgames/toggle_list_item.rs b/crates/jacquard-api/src/games_gamesgamesgamesgames/toggle_list_item.rs
index 4670e6b23..5d98e33ba 100644
--- a/crates/jacquard-api/src/games_gamesgamesgamesgames/toggle_list_item.rs
+++ b/crates/jacquard-api/src/games_gamesgamesgamesgames/toggle_list_item.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToggleListItem {
     ///AT URI of the game record.
     pub game_uri: AtUri,
@@ -31,11 +28,9 @@ pub struct ToggleListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ToggleListItemOutput {
     ///Whether the game was added to or removed from the list.
     pub action: ToggleListItemOutputAction,
@@ -97,7 +92,8 @@ impl Serialize for ToggleListItemOutputAction {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ToggleListItemOutputAction {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ToggleListItemOutputAction {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -143,8 +139,9 @@ impl jacquard_common::xrpc::XrpcResp for ToggleListItemResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ToggleListItem {
     const NSID: &'static str = "games.gamesgamesgamesgames.toggleListItem";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ToggleListItemResponse;
 }
 
@@ -154,15 +151,16 @@ Path: `/xrpc/games.gamesgamesgamesgames.toggleListItem`. The request payload typ
 pub struct ToggleListItemRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ToggleListItemRequest {
     const PATH: &'static str = "/xrpc/games.gamesgamesgamesgames.toggleListItem";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ToggleListItem;
     type Response = ToggleListItemResponse;
 }
 
 pub mod toggle_list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -205,7 +203,10 @@ pub mod toggle_list_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ToggleListItemBuilder {
+pub struct ToggleListItemBuilder<
+    St: toggle_list_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -300,11 +301,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ToggleListItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ToggleListItem {
         ToggleListItem {
             game_uri: self._fields.0.unwrap(),
             list_uri: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_goals.rs b/crates/jacquard-api/src/garden_goals.rs
index 044ce8f15..d3689ad2d 100644
--- a/crates/jacquard-api/src/garden_goals.rs
+++ b/crates/jacquard-api/src/garden_goals.rs
@@ -8,4 +8,4 @@ pub mod category;
 pub mod completion;
 pub mod completion_details;
 pub mod goal;
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_goals/category.rs b/crates/jacquard-api/src/garden_goals/category.rs
index ca99999f9..2060b80c3 100644
--- a/crates/jacquard-api/src/garden_goals/category.rs
+++ b/crates/jacquard-api/src/garden_goals/category.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A category for organizing goals.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -130,7 +130,7 @@ impl LexiconSchema for Category {
 
 pub mod category_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -273,7 +273,10 @@ where
     St::Name: category_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> CategoryBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> CategoryBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         CategoryBuilder {
             _state: PhantomData,
@@ -311,10 +314,10 @@ where
 }
 
 fn lexicon_doc_garden_goals_category() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.goals.category"),
@@ -323,23 +326,29 @@ fn lexicon_doc_garden_goals_category() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A category for organizing goals.")),
+                    description: Some(
+                        CowStr::new_static("A category for organizing goals."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("categoryId"),
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("categoryId"),
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("categoryId"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Unique identifier for the category (UUID)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Unique identifier for the category (UUID)",
+                                        ),
+                                    ),
                                     max_length: Some(64usize),
                                     ..Default::default()
                                 }),
@@ -347,9 +356,11 @@ fn lexicon_doc_garden_goals_category() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the category was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when the category was created",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -357,9 +368,9 @@ fn lexicon_doc_garden_goals_category() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Display name of the category",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Display name of the category"),
+                                    ),
                                     max_length: Some(100usize),
                                     ..Default::default()
                                 }),
@@ -375,4 +386,4 @@ fn lexicon_doc_garden_goals_category() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_goals/completion.rs b/crates/jacquard-api/src/garden_goals/completion.rs
index 9071efc23..a863d0ba5 100644
--- a/crates/jacquard-api/src/garden_goals/completion.rs
+++ b/crates/jacquard-api/src/garden_goals/completion.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A record of completing a goal on a specific day.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -196,16 +196,19 @@ impl LexiconSchema for Completion {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("photo_blob"),
@@ -240,7 +243,7 @@ impl LexiconSchema for Completion {
 
 pub mod completion_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -555,7 +558,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Completion {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Completion {
         Completion {
             completed_at: self._fields.0.unwrap(),
             day: self._fields.1.unwrap(),
@@ -572,10 +578,10 @@ where
 }
 
 fn lexicon_doc_garden_goals_completion() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.goals.completion"),
@@ -584,27 +590,31 @@ fn lexicon_doc_garden_goals_completion() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A record of completing a goal on a specific day.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A record of completing a goal on a specific day.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("goalId"),
-                            SmolStr::new_static("year"),
-                            SmolStr::new_static("month"),
-                            SmolStr::new_static("day"),
-                            SmolStr::new_static("completedAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("goalId"), SmolStr::new_static("year"),
+                                SmolStr::new_static("month"), SmolStr::new_static("day"),
+                                SmolStr::new_static("completedAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("completedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the completion was recorded",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when the completion was recorded",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -620,9 +630,11 @@ fn lexicon_doc_garden_goals_completion() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("goalId"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "UUID of the goal this completion belongs to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "UUID of the goal this completion belongs to",
+                                        ),
+                                    ),
                                     max_length: Some(64usize),
                                     ..Default::default()
                                 }),
@@ -630,9 +642,11 @@ fn lexicon_doc_garden_goals_completion() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("goalUri"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT Protocol URI reference to the goal record",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "AT Protocol URI reference to the goal record",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -648,18 +662,16 @@ fn lexicon_doc_garden_goals_completion() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("notes"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional notes for this completion",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional notes for this completion"),
+                                    ),
                                     max_length: Some(99usize),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("photoBlob"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("sequenceNum"),
@@ -686,4 +698,4 @@ fn lexicon_doc_garden_goals_completion() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_goals/completion_details.rs b/crates/jacquard-api/src/garden_goals/completion_details.rs
index 3eca7366a..71a08c963 100644
--- a/crates/jacquard-api/src/garden_goals/completion_details.rs
+++ b/crates/jacquard-api/src/garden_goals/completion_details.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Additional details (notes, photo) for a goal completion day.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -206,16 +206,19 @@ impl LexiconSchema for CompletionDetails {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("photo_blob"),
@@ -241,7 +244,7 @@ impl LexiconSchema for CompletionDetails {
 
 pub mod completion_details_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -332,7 +335,10 @@ pub mod completion_details_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CompletionDetailsBuilder {
+pub struct CompletionDetailsBuilder<
+    St: completion_details_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -350,7 +356,10 @@ pub struct CompletionDetailsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CompletionDetailsBuilder {
+    pub fn new() -> CompletionDetailsBuilder<
+        completion_details_state::Empty,
+        DefaultStr,
+    > {
         CompletionDetailsBuilder::new()
     }
 }
@@ -556,7 +565,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CompletionDetails {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CompletionDetails {
         CompletionDetails {
             day: self._fields.0.unwrap(),
             goal_id: self._fields.1.unwrap(),
@@ -573,10 +585,10 @@ where
 }
 
 fn lexicon_doc_garden_goals_completionDetails() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.goals.completionDetails"),
@@ -585,18 +597,20 @@ fn lexicon_doc_garden_goals_completionDetails() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Additional details (notes, photo) for a goal completion day.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Additional details (notes, photo) for a goal completion day.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("goalId"),
-                            SmolStr::new_static("year"),
-                            SmolStr::new_static("month"),
-                            SmolStr::new_static("day"),
-                            SmolStr::new_static("updatedAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("goalId"), SmolStr::new_static("year"),
+                                SmolStr::new_static("month"), SmolStr::new_static("day"),
+                                SmolStr::new_static("updatedAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -611,9 +625,11 @@ fn lexicon_doc_garden_goals_completionDetails() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("goalId"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "UUID of the goal this details record belongs to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "UUID of the goal this details record belongs to",
+                                        ),
+                                    ),
                                     max_length: Some(64usize),
                                     ..Default::default()
                                 }),
@@ -621,9 +637,11 @@ fn lexicon_doc_garden_goals_completionDetails() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("goalUri"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT Protocol URI reference to the goal record",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "AT Protocol URI reference to the goal record",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -639,9 +657,9 @@ fn lexicon_doc_garden_goals_completionDetails() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("notes"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional notes for this day",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional notes for this day"),
+                                    ),
                                     max_length: Some(99usize),
                                     ..Default::default()
                                 }),
@@ -649,23 +667,25 @@ fn lexicon_doc_garden_goals_completionDetails() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("photoAlt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Alt text for the photo")),
+                                    description: Some(
+                                        CowStr::new_static("Alt text for the photo"),
+                                    ),
                                     max_length: Some(1000usize),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("photoBlob"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when this details record was last updated",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when this details record was last updated",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -688,4 +708,4 @@ fn lexicon_doc_garden_goals_completionDetails() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_goals/goal.rs b/crates/jacquard-api/src/garden_goals/goal.rs
index d14f95f78..98e6d5899 100644
--- a/crates/jacquard-api/src/garden_goals/goal.rs
+++ b/crates/jacquard-api/src/garden_goals/goal.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A goal to track daily completions for a year.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -184,16 +184,19 @@ impl LexiconSchema for Goal {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("completed_piece_blob"),
@@ -261,16 +264,19 @@ impl LexiconSchema for Goal {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("piece_blob"),
@@ -305,7 +311,7 @@ impl LexiconSchema for Goal {
 
 pub mod goal_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -420,7 +426,20 @@ impl GoalBuilder {
         GoalBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -434,7 +453,20 @@ impl GoalBuilder {
         GoalBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -558,7 +590,10 @@ where
     St::GoalId: goal_state::IsUnset,
 {
     /// Set the `goalId` field (required)
-    pub fn goal_id(mut self, value: impl Into) -> GoalBuilder, S> {
+    pub fn goal_id(
+        mut self,
+        value: impl Into,
+    ) -> GoalBuilder, S> {
         self._fields.8 = Option::Some(value.into());
         GoalBuilder {
             _state: PhantomData,
@@ -574,7 +609,10 @@ where
     St::Name: goal_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> GoalBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> GoalBuilder, S> {
         self._fields.9 = Option::Some(value.into());
         GoalBuilder {
             _state: PhantomData,
@@ -642,7 +680,10 @@ where
     St::Year: goal_state::IsUnset,
 {
     /// Set the `year` field (required)
-    pub fn year(mut self, value: impl Into) -> GoalBuilder, S> {
+    pub fn year(
+        mut self,
+        value: impl Into,
+    ) -> GoalBuilder, S> {
         self._fields.14 = Option::Some(value.into());
         GoalBuilder {
             _state: PhantomData,
@@ -705,10 +746,10 @@ where
 }
 
 fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.goals.goal"),
@@ -717,26 +758,31 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A goal to track daily completions for a year.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A goal to track daily completions for a year.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("goalId"),
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("year"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("goalId"), SmolStr::new_static("name"),
+                                SmolStr::new_static("year"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("accentColor"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Preset name or hex color for incomplete state",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Preset name or hex color for incomplete state",
+                                        ),
+                                    ),
                                     max_length: Some(50usize),
                                     ..Default::default()
                                 }),
@@ -744,9 +790,11 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("categories"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Array of category UUIDs this goal belongs to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Array of category UUIDs this goal belongs to",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         max_length: Some(64usize),
                                         ..Default::default()
@@ -757,9 +805,11 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("completedAccentColor"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Preset name or hex color for complete state",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Preset name or hex color for complete state",
+                                        ),
+                                    ),
                                     max_length: Some(50usize),
                                     ..Default::default()
                                 }),
@@ -767,25 +817,23 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("completedPiece"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Shape name or emoji for complete state",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Shape name or emoji for complete state"),
+                                    ),
                                     max_length: Some(100usize),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("completedPieceBlob"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("completedPieceUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Favicon URL for complete state",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Favicon URL for complete state"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -793,9 +841,9 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the goal was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when the goal was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -803,9 +851,9 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional description of the goal",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional description of the goal"),
+                                    ),
                                     max_length: Some(500usize),
                                     ..Default::default()
                                 }),
@@ -813,9 +861,9 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("goalId"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Unique identifier for the goal (UUID)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Unique identifier for the goal (UUID)"),
+                                    ),
                                     max_length: Some(64usize),
                                     ..Default::default()
                                 }),
@@ -823,9 +871,9 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Display name of the goal",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Display name of the goal"),
+                                    ),
                                     max_length: Some(100usize),
                                     ..Default::default()
                                 }),
@@ -833,25 +881,25 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("piece"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Shape name or emoji for incomplete state",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Shape name or emoji for incomplete state",
+                                        ),
+                                    ),
                                     max_length: Some(100usize),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("pieceBlob"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("pieceUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Favicon URL for incomplete state",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Favicon URL for incomplete state"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -881,4 +929,4 @@ fn lexicon_doc_garden_goals_goal() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_goals/profile.rs b/crates/jacquard-api/src/garden_goals/profile.rs
index ad6df14f8..90873b496 100644
--- a/crates/jacquard-api/src/garden_goals/profile.rs
+++ b/crates/jacquard-api/src/garden_goals/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user's Goals Garden profile record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -218,10 +218,10 @@ where
 }
 
 fn lexicon_doc_garden_goals_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.goals.profile"),
@@ -230,7 +230,9 @@ fn lexicon_doc_garden_goals_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A user's Goals Garden profile record.")),
+                    description: Some(
+                        CowStr::new_static("A user's Goals Garden profile record."),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("joinedAt")]),
@@ -240,9 +242,11 @@ fn lexicon_doc_garden_goals_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("joinedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the user joined Goals Garden",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when the user joined Goals Garden",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -258,4 +262,4 @@ fn lexicon_doc_garden_goals_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon.rs b/crates/jacquard-api/src/garden_lexicon.rs
index c67a6353b..15ff7f388 100644
--- a/crates/jacquard-api/src/garden_lexicon.rs
+++ b/crates/jacquard-api/src/garden_lexicon.rs
@@ -13,4 +13,4 @@ pub mod lawyerlike_deangelo;
 pub mod ngerakines;
 pub mod service;
 pub mod stunning_leafcutter;
-pub mod unconquered_modesto;
+pub mod unconquered_modesto;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound.rs b/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound.rs
index 1e9950ceb..2a78f9398 100644
--- a/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound.rs
+++ b/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `garden.lexicon.conquering.wolfhound` Lexicon namespace/module.
-pub mod example;
+pub mod example;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound/example.rs b/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound/example.rs
index 50223dcd5..d1e5f3506 100644
--- a/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound/example.rs
+++ b/crates/jacquard-api/src/garden_lexicon/conquering_wolfhound/example.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// The Conquering Wolfhound!!!!!!
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -101,10 +101,10 @@ impl LexiconSchema for Example {
 }
 
 fn lexicon_doc_garden_lexicon_conquering_wolfhound_example() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.conquering-wolfhound.example"),
@@ -113,7 +113,9 @@ fn lexicon_doc_garden_lexicon_conquering_wolfhound_example() -> LexiconDoc<'stat
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("The Conquering Wolfhound!!!!!!")),
+                    description: Some(
+                        CowStr::new_static("The Conquering Wolfhound!!!!!!"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![]),
@@ -131,4 +133,4 @@ fn lexicon_doc_garden_lexicon_conquering_wolfhound_example() -> LexiconDoc<'stat
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/documentation.rs b/crates/jacquard-api/src/garden_lexicon/documentation.rs
index 0814e566a..ec8a69700 100644
--- a/crates/jacquard-api/src/garden_lexicon/documentation.rs
+++ b/crates/jacquard-api/src/garden_lexicon/documentation.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Language, Nsid};
+use jacquard_common::types::string::{AtUri, Nsid, Cid, Datetime, Language};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::garden_lexicon::documentation;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::garden_lexicon::documentation;
 /// Documentation for a definition within a lexicon.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DefinitionDoc {
     ///Localized descriptions for this definition.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -51,10 +48,7 @@ pub struct DefinitionDoc {
 /// A string with an associated language code.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LocalizedString {
     ///ISO 639 language code (e.g., 'en', 'es', 'ja').
     pub lang: Language,
@@ -102,10 +96,7 @@ pub struct DocumentationGetRecordOutput {
 /// Documentation for a specific property within a definition.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PropertyDoc {
     ///Localized descriptions for this property.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -243,10 +234,10 @@ impl LexiconSchema for PropertyDoc {
 }
 
 fn lexicon_doc_garden_lexicon_documentation() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.documentation"),
@@ -314,22 +305,23 @@ fn lexicon_doc_garden_lexicon_documentation() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("localizedString"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A string with an associated language code.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("lang"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A string with an associated language code."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("lang"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("lang"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "ISO 639 language code (e.g., 'en', 'es', 'ja').",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "ISO 639 language code (e.g., 'en', 'es', 'ja').",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Language),
                                 ..Default::default()
                             }),
@@ -337,9 +329,9 @@ fn lexicon_doc_garden_lexicon_documentation() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("value"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The localized string value.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The localized string value."),
+                                ),
                                 max_length: Some(10000usize),
                                 ..Default::default()
                             }),
@@ -432,9 +424,11 @@ fn lexicon_doc_garden_lexicon_documentation() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("propertyDoc"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Documentation for a specific property within a definition.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Documentation for a specific property within a definition.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("name")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -442,9 +436,11 @@ fn lexicon_doc_garden_lexicon_documentation() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("description"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Localized descriptions for this property.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Localized descriptions for this property.",
+                                    ),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#localizedString"),
                                     ..Default::default()
@@ -455,9 +451,9 @@ fn lexicon_doc_garden_lexicon_documentation() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The property name being documented.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The property name being documented."),
+                                ),
                                 max_length: Some(256usize),
                                 ..Default::default()
                             }),
@@ -475,7 +471,7 @@ fn lexicon_doc_garden_lexicon_documentation() -> LexiconDoc<'static> {
 
 pub mod localized_string_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -518,7 +514,10 @@ pub mod localized_string_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct LocalizedStringBuilder {
+pub struct LocalizedStringBuilder<
+    St: localized_string_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -613,7 +612,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LocalizedString {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LocalizedString {
         LocalizedString {
             lang: self._fields.0.unwrap(),
             value: self._fields.1.unwrap(),
@@ -624,7 +626,7 @@ where
 
 pub mod documentation_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -807,7 +809,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Documentation {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Documentation {
         Documentation {
             created_at: self._fields.0.unwrap(),
             definitions: self._fields.1,
@@ -816,4 +821,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/example.rs b/crates/jacquard-api/src/garden_lexicon/example.rs
index 5d3fdcb46..7585cbe50 100644
--- a/crates/jacquard-api/src/garden_lexicon/example.rs
+++ b/crates/jacquard-api/src/garden_lexicon/example.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Nsid};
+use jacquard_common::types::string::{AtUri, Nsid, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An example value for a lexicon schema
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for Example {
 
 pub mod example_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,12 +170,7 @@ pub mod example_state {
 /// Builder for constructing an instance of this type.
 pub struct ExampleBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -315,10 +310,10 @@ where
 }
 
 fn lexicon_doc_garden_lexicon_example() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.example"),
@@ -327,23 +322,29 @@ fn lexicon_doc_garden_lexicon_example() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("An example value for a lexicon schema")),
+                    description: Some(
+                        CowStr::new_static("An example value for a lexicon schema"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("lexicon"),
-                            SmolStr::new_static("value"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("lexicon"),
+                                SmolStr::new_static("value"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The user-supplied date and time the example was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The user-supplied date and time the example was created.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -351,18 +352,18 @@ fn lexicon_doc_garden_lexicon_example() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A description of the example.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("A description of the example."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("lexicon"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The NSID that the example is of.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The NSID that the example is of."),
+                                    ),
                                     format: Some(LexStringFormat::Nsid),
                                     ..Default::default()
                                 }),
@@ -384,4 +385,4 @@ fn lexicon_doc_garden_lexicon_example() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/exultant_zebra.rs b/crates/jacquard-api/src/garden_lexicon/exultant_zebra.rs
index 44c826836..1b5fb8566 100644
--- a/crates/jacquard-api/src/garden_lexicon/exultant_zebra.rs
+++ b/crates/jacquard-api/src/garden_lexicon/exultant_zebra.rs
@@ -8,4 +8,4 @@ pub mod app;
 pub mod distribution;
 pub mod masl;
 pub mod tile;
-pub mod tile_embed;
+pub mod tile_embed;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/app.rs b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/app.rs
index f01c2061d..cba50940d 100644
--- a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/app.rs
+++ b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/app.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// An application record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -110,7 +110,7 @@ impl LexiconSchema for App {
 
 pub mod app_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -270,10 +270,10 @@ where
 }
 
 fn lexicon_doc_garden_lexicon_exultant_zebra_app() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.exultant-zebra.app"),
@@ -285,28 +285,34 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_app() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("An application record.")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("distributions"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("distributions")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "An optional description of the application.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "An optional description of the application.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("distributions"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "A list of strong references to distribution records.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "A list of strong references to distribution records.",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("com.atproto.repo.strongRef"),
                                         ..Default::default()
@@ -317,9 +323,9 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_app() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The name of the application.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The name of the application."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -334,4 +340,4 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_app() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/distribution.rs b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/distribution.rs
index edc6be8ac..7335ed1d0 100644
--- a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/distribution.rs
+++ b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/distribution.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::garden_lexicon::exultant_zebra::distribution;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::garden_lexicon::exultant_zebra::distribution;
 /// A downloadable artifact within a distribution.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Artifact {
     ///An optional description of this artifact.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -103,16 +100,19 @@ impl LexiconSchema for Artifact {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("download"),
@@ -170,7 +170,7 @@ impl LexiconSchema for Distribution {
 
 pub mod artifact_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -314,10 +314,10 @@ where
 }
 
 fn lexicon_doc_garden_lexicon_exultant_zebra_distribution() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.exultant-zebra.distribution"),
@@ -372,22 +372,28 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_distribution() -> LexiconDoc<'stati
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A distribution of an application.")),
+                    description: Some(
+                        CowStr::new_static("A distribution of an application."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("version"),
-                            SmolStr::new_static("artifacts"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("version"),
+                                SmolStr::new_static("artifacts")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("artifacts"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "The list of downloadable artifacts for this distribution.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The list of downloadable artifacts for this distribution.",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("#artifact"),
                                         ..Default::default()
@@ -398,18 +404,22 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_distribution() -> LexiconDoc<'stati
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "An optional description of this distribution.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "An optional description of this distribution.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("version"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The version of this distribution, e.g. '0.14.0'.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The version of this distribution, e.g. '0.14.0'.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -428,7 +438,7 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_distribution() -> LexiconDoc<'stati
 
 pub mod distribution_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -580,7 +590,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Distribution {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Distribution {
         Distribution {
             artifacts: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -588,4 +601,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/masl.rs b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/masl.rs
index 6d3f1309b..8de7332eb 100644
--- a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/masl.rs
+++ b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/masl.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::garden_lexicon::exultant_zebra::masl;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::garden_lexicon::exultant_zebra::masl;
 /// A bundle of resources.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Masl {
     ///Optional name for the bundle.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -45,10 +42,7 @@ pub struct Masl {
 /// A single resource identified by a CID.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Resource {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub content_type: Option,
@@ -93,7 +87,7 @@ impl LexiconSchema for Resource {
 
 pub mod masl_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -222,10 +216,10 @@ where
 }
 
 fn lexicon_doc_garden_lexicon_exultant_zebra_masl() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.exultant-zebra.masl"),
@@ -242,18 +236,18 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_masl() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional name for the bundle.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Optional name for the bundle."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("resources"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "The resources in this bundle.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The resources in this bundle."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static(
                                         "garden.lexicon.exultant-zebra.masl#resource",
@@ -271,31 +265,31 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_masl() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("resource"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A single resource identified by a CID.")),
+                    description: Some(
+                        CowStr::new_static("A single resource identified by a CID."),
+                    ),
                     required: Some(vec![SmolStr::new_static("src")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("contentType"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("path"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional path for this resource (e.g. '/index.html').",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional path for this resource (e.g. '/index.html').",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("src"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -310,7 +304,7 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_masl() -> LexiconDoc<'static> {
 
 pub mod resource_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -451,4 +445,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile.rs b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile.rs
index 75c94c00f..c7c192444 100644
--- a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile.rs
+++ b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Nsid};
+use jacquard_common::types::string::{AtUri, Nsid, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -25,20 +25,17 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::Facet;
 use crate::garden_lexicon::exultant_zebra::masl::Masl;
 use crate::garden_lexicon::exultant_zebra::masl::Resource;
 use crate::garden_lexicon::exultant_zebra::tile;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Declares the AT Protocol interactions a tile performs. Methods listed here gate which XRPC calls the tile is allowed to attempt (the user must still grant per-method consent). Collections and services are informational metadata for display and auditing.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Interactions {
     ///Repository collection NSIDs this tile reads from or writes to.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -183,6 +180,7 @@ where
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -207,10 +205,7 @@ pub struct TileGetRecordOutput {
 /// Declares an input parameter for a tile, similar to XRPC query parameters.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Param {
     ///Default value for this parameter, encoded as a string.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -397,20 +392,25 @@ impl LexiconSchema for Tile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("icon"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -432,20 +432,25 @@ impl LexiconSchema for Tile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("loading_image"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -492,10 +497,10 @@ impl LexiconSchema for Param {
 }
 
 fn lexicon_doc_garden_lexicon_exultant_zebra_tile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.exultant-zebra.tile"),
@@ -754,7 +759,7 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_tile() -> LexiconDoc<'static> {
 
 pub mod tile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -922,7 +927,10 @@ impl TileBuilder {
 
 impl TileBuilder {
     /// Set the `interactions` field (optional)
-    pub fn interactions(mut self, value: impl Into>>) -> Self {
+    pub fn interactions(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -952,7 +960,10 @@ where
     St::Name: tile_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> TileBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> TileBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         TileBuilder {
             _state: PhantomData,
@@ -1011,4 +1022,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile_embed.rs b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile_embed.rs
index 369617779..ba60f3c41 100644
--- a/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile_embed.rs
+++ b/crates/jacquard-api/src/garden_lexicon/exultant_zebra/tile_embed.rs
@@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A tile embed containing a strong reference to a tile record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TileEmbed {
     ///A strong reference to a garden.lexicon.exultant-zebra.tile record.
     pub tile: StrongRef,
@@ -55,7 +52,7 @@ impl LexiconSchema for TileEmbed {
 
 pub mod tile_embed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -160,7 +157,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TileEmbed {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TileEmbed {
         TileEmbed {
             tile: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -169,10 +169,10 @@ where
 }
 
 fn lexicon_doc_garden_lexicon_exultant_zebra_tileEmbed() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.exultant-zebra.tileEmbed"),
@@ -181,9 +181,11 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_tileEmbed() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A tile embed containing a strong reference to a tile record.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A tile embed containing a strong reference to a tile record.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("tile")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -204,4 +206,4 @@ fn lexicon_doc_garden_lexicon_exultant_zebra_tileEmbed() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/joyous_grackle.rs b/crates/jacquard-api/src/garden_lexicon/joyous_grackle.rs
index 38f325233..263fa9024 100644
--- a/crates/jacquard-api/src/garden_lexicon/joyous_grackle.rs
+++ b/crates/jacquard-api/src/garden_lexicon/joyous_grackle.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `garden.lexicon.joyous.grackle` Lexicon namespace/module.
-pub mod example;
+pub mod example;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/joyous_grackle/example.rs b/crates/jacquard-api/src/garden_lexicon/joyous_grackle/example.rs
index 2977c016c..a8c171786 100644
--- a/crates/jacquard-api/src/garden_lexicon/joyous_grackle/example.rs
+++ b/crates/jacquard-api/src/garden_lexicon/joyous_grackle/example.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// My lexicon description
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -101,10 +101,10 @@ impl LexiconSchema for Example {
 }
 
 fn lexicon_doc_garden_lexicon_joyous_grackle_example() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.joyous-grackle.example"),
@@ -131,4 +131,4 @@ fn lexicon_doc_garden_lexicon_joyous_grackle_example() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo.rs b/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo.rs
index ae85317b9..8dd202e63 100644
--- a/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo.rs
+++ b/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `garden.lexicon.lawyerlike.deangelo` Lexicon namespace/module.
-pub mod example;
+pub mod example;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo/example.rs b/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo/example.rs
index f35e363e8..336ca84c9 100644
--- a/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo/example.rs
+++ b/crates/jacquard-api/src/garden_lexicon/lawyerlike_deangelo/example.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// My lexicon description
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -101,10 +101,10 @@ impl LexiconSchema for Example {
 }
 
 fn lexicon_doc_garden_lexicon_lawyerlike_deangelo_example() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.lawyerlike-deangelo.example"),
@@ -131,4 +131,4 @@ fn lexicon_doc_garden_lexicon_lawyerlike_deangelo_example() -> LexiconDoc<'stati
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/ngerakines.rs b/crates/jacquard-api/src/garden_lexicon/ngerakines.rs
index 2b7bcac47..bb28faa19 100644
--- a/crates/jacquard-api/src/garden_lexicon/ngerakines.rs
+++ b/crates/jacquard-api/src/garden_lexicon/ngerakines.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `garden.lexicon.ngerakines` Lexicon namespace/module.
 pub mod helloworld;
-pub mod semeion;
+pub mod semeion;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld.rs b/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld.rs
index a6763d502..9f37390e4 100644
--- a/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld.rs
+++ b/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `garden.lexicon.ngerakines.helloworld` Lexicon namespace/module.
-pub mod hello;
+pub mod hello;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld/hello.rs b/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld/hello.rs
index 4f79c981d..e8e8c8846 100644
--- a/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld/hello.rs
+++ b/crates/jacquard-api/src/garden_lexicon/ngerakines/helloworld/hello.rs
@@ -10,28 +10,23 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Hello {
     /// (max length: 55)
     #[serde(skip_serializing_if = "Option::is_none")]
     pub subject: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HelloOutput {
     pub message: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for HelloRequest {
 
 pub mod hello_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -147,8 +142,6 @@ where
 {
     /// Build the final struct.
     pub fn build(self) -> Hello {
-        Hello {
-            subject: self._fields.0,
-        }
+        Hello { subject: self._fields.0 }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion.rs b/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion.rs
index 93b563bf8..ae5051592 100644
--- a/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion.rs
+++ b/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `garden.lexicon.ngerakines.semeion` Lexicon namespace/module.
-pub mod sign;
+pub mod sign;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion/sign.rs b/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion/sign.rs
index 4bb164c47..a248c2e77 100644
--- a/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion/sign.rs
+++ b/crates/jacquard-api/src/garden_lexicon/ngerakines/semeion/sign.rs
@@ -10,12 +10,12 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -23,6 +23,7 @@ pub struct Sign {
     pub body: Bytes,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct SignOutput {
@@ -61,16 +62,22 @@ impl jacquard_common::xrpc::XrpcResp for SignResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Sign {
     const NSID: &'static str = "garden.lexicon.ngerakines.semeion.Sign";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("*/*");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "*/*",
+    );
     type Response = SignResponse;
-    fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError>
+    fn encode_body(
+        &self,
+        buffer: &mut Vec,
+    ) -> Result<(), jacquard_common::xrpc::EncodeError>
     where
         Self: Serialize,
     {
         Ok(buffer.copy_from_slice(self.body.as_ref()))
     }
-    fn decode_body<'de>(body: &'de [u8]) -> Result
+    fn decode_body<'de>(
+        body: &'de [u8],
+    ) -> Result
     where
         Self: Deserialize<'de>,
     {
@@ -86,8 +93,9 @@ Path: `/xrpc/garden.lexicon.ngerakines.semeion.Sign`. The request payload type i
 pub struct SignRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for SignRequest {
     const PATH: &'static str = "/xrpc/garden.lexicon.ngerakines.semeion.Sign";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("*/*");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "*/*",
+    );
     type Request = Sign;
     type Response = SignResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/service.rs b/crates/jacquard-api/src/garden_lexicon/service.rs
index 0bdbbfd56..3946a2632 100644
--- a/crates/jacquard-api/src/garden_lexicon/service.rs
+++ b/crates/jacquard-api/src/garden_lexicon/service.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Nsid};
+use jacquard_common::types::string::{AtUri, Nsid, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::garden_lexicon::service;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::garden_lexicon::service;
 /// Declares XRPC methods available on a DID document service. The rkey is the service fragment ID without the # prefix (e.g., 'atproto_pds' for '#atproto_pds').
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -64,11 +64,9 @@ pub struct ServiceGetRecordOutput {
     pub value: Service,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Method {
     ///Authentication methods supported by this method.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -82,11 +80,9 @@ pub struct Method {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UrlTemplate {
     ///NSIDs of collections this URL template applies to.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -222,7 +218,7 @@ impl LexiconSchema for UrlTemplate {
 
 pub mod service_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -347,12 +343,18 @@ where
 
 impl ServiceBuilder {
     /// Set the `urlTemplates` field (optional)
-    pub fn url_templates(mut self, value: impl Into>>>) -> Self {
+    pub fn url_templates(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `urlTemplates` field to an Option value (optional)
-    pub fn maybe_url_templates(mut self, value: Option>>) -> Self {
+    pub fn maybe_url_templates(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -386,10 +388,10 @@ where
 }
 
 fn lexicon_doc_garden_lexicon_service() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.service"),
@@ -476,9 +478,11 @@ fn lexicon_doc_garden_lexicon_service() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("authMethods"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Authentication methods supported by this method.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Authentication methods supported by this method.",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     max_length: Some(50usize),
                                     ..Default::default()
@@ -495,9 +499,11 @@ fn lexicon_doc_garden_lexicon_service() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("lexicon"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT-URI pointing to a lexicon schema that defines this method.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "AT-URI pointing to a lexicon schema that defines this method.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -517,9 +523,11 @@ fn lexicon_doc_garden_lexicon_service() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("collections"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "NSIDs of collections this URL template applies to.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "NSIDs of collections this URL template applies to.",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     format: Some(LexStringFormat::Nsid),
                                     ..Default::default()
@@ -530,9 +538,11 @@ fn lexicon_doc_garden_lexicon_service() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("description"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Description of what this URL template is for.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Description of what this URL template is for.",
+                                    ),
+                                ),
                                 max_length: Some(1000usize),
                                 ..Default::default()
                             }),
@@ -540,9 +550,11 @@ fn lexicon_doc_garden_lexicon_service() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI template with placeholders for record data",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "URI template with placeholders for record data",
+                                    ),
+                                ),
                                 max_length: Some(2000usize),
                                 ..Default::default()
                             }),
@@ -560,7 +572,7 @@ fn lexicon_doc_garden_lexicon_service() -> LexiconDoc<'static> {
 
 pub mod method_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -701,4 +713,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter.rs b/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter.rs
index 369af6a01..737f46e79 100644
--- a/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter.rs
+++ b/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `garden.lexicon.stunning.leafcutter` Lexicon namespace/module.
-pub mod example;
+pub mod example;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter/example.rs b/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter/example.rs
index 68e8818e7..562d32dc8 100644
--- a/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter/example.rs
+++ b/crates/jacquard-api/src/garden_lexicon/stunning_leafcutter/example.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// My lexicon description
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -101,10 +101,10 @@ impl LexiconSchema for Example {
 }
 
 fn lexicon_doc_garden_lexicon_stunning_leafcutter_example() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.stunning-leafcutter.example"),
@@ -131,4 +131,4 @@ fn lexicon_doc_garden_lexicon_stunning_leafcutter_example() -> LexiconDoc<'stati
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/unconquered_modesto.rs b/crates/jacquard-api/src/garden_lexicon/unconquered_modesto.rs
index 5d5180bc2..99c961e24 100644
--- a/crates/jacquard-api/src/garden_lexicon/unconquered_modesto.rs
+++ b/crates/jacquard-api/src/garden_lexicon/unconquered_modesto.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `garden.lexicon.unconquered.modesto` Lexicon namespace/module.
-pub mod example;
+pub mod example;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/garden_lexicon/unconquered_modesto/example.rs b/crates/jacquard-api/src/garden_lexicon/unconquered_modesto/example.rs
index 784d001a3..d236ab181 100644
--- a/crates/jacquard-api/src/garden_lexicon/unconquered_modesto/example.rs
+++ b/crates/jacquard-api/src/garden_lexicon/unconquered_modesto/example.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// My lexicon description
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -103,7 +103,7 @@ impl LexiconSchema for Example {
 
 pub mod example_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,10 +217,10 @@ where
 }
 
 fn lexicon_doc_garden_lexicon_unconquered_modesto_example() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("garden.lexicon.unconquered-modesto.example"),
@@ -253,4 +253,4 @@ fn lexicon_doc_garden_lexicon_unconquered_modesto_example() -> LexiconDoc<'stati
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/haus_opn.rs b/crates/jacquard-api/src/haus_opn.rs
index 2054ae031..ce6f804eb 100644
--- a/crates/jacquard-api/src/haus_opn.rs
+++ b/crates/jacquard-api/src/haus_opn.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `haus.opn` Lexicon namespace/module.
-pub mod mic;
+pub mod mic;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/haus_opn/mic.rs b/crates/jacquard-api/src/haus_opn/mic.rs
index bf5288413..cfce202fe 100644
--- a/crates/jacquard-api/src/haus_opn/mic.rs
+++ b/crates/jacquard-api/src/haus_opn/mic.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `haus.opn.mic` Lexicon namespace/module.
 pub mod artist;
-pub mod show;
+pub mod show;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/haus_opn/mic/artist.rs b/crates/jacquard-api/src/haus_opn/mic/artist.rs
index 0ec414177..603835f47 100644
--- a/crates/jacquard-api/src/haus_opn/mic/artist.rs
+++ b/crates/jacquard-api/src/haus_opn/mic/artist.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Metadata for an open mic artist.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -123,16 +123,19 @@ impl LexiconSchema for Artist {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("artist_pic"),
@@ -169,7 +172,7 @@ impl LexiconSchema for Artist {
 
 pub mod artist_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -338,7 +341,10 @@ where
     St::Name: artist_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ArtistBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ArtistBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         ArtistBuilder {
             _state: PhantomData,
@@ -381,10 +387,10 @@ where
 }
 
 fn lexicon_doc_haus_opn_mic_artist() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("haus.opn.mic.artist"),
@@ -393,21 +399,23 @@ fn lexicon_doc_haus_opn_mic_artist() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Metadata for an open mic artist.")),
+                    description: Some(
+                        CowStr::new_static("Metadata for an open mic artist."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("artistPic"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("bio"),
@@ -460,4 +468,4 @@ fn lexicon_doc_haus_opn_mic_artist() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/haus_opn/mic/show.rs b/crates/jacquard-api/src/haus_opn/mic/show.rs
index b7f2ba264..eea160c41 100644
--- a/crates/jacquard-api/src/haus_opn/mic/show.rs
+++ b/crates/jacquard-api/src/haus_opn/mic/show.rs
@@ -9,12 +9,13 @@
 pub mod episode;
 pub mod favorite;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -31,7 +32,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A recurring open mic show series.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -55,6 +56,7 @@ pub struct Show {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ShowSchedule {
     Daily,
@@ -215,16 +217,19 @@ impl LexiconSchema for Show {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("cover_art"),
@@ -261,7 +266,7 @@ impl LexiconSchema for Show {
 
 pub mod show_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -472,7 +477,10 @@ where
     St::Title: show_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> ShowBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> ShowBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         ShowBuilder {
             _state: PhantomData,
@@ -517,10 +525,10 @@ where
 }
 
 fn lexicon_doc_haus_opn_mic_show() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("haus.opn.mic.show"),
@@ -529,33 +537,36 @@ fn lexicon_doc_haus_opn_mic_show() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A recurring open mic show series.")),
+                    description: Some(
+                        CowStr::new_static("A recurring open mic show series."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("artist"),
-                            SmolStr::new_static("schedule"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"), SmolStr::new_static("artist"),
+                                SmolStr::new_static("schedule"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("artist"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The AT-URI of the haus.opn.mic.artist record.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The AT-URI of the haus.opn.mic.artist record.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("coverArt"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -595,4 +606,4 @@ fn lexicon_doc_haus_opn_mic_show() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/haus_opn/mic/show/episode.rs b/crates/jacquard-api/src/haus_opn/mic/show/episode.rs
index c64a78c3b..c9cf54356 100644
--- a/crates/jacquard-api/src/haus_opn/mic/show/episode.rs
+++ b/crates/jacquard-api/src/haus_opn/mic/show/episode.rs
@@ -8,12 +8,13 @@
 //! Generated bindings for the `haus.opn.mic.show.episode` Lexicon namespace/module.
 pub mod favorite;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -30,7 +31,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A specific episode or VOD of a show.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -215,16 +216,19 @@ impl LexiconSchema for Episode {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("cover_art"),
@@ -261,7 +265,7 @@ impl LexiconSchema for Episode {
 
 pub mod episode_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -465,7 +469,10 @@ where
     St::Title: episode_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> EpisodeBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> EpisodeBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         EpisodeBuilder {
             _state: PhantomData,
@@ -526,10 +533,10 @@ where
 }
 
 fn lexicon_doc_haus_opn_mic_show_episode() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("haus.opn.mic.show.episode"),
@@ -538,32 +545,36 @@ fn lexicon_doc_haus_opn_mic_show_episode() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A specific episode or VOD of a show.")),
+                    description: Some(
+                        CowStr::new_static("A specific episode or VOD of a show."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("showUri"),
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("showUri"),
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("airingDate"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Scheduled or actual date/time when this episode airs.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Scheduled or actual date/time when this episode airs.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("coverArt"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -582,9 +593,11 @@ fn lexicon_doc_haus_opn_mic_show_episode() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("showUri"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Reference to the haus.opn.mic.show record.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Reference to the haus.opn.mic.show record.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -592,9 +605,9 @@ fn lexicon_doc_haus_opn_mic_show_episode() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("status"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Current episode lifecycle status.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Current episode lifecycle status."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -623,4 +636,4 @@ fn lexicon_doc_haus_opn_mic_show_episode() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/haus_opn/mic/show/episode/favorite.rs b/crates/jacquard-api/src/haus_opn/mic/show/episode/favorite.rs
index c49bf8b9e..3cbec9df1 100644
--- a/crates/jacquard-api/src/haus_opn/mic/show/episode/favorite.rs
+++ b/crates/jacquard-api/src/haus_opn/mic/show/episode/favorite.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An entry marking an episode as a favorite.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Favorite {
 
 pub mod favorite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -253,10 +253,10 @@ where
 }
 
 fn lexicon_doc_haus_opn_mic_show_episode_favorite() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("haus.opn.mic.show.episode.favorite"),
@@ -265,15 +265,17 @@ fn lexicon_doc_haus_opn_mic_show_episode_favorite() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An entry marking an episode as a favorite.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("An entry marking an episode as a favorite."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -287,9 +289,11 @@ fn lexicon_doc_haus_opn_mic_show_episode_favorite() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The AT-URI of the haus.opn.mic.show.episode record.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The AT-URI of the haus.opn.mic.show.episode record.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -305,4 +309,4 @@ fn lexicon_doc_haus_opn_mic_show_episode_favorite() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/haus_opn/mic/show/favorite.rs b/crates/jacquard-api/src/haus_opn/mic/show/favorite.rs
index d368162c5..721513b18 100644
--- a/crates/jacquard-api/src/haus_opn/mic/show/favorite.rs
+++ b/crates/jacquard-api/src/haus_opn/mic/show/favorite.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An entry marking a show as a favorite.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Favorite {
 
 pub mod favorite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -253,10 +253,10 @@ where
 }
 
 fn lexicon_doc_haus_opn_mic_show_favorite() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("haus.opn.mic.show.favorite"),
@@ -265,13 +265,17 @@ fn lexicon_doc_haus_opn_mic_show_favorite() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("An entry marking a show as a favorite.")),
+                    description: Some(
+                        CowStr::new_static("An entry marking a show as a favorite."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -285,9 +289,11 @@ fn lexicon_doc_haus_opn_mic_show_favorite() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The AT-URI of the haus.opn.mic.show record.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The AT-URI of the haus.opn.mic.show record.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -303,4 +309,4 @@ fn lexicon_doc_haus_opn_mic_show_favorite() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ing_dasl.rs b/crates/jacquard-api/src/ing_dasl.rs
index 61a81b6a6..d29707b67 100644
--- a/crates/jacquard-api/src/ing_dasl.rs
+++ b/crates/jacquard-api/src/ing_dasl.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `ing.dasl` Lexicon namespace/module.
-pub mod pfp_ref;
+pub mod pfp_ref;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ing_dasl/pfp_ref.rs b/crates/jacquard-api/src/ing_dasl/pfp_ref.rs
index 5e217f1cb..71f6a80e6 100644
--- a/crates/jacquard-api/src/ing_dasl/pfp_ref.rs
+++ b/crates/jacquard-api/src/ing_dasl/pfp_ref.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Reference to a perceptual fingerprint (PFP).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PfpRef {
     ///Perceptual fingerprint per DASL spec. Format: p.
     pub pfp: S,
@@ -50,10 +47,10 @@ impl LexiconSchema for PfpRef {
 }
 
 fn lexicon_doc_ing_dasl_pfpRef() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ing.dasl.pfpRef"),
@@ -91,4 +88,4 @@ fn lexicon_doc_ing_dasl_pfpRef() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr.rs b/crates/jacquard-api/src/io_atcr.rs
index 68bc94131..d71cb70ee 100644
--- a/crates/jacquard-api/src/io_atcr.rs
+++ b/crates/jacquard-api/src/io_atcr.rs
@@ -8,4 +8,4 @@ pub mod hold;
 pub mod manifest;
 pub mod repo;
 pub mod sailor;
-pub mod tag;
+pub mod tag;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold.rs b/crates/jacquard-api/src/io_atcr/hold.rs
index 46ccdd621..b0caa2d0b 100644
--- a/crates/jacquard-api/src/io_atcr/hold.rs
+++ b/crates/jacquard-api/src/io_atcr/hold.rs
@@ -20,7 +20,8 @@ pub mod scan;
 pub mod set_stats;
 pub mod stats;
 
+
 #[cfg(feature = "streaming")]
 pub mod subscribe_scan_jobs;
 pub mod update_crew_tier;
-pub mod upload_part;
+pub mod upload_part;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/abort_upload.rs b/crates/jacquard-api/src/io_atcr/hold/abort_upload.rs
index ad3f6a3d2..3825987d3 100644
--- a/crates/jacquard-api/src/io_atcr/hold/abort_upload.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/abort_upload.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AbortUpload {
     ///Upload session ID from initiateUpload
     pub upload_id: S,
@@ -28,11 +25,9 @@ pub struct AbortUpload {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AbortUploadOutput {
     ///Always 'aborted' on success
     pub status: S,
@@ -40,9 +35,18 @@ pub struct AbortUploadOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum AbortUploadError {
     #[serde(rename = "InvalidUploadId")]
@@ -51,10 +55,7 @@ pub enum AbortUploadError {
     AbortFailed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for AbortUploadError {
@@ -98,8 +99,9 @@ impl jacquard_common::xrpc::XrpcResp for AbortUploadResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for AbortUpload {
     const NSID: &'static str = "io.atcr.hold.abortUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = AbortUploadResponse;
 }
 
@@ -109,8 +111,9 @@ Path: `/xrpc/io.atcr.hold.abortUpload`. The request payload type is `AbortUpload
 pub struct AbortUploadRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for AbortUploadRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.abortUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = AbortUpload;
     type Response = AbortUploadResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/captain.rs b/crates/jacquard-api/src/io_atcr/hold/captain.rs
index 6f4af66e0..5ab0ee792 100644
--- a/crates/jacquard-api/src/io_atcr/hold/captain.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/captain.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Represents the hold's ownership and metadata. Stored as a singleton record at rkey 'self' in the hold's embedded PDS.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -128,7 +128,7 @@ impl LexiconSchema for Captain {
 
 pub mod captain_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -428,10 +428,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_hold_captain() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.captain"),
@@ -531,4 +531,4 @@ fn lexicon_doc_io_atcr_hold_captain() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/complete_upload.rs b/crates/jacquard-api/src/io_atcr/hold/complete_upload.rs
index c92a1ac74..d825922ee 100644
--- a/crates/jacquard-api/src/io_atcr/hold/complete_upload.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/complete_upload.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::io_atcr::hold::complete_upload;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::io_atcr::hold::complete_upload;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CompleteUpload {
     ///Final blob digest (e.g., sha256:abc123...)
     pub digest: S,
@@ -41,11 +38,9 @@ pub struct CompleteUpload {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CompleteUploadOutput {
     ///The digest of the completed blob
     pub digest: S,
@@ -55,9 +50,18 @@ pub struct CompleteUploadOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CompleteUploadError {
     #[serde(rename = "InvalidUploadId")]
@@ -70,10 +74,7 @@ pub enum CompleteUploadError {
     CompletionFailed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CompleteUploadError {
@@ -121,10 +122,7 @@ impl core::fmt::Display for CompleteUploadError {
 /// Information about a completed upload part
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PartInfo {
     ///ETag returned when the part was uploaded
     pub etag: S,
@@ -147,8 +145,9 @@ impl jacquard_common::xrpc::XrpcResp for CompleteUploadResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CompleteUpload {
     const NSID: &'static str = "io.atcr.hold.completeUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CompleteUploadResponse;
 }
 
@@ -158,8 +157,9 @@ Path: `/xrpc/io.atcr.hold.completeUpload`. The request payload type is `Complete
 pub struct CompleteUploadRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CompleteUploadRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.completeUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CompleteUpload;
     type Response = CompleteUploadResponse;
 }
@@ -202,7 +202,7 @@ impl LexiconSchema for PartInfo {
 
 pub mod complete_upload_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -259,13 +259,12 @@ pub mod complete_upload_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CompleteUploadBuilder {
+pub struct CompleteUploadBuilder<
+    St: complete_upload_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>>,
-        Option,
-    ),
+    _fields: (Option, Option>>, Option),
     _type: PhantomData S>,
 }
 
@@ -379,7 +378,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CompleteUpload {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CompleteUpload {
         CompleteUpload {
             digest: self._fields.0.unwrap(),
             parts: self._fields.1.unwrap(),
@@ -391,7 +393,7 @@ where
 
 pub mod part_info_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -482,7 +484,10 @@ where
     St::Etag: part_info_state::IsUnset,
 {
     /// Set the `etag` field (required)
-    pub fn etag(mut self, value: impl Into) -> PartInfoBuilder, S> {
+    pub fn etag(
+        mut self,
+        value: impl Into,
+    ) -> PartInfoBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         PartInfoBuilder {
             _state: PhantomData,
@@ -536,10 +541,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_hold_completeUpload() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.completeUpload"),
@@ -550,52 +555,59 @@ fn lexicon_doc_io_atcr_hold_completeUpload() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![
-                                SmolStr::new_static("uploadId"),
-                                SmolStr::new_static("digest"),
-                                SmolStr::new_static("parts"),
-                            ]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("digest"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Final blob digest (e.g., sha256:abc123...)",
-                                        )),
-                                        max_length: Some(128usize),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("parts"),
-                                    LexObjectProperty::Array(LexArray {
-                                        description: Some(CowStr::new_static(
-                                            "List of uploaded parts with their ETags",
-                                        )),
-                                        items: LexArrayItem::Ref(LexRef {
-                                            r#ref: CowStr::new_static("#partInfo"),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(
+                                    vec![
+                                        SmolStr::new_static("uploadId"),
+                                        SmolStr::new_static("digest"), SmolStr::new_static("parts")
+                                    ],
+                                ),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("digest"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "Final blob digest (e.g., sha256:abc123...)",
+                                                ),
+                                            ),
+                                            max_length: Some(128usize),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("parts"),
+                                        LexObjectProperty::Array(LexArray {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "List of uploaded parts with their ETags",
+                                                ),
+                                            ),
+                                            items: LexArrayItem::Ref(LexRef {
+                                                r#ref: CowStr::new_static("#partInfo"),
+                                                ..Default::default()
+                                            }),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("uploadId"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("Upload session ID from initiateUpload"),
+                                            ),
+                                            max_length: Some(256usize),
                                             ..Default::default()
                                         }),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("uploadId"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Upload session ID from initiateUpload",
-                                        )),
-                                        max_length: Some(256usize),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -604,22 +616,26 @@ fn lexicon_doc_io_atcr_hold_completeUpload() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("partInfo"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Information about a completed upload part",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("partNumber"),
-                        SmolStr::new_static("etag"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Information about a completed upload part"),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("partNumber"),
+                            SmolStr::new_static("etag")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("etag"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "ETag returned when the part was uploaded",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "ETag returned when the part was uploaded",
+                                    ),
+                                ),
                                 max_length: Some(256usize),
                                 ..Default::default()
                             }),
@@ -640,4 +656,4 @@ fn lexicon_doc_io_atcr_hold_completeUpload() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/crew.rs b/crates/jacquard-api/src/io_atcr/hold/crew.rs
index 6440f605e..20c388ef9 100644
--- a/crates/jacquard-api/src/io_atcr/hold/crew.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/crew.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Crew member in a hold's embedded PDS. Grants access permissions to push blobs to the hold. Stored in the hold's embedded PDS (one record per member).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -221,7 +221,7 @@ impl LexiconSchema for Crew {
 
 pub mod crew_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -367,7 +367,10 @@ where
     St::Member: crew_state::IsUnset,
 {
     /// Set the `member` field (required)
-    pub fn member(mut self, value: impl Into>) -> CrewBuilder, S> {
+    pub fn member(
+        mut self,
+        value: impl Into>,
+    ) -> CrewBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         CrewBuilder {
             _state: PhantomData,
@@ -461,10 +464,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_hold_crew() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.crew"),
@@ -560,4 +563,4 @@ fn lexicon_doc_io_atcr_hold_crew() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/delete_user_data.rs b/crates/jacquard-api/src/io_atcr/hold/delete_user_data.rs
index 820ee0193..6d4dfbccd 100644
--- a/crates/jacquard-api/src/io_atcr/hold/delete_user_data.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/delete_user_data.rs
@@ -10,27 +10,22 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteUserData {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteUserDataOutput {
     ///Whether the user's crew record was deleted (false if user is captain)
     pub crew_deleted: bool,
@@ -44,9 +39,18 @@ pub struct DeleteUserDataOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteUserDataError {
     #[serde(rename = "AuthRequired")]
@@ -55,10 +59,7 @@ pub enum DeleteUserDataError {
     DeletionFailed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteUserDataError {
@@ -102,8 +103,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteUserDataResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteUserData {
     const NSID: &'static str = "io.atcr.hold.deleteUserData";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteUserDataResponse;
 }
 
@@ -113,8 +115,9 @@ Path: `/xrpc/io.atcr.hold.deleteUserData`. The request payload type is `DeleteUs
 pub struct DeleteUserDataRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteUserDataRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.deleteUserData";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteUserData;
     type Response = DeleteUserDataResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/export_user_data.rs b/crates/jacquard-api/src/io_atcr/hold/export_user_data.rs
index b27aa11f8..13363e57d 100644
--- a/crates/jacquard-api/src/io_atcr/hold/export_user_data.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/export_user_data.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::io_atcr::hold::export_user_data;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::io_atcr::hold::export_user_data;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CrewExport {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub added_at: Option,
@@ -44,11 +41,9 @@ pub struct CrewExport {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LayerExport {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub created_at: Option,
@@ -64,15 +59,13 @@ pub struct LayerExport {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct ExportUserData;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ExportUserDataOutput {
     ///Bluesky posts that mention the user
     pub bluesky_posts: Vec>,
@@ -95,19 +88,25 @@ pub struct ExportUserDataOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ExportUserDataError {
     #[serde(rename = "AuthRequired")]
     AuthRequired(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ExportUserDataError {
@@ -131,11 +130,9 @@ impl core::fmt::Display for ExportUserDataError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PostExport {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub created_at: Option,
@@ -147,11 +144,9 @@ pub struct PostExport {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StatsExport {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub last_pull: Option,
@@ -330,10 +325,10 @@ impl LexiconSchema for StatsExport {
 }
 
 fn lexicon_doc_io_atcr_hold_exportUserData() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.exportUserData"),
@@ -429,14 +424,16 @@ fn lexicon_doc_io_atcr_hold_exportUserData() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -528,4 +525,4 @@ fn lexicon_doc_io_atcr_hold_exportUserData() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/get_part_upload_url.rs b/crates/jacquard-api/src/io_atcr/hold/get_part_upload_url.rs
index 2f3522157..88ce0c2ed 100644
--- a/crates/jacquard-api/src/io_atcr/hold/get_part_upload_url.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/get_part_upload_url.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::UriValue;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPartUploadUrl {
     ///Part sequence number (1-indexed)
     pub part_number: i64,
@@ -31,11 +28,9 @@ pub struct GetPartUploadUrl {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPartUploadUrlOutput {
     ///Additional headers required for the request (e.g., content-type)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -50,9 +45,18 @@ pub struct GetPartUploadUrlOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetPartUploadUrlError {
     #[serde(rename = "InvalidUploadId")]
@@ -61,10 +65,7 @@ pub enum GetPartUploadUrlError {
     InvalidPartNumber(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetPartUploadUrlError {
@@ -108,8 +109,9 @@ impl jacquard_common::xrpc::XrpcResp for GetPartUploadUrlResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for GetPartUploadUrl {
     const NSID: &'static str = "io.atcr.hold.getPartUploadUrl";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = GetPartUploadUrlResponse;
 }
 
@@ -119,15 +121,16 @@ Path: `/xrpc/io.atcr.hold.getPartUploadUrl`. The request payload type is `GetPar
 pub struct GetPartUploadUrlRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for GetPartUploadUrlRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.getPartUploadUrl";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = GetPartUploadUrl;
     type Response = GetPartUploadUrlResponse;
 }
 
 pub mod get_part_upload_url_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,7 +173,10 @@ pub mod get_part_upload_url_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetPartUploadUrlBuilder {
+pub struct GetPartUploadUrlBuilder<
+    St: get_part_upload_url_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -178,7 +184,10 @@ pub struct GetPartUploadUrlBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetPartUploadUrlBuilder {
+    pub fn new() -> GetPartUploadUrlBuilder<
+        get_part_upload_url_state::Empty,
+        DefaultStr,
+    > {
         GetPartUploadUrlBuilder::new()
     }
 }
@@ -265,7 +274,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> GetPartUploadUrl {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> GetPartUploadUrl {
         GetPartUploadUrl {
             part_number: self._fields.0.unwrap(),
             upload_id: self._fields.1.unwrap(),
@@ -274,6 +286,8 @@ where
     }
 }
 
-fn _default_get_part_upload_url_output_method() -> ::core::option::Option {
+fn _default_get_part_upload_url_output_method() -> ::core::option::Option<
+    S,
+> {
     Some(S::from_static("PUT"))
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/get_quota.rs b/crates/jacquard-api/src/io_atcr/hold/get_quota.rs
index a3cc1dc6d..b4b1729c5 100644
--- a/crates/jacquard-api/src/io_atcr/hold/get_quota.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/get_quota.rs
@@ -10,27 +10,22 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetQuota {
     pub user_did: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetQuotaOutput {
     ///Storage limit in bytes (absent if unlimited)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -48,19 +43,25 @@ pub struct GetQuotaOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetQuotaError {
     #[serde(rename = "InvalidUserDid")]
     InvalidUserDid(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetQuotaError {
@@ -114,7 +115,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetQuotaRequest {
 
 pub mod get_quota_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,4 +218,4 @@ where
             user_did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/initiate_upload.rs b/crates/jacquard-api/src/io_atcr/hold/initiate_upload.rs
index bad36b465..ed76f46e3 100644
--- a/crates/jacquard-api/src/io_atcr/hold/initiate_upload.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/initiate_upload.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct InitiateUpload {
     ///The blob digest (e.g., sha256:abc123...)
     pub digest: S,
@@ -28,11 +25,9 @@ pub struct InitiateUpload {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct InitiateUploadOutput {
     ///Unique identifier for this upload session
     pub upload_id: S,
@@ -40,19 +35,25 @@ pub struct InitiateUploadOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum InitiateUploadError {
     #[serde(rename = "InvalidDigest")]
     InvalidDigest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for InitiateUploadError {
@@ -89,8 +90,9 @@ impl jacquard_common::xrpc::XrpcResp for InitiateUploadResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for InitiateUpload {
     const NSID: &'static str = "io.atcr.hold.initiateUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = InitiateUploadResponse;
 }
 
@@ -100,8 +102,9 @@ Path: `/xrpc/io.atcr.hold.initiateUpload`. The request payload type is `Initiate
 pub struct InitiateUploadRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for InitiateUploadRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.initiateUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = InitiateUpload;
     type Response = InitiateUploadResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/layer.rs b/crates/jacquard-api/src/io_atcr/hold/layer.rs
index e997154f4..0a270c956 100644
--- a/crates/jacquard-api/src/io_atcr/hold/layer.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/layer.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Represents metadata about a container layer stored in the hold. Stored in the hold's embedded PDS for tracking and analytics.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -136,7 +136,7 @@ impl LexiconSchema for Layer {
 
 pub mod layer_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -321,7 +321,10 @@ where
     St::Digest: layer_state::IsUnset,
 {
     /// Set the `digest` field (required)
-    pub fn digest(mut self, value: impl Into) -> LayerBuilder, S> {
+    pub fn digest(
+        mut self,
+        value: impl Into,
+    ) -> LayerBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         LayerBuilder {
             _state: PhantomData,
@@ -375,7 +378,10 @@ where
     St::Size: layer_state::IsUnset,
 {
     /// Set the `size` field (required)
-    pub fn size(mut self, value: impl Into) -> LayerBuilder, S> {
+    pub fn size(
+        mut self,
+        value: impl Into,
+    ) -> LayerBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         LayerBuilder {
             _state: PhantomData,
@@ -441,10 +447,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_hold_layer() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.layer"),
@@ -545,4 +551,4 @@ fn lexicon_doc_io_atcr_hold_layer() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/notify_manifest.rs b/crates/jacquard-api/src/io_atcr/hold/notify_manifest.rs
index 3dc45880c..241ce9560 100644
--- a/crates/jacquard-api/src/io_atcr/hold/notify_manifest.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/notify_manifest.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::io_atcr::hold::notify_manifest;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::io_atcr::hold::notify_manifest;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlobInfo {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub digest: Option,
@@ -40,11 +37,9 @@ pub struct BlobInfo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ChildManifestInfo {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub digest: Option,
@@ -58,11 +53,9 @@ pub struct ChildManifestInfo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LayerInfo {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub digest: Option,
@@ -74,11 +67,9 @@ pub struct LayerInfo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotifyManifest {
     pub manifest: notify_manifest::ManifestInfo,
     ///Manifest digest for building layer record AT-URIs
@@ -171,16 +162,16 @@ where
         match self {
             NotifyManifestOperation::Push => NotifyManifestOperation::Push,
             NotifyManifestOperation::Pull => NotifyManifestOperation::Pull,
-            NotifyManifestOperation::Other(v) => NotifyManifestOperation::Other(v.into_static()),
+            NotifyManifestOperation::Other(v) => {
+                NotifyManifestOperation::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotifyManifestOutput {
     ///Number of layer records created (push only)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -201,9 +192,18 @@ pub struct NotifyManifestOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum NotifyManifestError {
     #[serde(rename = "InvalidOperation")]
@@ -214,10 +214,7 @@ pub enum NotifyManifestError {
     QuotaExceeded(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for NotifyManifestError {
@@ -258,10 +255,7 @@ impl core::fmt::Display for NotifyManifestError {
 /// OCI manifest information
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ManifestInfo {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub config: Option>,
@@ -277,11 +271,9 @@ pub struct ManifestInfo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PlatformInfo {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub architecture: Option,
@@ -399,8 +391,9 @@ impl jacquard_common::xrpc::XrpcResp for NotifyManifestResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for NotifyManifest {
     const NSID: &'static str = "io.atcr.hold.notifyManifest";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = NotifyManifestResponse;
 }
 
@@ -410,8 +403,9 @@ Path: `/xrpc/io.atcr.hold.notifyManifest`. The request payload type is `NotifyMa
 pub struct NotifyManifestRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for NotifyManifestRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.notifyManifest";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = NotifyManifest;
     type Response = NotifyManifestResponse;
 }
@@ -477,10 +471,10 @@ impl LexiconSchema for PlatformInfo {
 }
 
 fn lexicon_doc_io_atcr_hold_notifyManifest() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.notifyManifest"),
@@ -697,9 +691,9 @@ fn lexicon_doc_io_atcr_hold_notifyManifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("manifests"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Child manifests for multi-arch images",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Child manifests for multi-arch images"),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#childManifestInfo"),
                                     ..Default::default()
@@ -753,7 +747,7 @@ fn lexicon_doc_io_atcr_hold_notifyManifest() -> LexiconDoc<'static> {
 
 pub mod notify_manifest_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -826,7 +820,10 @@ pub mod notify_manifest_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct NotifyManifestBuilder {
+pub struct NotifyManifestBuilder<
+    St: notify_manifest_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -915,7 +912,10 @@ where
 
 impl NotifyManifestBuilder {
     /// Set the `operation` field (optional)
-    pub fn operation(mut self, value: impl Into>>) -> Self {
+    pub fn operation(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -998,7 +998,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> NotifyManifest {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> NotifyManifest {
         NotifyManifest {
             manifest: self._fields.0.unwrap(),
             manifest_digest: self._fields.1.unwrap(),
@@ -1009,4 +1012,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/request_crew.rs b/crates/jacquard-api/src/io_atcr/hold/request_crew.rs
index e817b2802..72326c303 100644
--- a/crates/jacquard-api/src/io_atcr/hold/request_crew.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/request_crew.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RequestCrew {
     ///Requested permissions (default: ['blob:read', 'blob:write'])
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -34,11 +31,9 @@ pub struct RequestCrew {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RequestCrewOutput {
     ///CID of the crew record
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -128,15 +123,28 @@ where
     fn into_static(self) -> Self::Output {
         match self {
             RequestCrewOutputStatus::Created => RequestCrewOutputStatus::Created,
-            RequestCrewOutputStatus::AlreadyMember => RequestCrewOutputStatus::AlreadyMember,
-            RequestCrewOutputStatus::Other(v) => RequestCrewOutputStatus::Other(v.into_static()),
+            RequestCrewOutputStatus::AlreadyMember => {
+                RequestCrewOutputStatus::AlreadyMember
+            }
+            RequestCrewOutputStatus::Other(v) => {
+                RequestCrewOutputStatus::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum RequestCrewError {
     #[serde(rename = "AuthRequired")]
@@ -145,10 +153,7 @@ pub enum RequestCrewError {
     RegistrationDisabled(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for RequestCrewError {
@@ -192,8 +197,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestCrewResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for RequestCrew {
     const NSID: &'static str = "io.atcr.hold.requestCrew";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RequestCrewResponse;
 }
 
@@ -203,12 +209,13 @@ Path: `/xrpc/io.atcr.hold.requestCrew`. The request payload type is `RequestCrew
 pub struct RequestCrewRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RequestCrewRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.requestCrew";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = RequestCrew;
     type Response = RequestCrewResponse;
 }
 
 fn _default_request_crew_role() -> ::core::option::Option {
     Some(S::from_static("member"))
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/scan.rs b/crates/jacquard-api/src/io_atcr/hold/scan.rs
index afbd843a6..00f5a68e3 100644
--- a/crates/jacquard-api/src/io_atcr/hold/scan.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/scan.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Vulnerability scan results for a container manifest. Stored in the hold's embedded PDS. Record key is deterministic: the manifest digest hex without the 'sha256:' prefix, so re-scans upsert the existing record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -178,16 +178,19 @@ impl LexiconSchema for Scan {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["application/spdx+json"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("sbom_blob"),
@@ -222,20 +225,25 @@ impl LexiconSchema for Scan {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["application/vnd.atcr.vulnerabilities+json"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("vuln_report_blob"),
-                        accepted: vec!["application/vnd.atcr.vulnerabilities+json".to_string()],
+                        accepted: vec![
+                            "application/vnd.atcr.vulnerabilities+json".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -247,7 +255,7 @@ impl LexiconSchema for Scan {
 
 pub mod scan_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -497,7 +505,18 @@ impl ScanBuilder {
         ScanBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -510,7 +529,18 @@ impl ScanBuilder {
         ScanBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -542,7 +572,10 @@ where
     St::High: scan_state::IsUnset,
 {
     /// Set the `high` field (required)
-    pub fn high(mut self, value: impl Into) -> ScanBuilder, S> {
+    pub fn high(
+        mut self,
+        value: impl Into,
+    ) -> ScanBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         ScanBuilder {
             _state: PhantomData,
@@ -558,7 +591,10 @@ where
     St::Low: scan_state::IsUnset,
 {
     /// Set the `low` field (required)
-    pub fn low(mut self, value: impl Into) -> ScanBuilder, S> {
+    pub fn low(
+        mut self,
+        value: impl Into,
+    ) -> ScanBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ScanBuilder {
             _state: PhantomData,
@@ -593,7 +629,10 @@ where
     St::Medium: scan_state::IsUnset,
 {
     /// Set the `medium` field (required)
-    pub fn medium(mut self, value: impl Into) -> ScanBuilder, S> {
+    pub fn medium(
+        mut self,
+        value: impl Into,
+    ) -> ScanBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         ScanBuilder {
             _state: PhantomData,
@@ -679,7 +718,10 @@ where
     St::Total: scan_state::IsUnset,
 {
     /// Set the `total` field (required)
-    pub fn total(mut self, value: impl Into) -> ScanBuilder, S> {
+    pub fn total(
+        mut self,
+        value: impl Into,
+    ) -> ScanBuilder, S> {
         self._fields.9 = Option::Some(value.into());
         ScanBuilder {
             _state: PhantomData,
@@ -774,10 +816,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_hold_scan() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.scan"),
@@ -918,4 +960,4 @@ fn lexicon_doc_io_atcr_hold_scan() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/set_stats.rs b/crates/jacquard-api/src/io_atcr/hold/set_stats.rs
index 0d5772428..261cdf686 100644
--- a/crates/jacquard-api/src/io_atcr/hold/set_stats.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/set_stats.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did};
+use jacquard_common::types::string::{Did, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SetStats {
     ///RFC3339 timestamp of last pull
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -43,11 +40,9 @@ pub struct SetStats {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SetStatsOutput {
     ///Whether the stats were successfully updated
     pub success: bool,
@@ -55,9 +50,18 @@ pub struct SetStatsOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum SetStatsError {
     #[serde(rename = "InvalidOwner")]
@@ -66,10 +70,7 @@ pub enum SetStatsError {
     InvalidRepository(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for SetStatsError {
@@ -113,8 +114,9 @@ impl jacquard_common::xrpc::XrpcResp for SetStatsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for SetStats {
     const NSID: &'static str = "io.atcr.hold.setStats";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = SetStatsResponse;
 }
 
@@ -124,15 +126,16 @@ Path: `/xrpc/io.atcr.hold.setStats`. The request payload type is `SetStats`;
 pub struct SetStatsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for SetStatsRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.setStats";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = SetStats;
     type Response = SetStatsResponse;
 }
 
 pub mod set_stats_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -344,4 +347,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/stats.rs b/crates/jacquard-api/src/io_atcr/hold/stats.rs
index 1a6a24ec7..2ea775334 100644
--- a/crates/jacquard-api/src/io_atcr/hold/stats.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/stats.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Repository statistics stored in the hold's embedded PDS. Tracks pull/push counts per owner+repository combination. Record key is deterministic: base32(sha256(ownerDID + "/" + repository)[:16]).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -149,7 +149,7 @@ impl LexiconSchema for Stats {
 
 pub mod stats_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -449,10 +449,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_hold_stats() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.stats"),
@@ -559,4 +559,4 @@ fn lexicon_doc_io_atcr_hold_stats() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/subscribe_scan_jobs.rs b/crates/jacquard-api/src/io_atcr/hold/subscribe_scan_jobs.rs
index f083c1d0e..ae7e20d59 100644
--- a/crates/jacquard-api/src/io_atcr/hold/subscribe_scan_jobs.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/subscribe_scan_jobs.rs
@@ -10,8 +10,8 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -22,10 +22,10 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::io_atcr::hold::subscribe_scan_jobs;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::io_atcr::hold::subscribe_scan_jobs;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -34,6 +34,7 @@ pub struct SubscribeScanJobs {
     pub cursor: Option,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -52,26 +53,43 @@ impl SubscribeScanJobsMessage {
     where
         S: serde::Deserialize<'de>,
     {
-        let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?;
+        let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(
+            bytes,
+        )?;
         match header.t.as_str() {
             "#scanJob" => {
-                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
+                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(
+                    body,
+                )?;
                 Ok(Self::ScanJob(Box::new(variant)))
             }
             "#scanResult" => {
-                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
+                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(
+                    body,
+                )?;
                 Ok(Self::ScanResult(Box::new(variant)))
             }
-            unknown => Err(jacquard_common::error::DecodeError::UnknownEventType(
-                unknown.into(),
-            )),
+            unknown => {
+                Err(
+                    jacquard_common::error::DecodeError::UnknownEventType(unknown.into()),
+                )
+            }
         }
     }
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum SubscribeScanJobsError {
     /// Scanner shared secret is invalid
@@ -79,10 +97,7 @@ pub enum SubscribeScanJobsError {
     InvalidSecret(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for SubscribeScanJobsError {
@@ -109,10 +124,7 @@ impl core::fmt::Display for SubscribeScanJobsError {
 /// A scan job dispatched from hold to scanner. Sent as a JSON WebSocket message.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ScanJob {
     ///Manifest digest (e.g., sha256:abc123...)
     pub digest: S,
@@ -141,10 +153,7 @@ pub struct ScanJob {
 /// A scan result sent from scanner back to hold. Sent as a JSON WebSocket message.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ScanResult {
     ///Manifest digest that was scanned
     pub digest: S,
@@ -170,11 +179,9 @@ pub struct ScanResult {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct VulnSummary {
     ///Count of critical severity vulnerabilities
     pub critical: i64,
@@ -195,24 +202,21 @@ pub struct VulnSummary {
 pub struct SubscribeScanJobsStream;
 impl jacquard_common::xrpc::SubscriptionResp for SubscribeScanJobsStream {
     const NSID: &'static str = "io.atcr.hold.subscribeScanJobs";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Message = SubscribeScanJobsMessage;
     type Error = SubscribeScanJobsError;
 }
 
 impl jacquard_common::xrpc::XrpcSubscription for SubscribeScanJobs {
     const NSID: &'static str = "io.atcr.hold.subscribeScanJobs";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Stream = SubscribeScanJobsStream;
 }
 
 pub struct SubscribeScanJobsEndpoint;
 impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeScanJobsEndpoint {
     const PATH: &'static str = "/xrpc/io.atcr.hold.subscribeScanJobs";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Params = SubscribeScanJobs;
     type Stream = SubscribeScanJobsStream;
 }
@@ -399,7 +403,7 @@ impl LexiconSchema for VulnSummary {
 
 pub mod subscribe_scan_jobs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -476,7 +480,7 @@ where
 
 pub mod scan_job_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -756,7 +760,10 @@ where
     St::Seq: scan_job_state::IsUnset,
 {
     /// Set the `seq` field (required)
-    pub fn seq(mut self, value: impl Into) -> ScanJobBuilder, S> {
+    pub fn seq(
+        mut self,
+        value: impl Into,
+    ) -> ScanJobBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         ScanJobBuilder {
             _state: PhantomData,
@@ -785,7 +792,10 @@ where
     St::Type: scan_job_state::IsUnset,
 {
     /// Set the `type` field (required)
-    pub fn r#type(mut self, value: impl Into) -> ScanJobBuilder, S> {
+    pub fn r#type(
+        mut self,
+        value: impl Into,
+    ) -> ScanJobBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         ScanJobBuilder {
             _state: PhantomData,
@@ -858,10 +868,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_hold_subscribeScanJobs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.hold.subscribeScanJobs"),
@@ -870,20 +880,22 @@ fn lexicon_doc_io_atcr_hold_subscribeScanJobs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcSubscription(LexXrpcSubscription {
-                    parameters: Some(LexXrpcSubscriptionParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcSubscriptionParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -1087,13 +1099,13 @@ fn lexicon_doc_io_atcr_hold_subscribeScanJobs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("vulnSummary"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("critical"),
-                        SmolStr::new_static("high"),
-                        SmolStr::new_static("medium"),
-                        SmolStr::new_static("low"),
-                        SmolStr::new_static("total"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("critical"), SmolStr::new_static("high"),
+                            SmolStr::new_static("medium"), SmolStr::new_static("low"),
+                            SmolStr::new_static("total")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1145,7 +1157,7 @@ fn lexicon_doc_io_atcr_hold_subscribeScanJobs() -> LexiconDoc<'static> {
 
 pub mod scan_result_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1382,7 +1394,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ScanResult {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ScanResult {
         ScanResult {
             digest: self._fields.0.unwrap(),
             error: self._fields.1,
@@ -1398,7 +1413,7 @@ where
 
 pub mod vuln_summary_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1491,13 +1506,7 @@ pub mod vuln_summary_state {
 /// Builder for constructing an instance of this type.
 pub struct VulnSummaryBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option, Option, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -1653,7 +1662,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> VulnSummary {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> VulnSummary {
         VulnSummary {
             critical: self._fields.0.unwrap(),
             high: self._fields.1.unwrap(),
@@ -1663,4 +1675,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/update_crew_tier.rs b/crates/jacquard-api/src/io_atcr/hold/update_crew_tier.rs
index a5430f1fa..1ebfba074 100644
--- a/crates/jacquard-api/src/io_atcr/hold/update_crew_tier.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/update_crew_tier.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateCrewTier {
     ///Tier rank index (0-based, maps to hold tier list by position).
     pub tier_rank: i64,
@@ -31,11 +28,9 @@ pub struct UpdateCrewTier {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateCrewTierOutput {
     ///Resolved tier name on this hold.
     pub tier_name: S,
@@ -43,9 +38,18 @@ pub struct UpdateCrewTierOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum UpdateCrewTierError {
     /// Valid appview token required.
@@ -56,10 +60,7 @@ pub enum UpdateCrewTierError {
     UserNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for UpdateCrewTierError {
@@ -103,8 +104,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateCrewTierResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpdateCrewTier {
     const NSID: &'static str = "io.atcr.hold.updateCrewTier";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpdateCrewTierResponse;
 }
 
@@ -114,15 +116,16 @@ Path: `/xrpc/io.atcr.hold.updateCrewTier`. The request payload type is `UpdateCr
 pub struct UpdateCrewTierRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpdateCrewTierRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.updateCrewTier";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpdateCrewTier;
     type Response = UpdateCrewTierResponse;
 }
 
 pub mod update_crew_tier_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -165,7 +168,10 @@ pub mod update_crew_tier_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct UpdateCrewTierBuilder {
+pub struct UpdateCrewTierBuilder<
+    St: update_crew_tier_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -260,11 +266,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateCrewTier {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UpdateCrewTier {
         UpdateCrewTier {
             tier_rank: self._fields.0.unwrap(),
             user_did: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/hold/upload_part.rs b/crates/jacquard-api/src/io_atcr/hold/upload_part.rs
index 9db9d7103..fc1ae3776 100644
--- a/crates/jacquard-api/src/io_atcr/hold/upload_part.rs
+++ b/crates/jacquard-api/src/io_atcr/hold/upload_part.rs
@@ -10,12 +10,12 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Raw binary part data
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -24,11 +24,9 @@ pub struct UploadPart {
     pub body: Bytes,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UploadPartOutput {
     ///ETag of the uploaded part, required for completeUpload
     pub etag: S,
@@ -36,9 +34,18 @@ pub struct UploadPartOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum UploadPartError {
     #[serde(rename = "InvalidUploadId")]
@@ -49,10 +56,7 @@ pub enum UploadPartError {
     UploadFailed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for UploadPartError {
@@ -103,16 +107,22 @@ impl jacquard_common::xrpc::XrpcResp for UploadPartResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UploadPart {
     const NSID: &'static str = "io.atcr.hold.uploadPart";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("*/*");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "*/*",
+    );
     type Response = UploadPartResponse;
-    fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError>
+    fn encode_body(
+        &self,
+        buffer: &mut Vec,
+    ) -> Result<(), jacquard_common::xrpc::EncodeError>
     where
         Self: Serialize,
     {
         Ok(buffer.copy_from_slice(self.body.as_ref()))
     }
-    fn decode_body<'de>(body: &'de [u8]) -> Result
+    fn decode_body<'de>(
+        body: &'de [u8],
+    ) -> Result
     where
         Self: Deserialize<'de>,
     {
@@ -128,8 +138,9 @@ Path: `/xrpc/io.atcr.hold.uploadPart`. The request payload type is `UploadPart`;
 pub struct UploadPartRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UploadPartRequest {
     const PATH: &'static str = "/xrpc/io.atcr.hold.uploadPart";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("*/*");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "*/*",
+    );
     type Request = UploadPart;
     type Response = UploadPartResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/manifest.rs b/crates/jacquard-api/src/io_atcr/manifest.rs
index fb0bb4b7f..c3ed9efc5 100644
--- a/crates/jacquard-api/src/io_atcr/manifest.rs
+++ b/crates/jacquard-api/src/io_atcr/manifest.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::io_atcr::manifest;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::io_atcr::manifest;
 /// Reference to a blob stored in S3 or external storage
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlobReference {
     ///Optional OCI annotation metadata. Map of string keys to string values.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -121,7 +118,9 @@ impl ManifestMediaType {
             Self::ApplicationVndDockerDistributionManifestV2Json => {
                 "application/vnd.docker.distribution.manifest.v2+json"
             }
-            Self::ApplicationVndOciImageIndexV1Json => "application/vnd.oci.image.index.v1+json",
+            Self::ApplicationVndOciImageIndexV1Json => {
+                "application/vnd.oci.image.index.v1+json"
+            }
             Self::ApplicationVndDockerDistributionManifestListV2Json => {
                 "application/vnd.docker.distribution.manifest.list.v2+json"
             }
@@ -137,7 +136,9 @@ impl ManifestMediaType {
             "application/vnd.docker.distribution.manifest.v2+json" => {
                 Self::ApplicationVndDockerDistributionManifestV2Json
             }
-            "application/vnd.oci.image.index.v1+json" => Self::ApplicationVndOciImageIndexV1Json,
+            "application/vnd.oci.image.index.v1+json" => {
+                Self::ApplicationVndOciImageIndexV1Json
+            }
             "application/vnd.docker.distribution.manifest.list.v2+json" => {
                 Self::ApplicationVndDockerDistributionManifestListV2Json
             }
@@ -222,10 +223,7 @@ pub struct ManifestGetRecordOutput {
 /// Reference to a manifest in a manifest list/index
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ManifestReference {
     ///Optional OCI annotation metadata. Map of string keys to string values.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -246,10 +244,7 @@ pub struct ManifestReference {
 /// Platform information describing OS and architecture
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Platform {
     ///CPU architecture (e.g., 'amd64', 'arm64', 'arm')
     pub architecture: S,
@@ -482,7 +477,7 @@ impl LexiconSchema for Platform {
 
 pub mod blob_reference_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -539,7 +534,10 @@ pub mod blob_reference_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct BlobReferenceBuilder {
+pub struct BlobReferenceBuilder<
+    St: blob_reference_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -689,7 +687,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BlobReference {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BlobReference {
         BlobReference {
             annotations: self._fields.0,
             digest: self._fields.1.unwrap(),
@@ -702,10 +703,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.manifest"),
@@ -714,14 +715,17 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("blobReference"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Reference to a blob stored in S3 or external storage",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("mediaType"),
-                        SmolStr::new_static("size"),
-                        SmolStr::new_static("digest"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Reference to a blob stored in S3 or external storage",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("mediaType"),
+                            SmolStr::new_static("size"), SmolStr::new_static("digest")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -734,9 +738,9 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("digest"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content digest (e.g., 'sha256:...')",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Content digest (e.g., 'sha256:...')"),
+                                ),
                                 max_length: Some(128usize),
                                 ..Default::default()
                             }),
@@ -744,7 +748,9 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("mediaType"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("MIME type of the blob")),
+                                description: Some(
+                                    CowStr::new_static("MIME type of the blob"),
+                                ),
                                 max_length: Some(128usize),
                                 ..Default::default()
                             }),
@@ -758,9 +764,11 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("urls"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Optional direct URLs to blob (for BYOS)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional direct URLs to blob (for BYOS)",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
@@ -931,14 +939,17 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("manifestReference"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Reference to a manifest in a manifest list/index",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("mediaType"),
-                        SmolStr::new_static("size"),
-                        SmolStr::new_static("digest"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Reference to a manifest in a manifest list/index",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("mediaType"),
+                            SmolStr::new_static("size"), SmolStr::new_static("digest")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -951,9 +962,9 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("digest"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content digest (e.g., 'sha256:...')",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Content digest (e.g., 'sha256:...')"),
+                                ),
                                 max_length: Some(128usize),
                                 ..Default::default()
                             }),
@@ -961,9 +972,9 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("mediaType"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Media type of the referenced manifest",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Media type of the referenced manifest"),
+                                ),
                                 max_length: Some(128usize),
                                 ..Default::default()
                             }),
@@ -989,22 +1000,28 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("platform"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Platform information describing OS and architecture",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("architecture"),
-                        SmolStr::new_static("os"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Platform information describing OS and architecture",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("architecture"),
+                            SmolStr::new_static("os")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("architecture"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "CPU architecture (e.g., 'amd64', 'arm64', 'arm')",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "CPU architecture (e.g., 'amd64', 'arm64', 'arm')",
+                                    ),
+                                ),
                                 max_length: Some(32usize),
                                 ..Default::default()
                             }),
@@ -1012,9 +1029,11 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("os"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Operating system (e.g., 'linux', 'windows', 'darwin')",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Operating system (e.g., 'linux', 'windows', 'darwin')",
+                                    ),
+                                ),
                                 max_length: Some(32usize),
                                 ..Default::default()
                             }),
@@ -1022,7 +1041,9 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("osFeatures"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static("Optional OS features")),
+                                description: Some(
+                                    CowStr::new_static("Optional OS features"),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     max_length: Some(64usize),
                                     ..Default::default()
@@ -1033,7 +1054,9 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("osVersion"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Optional OS version")),
+                                description: Some(
+                                    CowStr::new_static("Optional OS version"),
+                                ),
                                 max_length: Some(64usize),
                                 ..Default::default()
                             }),
@@ -1041,9 +1064,11 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("variant"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional CPU variant (e.g., 'v7' for ARM)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional CPU variant (e.g., 'v7' for ARM)",
+                                    ),
+                                ),
                                 max_length: Some(32usize),
                                 ..Default::default()
                             }),
@@ -1061,7 +1086,7 @@ fn lexicon_doc_io_atcr_manifest() -> LexiconDoc<'static> {
 
 pub mod manifest_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1192,7 +1217,19 @@ impl ManifestBuilder {
         ManifestBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1205,7 +1242,19 @@ impl ManifestBuilder {
         ManifestBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1227,7 +1276,10 @@ impl ManifestBuilder {
 
 impl ManifestBuilder {
     /// Set the `config` field (optional)
-    pub fn config(mut self, value: impl Into>>) -> Self {
+    pub fn config(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -1304,12 +1356,18 @@ impl ManifestBuilder {
 
 impl ManifestBuilder {
     /// Set the `layers` field (optional)
-    pub fn layers(mut self, value: impl Into>>>) -> Self {
+    pub fn layers(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
     /// Set the `layers` field to an Option value (optional)
-    pub fn maybe_layers(mut self, value: Option>>) -> Self {
+    pub fn maybe_layers(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.6 = value;
         self
     }
@@ -1338,7 +1396,10 @@ impl ManifestBuilder {
         self
     }
     /// Set the `manifests` field to an Option value (optional)
-    pub fn maybe_manifests(mut self, value: Option>>) -> Self {
+    pub fn maybe_manifests(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -1403,7 +1464,10 @@ where
 
 impl ManifestBuilder {
     /// Set the `subject` field (optional)
-    pub fn subject(mut self, value: impl Into>>) -> Self {
+    pub fn subject(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.12 = value.into();
         self
     }
@@ -1465,7 +1529,7 @@ where
 
 pub mod manifest_reference_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1522,7 +1586,10 @@ pub mod manifest_reference_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ManifestReferenceBuilder {
+pub struct ManifestReferenceBuilder<
+    St: manifest_reference_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1536,7 +1603,10 @@ pub struct ManifestReferenceBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ManifestReferenceBuilder {
+    pub fn new() -> ManifestReferenceBuilder<
+        manifest_reference_state::Empty,
+        DefaultStr,
+    > {
         ManifestReferenceBuilder::new()
     }
 }
@@ -1672,7 +1742,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ManifestReference {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ManifestReference {
         ManifestReference {
             annotations: self._fields.0,
             digest: self._fields.1.unwrap(),
@@ -1682,4 +1755,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/repo.rs b/crates/jacquard-api/src/io_atcr/repo.rs
index c0486a890..e62afdb08 100644
--- a/crates/jacquard-api/src/io_atcr/repo.rs
+++ b/crates/jacquard-api/src/io_atcr/repo.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `io.atcr.repo` Lexicon namespace/module.
-pub mod page;
+pub mod page;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/repo/page.rs b/crates/jacquard-api/src/io_atcr/repo/page.rs
index 8806ea9c4..69c07bfa5 100644
--- a/crates/jacquard-api/src/io_atcr/repo/page.rs
+++ b/crates/jacquard-api/src/io_atcr/repo/page.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Repository page metadata including description and avatar. Users can edit this directly in their PDS to customize their repository page.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -125,23 +125,25 @@ impl LexiconSchema for Page {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -175,7 +177,7 @@ impl LexiconSchema for Page {
 
 pub mod page_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -395,10 +397,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_repo_page() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.repo.page"),
@@ -483,4 +485,4 @@ fn lexicon_doc_io_atcr_repo_page() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/sailor.rs b/crates/jacquard-api/src/io_atcr/sailor.rs
index fbd7489bc..08cdebd62 100644
--- a/crates/jacquard-api/src/io_atcr/sailor.rs
+++ b/crates/jacquard-api/src/io_atcr/sailor.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `io.atcr.sailor` Lexicon namespace/module.
 pub mod profile;
 pub mod star;
-pub mod webhook;
+pub mod webhook;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/sailor/profile.rs b/crates/jacquard-api/src/io_atcr/sailor/profile.rs
index 8c8f3d960..a46234600 100644
--- a/crates/jacquard-api/src/io_atcr/sailor/profile.rs
+++ b/crates/jacquard-api/src/io_atcr/sailor/profile.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// User profile for ATCR registry. Stores preferences like default hold for blob storage.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -113,7 +113,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -146,12 +146,7 @@ pub mod profile_state {
 /// Builder for constructing an instance of this type.
 pub struct ProfileBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -277,10 +272,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_sailor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.sailor.profile"),
@@ -349,4 +344,4 @@ fn lexicon_doc_io_atcr_sailor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/sailor/star.rs b/crates/jacquard-api/src/io_atcr/sailor/star.rs
index 91edb1a5e..acf764d4a 100644
--- a/crates/jacquard-api/src/io_atcr/sailor/star.rs
+++ b/crates/jacquard-api/src/io_atcr/sailor/star.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A star (like) on a container image repository. Stored in the starrer's PDS, similar to Bluesky likes. Subject is an AT URI pointing to the repo page record being starred.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Star {
 
 pub mod star_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_sailor_star() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.sailor.star"),
@@ -315,4 +315,4 @@ fn lexicon_doc_io_atcr_sailor_star() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/sailor/webhook.rs b/crates/jacquard-api/src/io_atcr/sailor/webhook.rs
index 0fc715073..d8dc2193f 100644
--- a/crates/jacquard-api/src/io_atcr/sailor/webhook.rs
+++ b/crates/jacquard-api/src/io_atcr/sailor/webhook.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Public webhook metadata stored in the user's PDS. Links to a private io.atcr.hold.webhook record on the hold where URL and secret are stored. Part of a two-record split: this record is visible via ATProto (Jetstream), the hold record is not.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -134,7 +134,7 @@ impl LexiconSchema for Webhook {
 
 pub mod webhook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -377,10 +377,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_sailor_webhook() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.sailor.webhook"),
@@ -473,4 +473,4 @@ fn lexicon_doc_io_atcr_sailor_webhook() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_atcr/tag.rs b/crates/jacquard-api/src/io_atcr/tag.rs
index c1bb07609..27fe4810f 100644
--- a/crates/jacquard-api/src/io_atcr/tag.rs
+++ b/crates/jacquard-api/src/io_atcr/tag.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A named tag pointing to a specific manifest digest
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -147,7 +147,7 @@ impl LexiconSchema for Tag {
 
 pub mod tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -192,13 +192,7 @@ pub mod tag_state {
 /// Builder for constructing an instance of this type.
 pub struct TagBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -343,10 +337,10 @@ where
 }
 
 fn lexicon_doc_io_atcr_tag() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.atcr.tag"),
@@ -440,4 +434,4 @@ fn lexicon_doc_io_atcr_tag() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich.rs b/crates/jacquard-api/src/io_kich.rs
index bee727656..96b023ede 100644
--- a/crates/jacquard-api/src/io_kich.rs
+++ b/crates/jacquard-api/src/io_kich.rs
@@ -8,4 +8,4 @@ pub mod accomplishment;
 pub mod cookinglog;
 pub mod graph;
 pub mod profile;
-pub mod recipe;
+pub mod recipe;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/accomplishment.rs b/crates/jacquard-api/src/io_kich/accomplishment.rs
index e582122b0..a5415047e 100644
--- a/crates/jacquard-api/src/io_kich/accomplishment.rs
+++ b/crates/jacquard-api/src/io_kich/accomplishment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -107,7 +107,7 @@ impl LexiconSchema for Accomplishment {
 
 pub mod accomplishment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -150,7 +150,10 @@ pub mod accomplishment_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct AccomplishmentBuilder {
+pub struct AccomplishmentBuilder<
+    St: accomplishment_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option),
     _type: PhantomData S>,
@@ -259,7 +262,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Accomplishment {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Accomplishment {
         Accomplishment {
             created_at: self._fields.0.unwrap(),
             metadata: self._fields.1,
@@ -270,10 +276,10 @@ where
 }
 
 fn lexicon_doc_io_kich_accomplishment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.accomplishment"),
@@ -284,10 +290,12 @@ fn lexicon_doc_io_kich_accomplishment() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("type"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("type"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -307,9 +315,11 @@ fn lexicon_doc_io_kich_accomplishment() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("type"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Accomplishment type key (e.g. first_made, first_recipe)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Accomplishment type key (e.g. first_made, first_recipe)",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -324,4 +334,4 @@ fn lexicon_doc_io_kich_accomplishment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/cookinglog.rs b/crates/jacquard-api/src/io_kich/cookinglog.rs
index 7f1440c28..353ca69b1 100644
--- a/crates/jacquard-api/src/io_kich/cookinglog.rs
+++ b/crates/jacquard-api/src/io_kich/cookinglog.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -122,7 +122,7 @@ impl LexiconSchema for Cookinglog {
 
 pub mod cookinglog_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -167,12 +167,7 @@ pub mod cookinglog_state {
 /// Builder for constructing an instance of this type.
 pub struct CookinglogBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -293,7 +288,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Cookinglog {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Cookinglog {
         Cookinglog {
             created_at: self._fields.0.unwrap(),
             notes: self._fields.1,
@@ -305,10 +303,10 @@ where
 }
 
 fn lexicon_doc_io_kich_cookinglog() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.cookinglog"),
@@ -319,19 +317,21 @@ fn lexicon_doc_io_kich_cookinglog() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this cooking log was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this cooking log was created."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -339,9 +339,11 @@ fn lexicon_doc_io_kich_cookinglog() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("notes"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional user notes captured at completion.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Optional user notes captured at completion.",
+                                        ),
+                                    ),
                                     max_length: Some(500usize),
                                     ..Default::default()
                                 }),
@@ -370,4 +372,4 @@ fn lexicon_doc_io_kich_cookinglog() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/graph.rs b/crates/jacquard-api/src/io_kich/graph.rs
index e0a021c12..0531469c3 100644
--- a/crates/jacquard-api/src/io_kich/graph.rs
+++ b/crates/jacquard-api/src/io_kich/graph.rs
@@ -8,6 +8,7 @@
 //! Generated bindings for the `io.kich.graph` Lexicon namespace/module.
 pub mod follow;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
@@ -22,14 +23,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Shared definitions for graph-related lexicons
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Defs {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -51,10 +49,10 @@ impl LexiconSchema for Defs {
 }
 
 fn lexicon_doc_io_kich_graph_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.graph.defs"),
@@ -63,9 +61,11 @@ fn lexicon_doc_io_kich_graph_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Shared definitions for graph-related lexicons",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Shared definitions for graph-related lexicons",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -78,4 +78,4 @@ fn lexicon_doc_io_kich_graph_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/graph/follow.rs b/crates/jacquard-api/src/io_kich/graph/follow.rs
index 423b08e8c..bb3306805 100644
--- a/crates/jacquard-api/src/io_kich/graph/follow.rs
+++ b/crates/jacquard-api/src/io_kich/graph/follow.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -105,7 +105,7 @@ impl LexiconSchema for Follow {
 
 pub mod follow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -253,10 +253,10 @@ where
 }
 
 fn lexicon_doc_io_kich_graph_follow() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.graph.follow"),
@@ -267,19 +267,21 @@ fn lexicon_doc_io_kich_graph_follow() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this follow was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this follow was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -287,9 +289,9 @@ fn lexicon_doc_io_kich_graph_follow() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The DID of the user being followed",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The DID of the user being followed"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -305,4 +307,4 @@ fn lexicon_doc_io_kich_graph_follow() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/profile.rs b/crates/jacquard-api/src/io_kich/profile.rs
index 7df5984e3..67f109057 100644
--- a/crates/jacquard-api/src/io_kich/profile.rs
+++ b/crates/jacquard-api/src/io_kich/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -116,7 +116,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -245,10 +245,10 @@ where
 }
 
 fn lexicon_doc_io_kich_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.profile"),
@@ -266,9 +266,9 @@ fn lexicon_doc_io_kich_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this profile was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this profile was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -276,9 +276,11 @@ fn lexicon_doc_io_kich_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional description or bio for this Kitchen profile",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Optional description or bio for this Kitchen profile",
+                                        ),
+                                    ),
                                     max_length: Some(500usize),
                                     ..Default::default()
                                 }),
@@ -294,4 +296,4 @@ fn lexicon_doc_io_kich_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe.rs b/crates/jacquard-api/src/io_kich/recipe.rs
index e2cd135a7..9a28a0964 100644
--- a/crates/jacquard-api/src/io_kich/recipe.rs
+++ b/crates/jacquard-api/src/io_kich/recipe.rs
@@ -14,6 +14,7 @@ pub mod recipe;
 pub mod review;
 pub mod save;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
@@ -28,14 +29,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Shared definitions for recipe-related lexicons
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Defs {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -57,10 +55,10 @@ impl LexiconSchema for Defs {
 }
 
 fn lexicon_doc_io_kich_recipe_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.defs"),
@@ -69,9 +67,11 @@ fn lexicon_doc_io_kich_recipe_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Shared definitions for recipe-related lexicons",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Shared definitions for recipe-related lexicons",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -84,4 +84,4 @@ fn lexicon_doc_io_kich_recipe_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe/collection.rs b/crates/jacquard-api/src/io_kich/recipe/collection.rs
index 524489ffc..3884d491e 100644
--- a/crates/jacquard-api/src/io_kich/recipe/collection.rs
+++ b/crates/jacquard-api/src/io_kich/recipe/collection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -123,16 +123,19 @@ impl LexiconSchema for Collection {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -170,7 +173,7 @@ impl LexiconSchema for Collection {
 
 pub mod collection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -356,7 +359,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collection {
         Collection {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -369,10 +375,10 @@ where
 }
 
 fn lexicon_doc_io_kich_recipe_collection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.collection"),
@@ -383,19 +389,21 @@ fn lexicon_doc_io_kich_recipe_collection() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this collection was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this collection was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -403,25 +411,23 @@ fn lexicon_doc_io_kich_recipe_collection() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional description of the collection",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional description of the collection"),
+                                    ),
                                     max_length: Some(3000usize),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("image"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Display name for the collection",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Display name for the collection"),
+                                    ),
                                     min_length: Some(1usize),
                                     max_length: Some(64usize),
                                     ..Default::default()
@@ -430,9 +436,9 @@ fn lexicon_doc_io_kich_recipe_collection() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this collection was last updated",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this collection was last updated"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -448,4 +454,4 @@ fn lexicon_doc_io_kich_recipe_collection() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe/collectionfollow.rs b/crates/jacquard-api/src/io_kich/recipe/collectionfollow.rs
index 6d9a1c284..484a77b71 100644
--- a/crates/jacquard-api/src/io_kich/recipe/collectionfollow.rs
+++ b/crates/jacquard-api/src/io_kich/recipe/collectionfollow.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -106,7 +106,7 @@ impl LexiconSchema for Collectionfollow {
 
 pub mod collectionfollow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -149,7 +149,10 @@ pub mod collectionfollow_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CollectionfollowBuilder {
+pub struct CollectionfollowBuilder<
+    St: collectionfollow_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -244,7 +247,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collectionfollow {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collectionfollow {
         Collectionfollow {
             created_at: self._fields.0.unwrap(),
             subject: self._fields.1.unwrap(),
@@ -254,10 +260,10 @@ where
 }
 
 fn lexicon_doc_io_kich_recipe_collectionfollow() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.collectionfollow"),
@@ -268,19 +274,21 @@ fn lexicon_doc_io_kich_recipe_collectionfollow() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this follow was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this follow was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -303,4 +311,4 @@ fn lexicon_doc_io_kich_recipe_collectionfollow() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe/collectionitem.rs b/crates/jacquard-api/src/io_kich/recipe/collectionitem.rs
index ede74a0c5..b0f358c24 100644
--- a/crates/jacquard-api/src/io_kich/recipe/collectionitem.rs
+++ b/crates/jacquard-api/src/io_kich/recipe/collectionitem.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -114,7 +114,7 @@ impl LexiconSchema for Collectionitem {
 
 pub mod collectionitem_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -171,7 +171,10 @@ pub mod collectionitem_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CollectionitemBuilder {
+pub struct CollectionitemBuilder<
+    St: collectionitem_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -321,7 +324,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collectionitem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collectionitem {
         Collectionitem {
             collection: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -334,10 +340,10 @@ where
 }
 
 fn lexicon_doc_io_kich_recipe_collectionitem() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.collectionitem"),
@@ -417,4 +423,4 @@ fn lexicon_doc_io_kich_recipe_collectionitem() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe/like.rs b/crates/jacquard-api/src/io_kich/recipe/like.rs
index 82b203c8c..fc1301794 100644
--- a/crates/jacquard-api/src/io_kich/recipe/like.rs
+++ b/crates/jacquard-api/src/io_kich/recipe/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -106,7 +106,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -269,10 +269,10 @@ where
 }
 
 fn lexicon_doc_io_kich_recipe_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.like"),
@@ -283,10 +283,12 @@ fn lexicon_doc_io_kich_recipe_like() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -322,4 +324,4 @@ fn lexicon_doc_io_kich_recipe_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe/recipe.rs b/crates/jacquard-api/src/io_kich/recipe/recipe.rs
index 3de2981f1..f60a61c14 100644
--- a/crates/jacquard-api/src/io_kich/recipe/recipe.rs
+++ b/crates/jacquard-api/src/io_kich/recipe/recipe.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::io_kich::recipe::recipe;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::io_kich::recipe::recipe;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Ingredient {
     ///[Deprecated] Amount needed in grams. Use measuredAmount/measuredUnit instead.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -74,11 +71,9 @@ pub struct Ingredient {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct InstructionStep {
     ///Unique identifier for this instruction step
     pub id: S,
@@ -88,6 +83,7 @@ pub struct InstructionStep {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
     rename_all = "camelCase",
@@ -164,11 +160,9 @@ pub struct RecipeGetRecordOutput {
     pub value: Recipe,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tag {
     ///Tag identifier
     pub id: S,
@@ -290,10 +284,10 @@ fn _default_ingredient_is_optional() -> Option {
 }
 
 fn lexicon_doc_io_kich_recipe_recipe() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.recipe"),
@@ -404,19 +398,20 @@ fn lexicon_doc_io_kich_recipe_recipe() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("instructionStep"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("id"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("id"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Unique identifier for this instruction step",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Unique identifier for this instruction step",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -623,7 +618,9 @@ fn lexicon_doc_io_kich_recipe_recipe() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("tag"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("id"), SmolStr::new_static("name")]),
+                    required: Some(
+                        vec![SmolStr::new_static("id"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -662,7 +659,7 @@ fn _default_recipe_servings() -> i64 {
 
 pub mod recipe_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -764,8 +761,24 @@ impl RecipeBuilder {
         RecipeBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -778,8 +791,24 @@ impl RecipeBuilder {
         RecipeBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -885,12 +914,18 @@ impl RecipeBuilder {
 
 impl RecipeBuilder {
     /// Set the `ingredients` field (optional)
-    pub fn ingredients(mut self, value: impl Into>>>) -> Self {
+    pub fn ingredients(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.7 = value.into();
         self
     }
     /// Set the `ingredients` field to an Option value (optional)
-    pub fn maybe_ingredients(mut self, value: Option>>) -> Self {
+    pub fn maybe_ingredients(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.7 = value;
         self
     }
@@ -906,7 +941,10 @@ impl RecipeBuilder {
         self
     }
     /// Set the `instructions` field to an Option value (optional)
-    pub fn maybe_instructions(mut self, value: Option>>) -> Self {
+    pub fn maybe_instructions(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -931,7 +969,10 @@ where
     St::Name: recipe_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> RecipeBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> RecipeBuilder, S> {
         self._fields.10 = Option::Some(value.into());
         RecipeBuilder {
             _state: PhantomData,
@@ -1093,4 +1134,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe/review.rs b/crates/jacquard-api/src/io_kich/recipe/review.rs
index 4acdb4455..58d722d75 100644
--- a/crates/jacquard-api/src/io_kich/recipe/review.rs
+++ b/crates/jacquard-api/src/io_kich/recipe/review.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record key is the recipe's rkey for one-review-per-user-per-recipe; pass recipeId as rkey
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -145,7 +145,7 @@ impl LexiconSchema for Review {
 
 pub mod review_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -365,10 +365,10 @@ where
 }
 
 fn lexicon_doc_io_kich_recipe_review() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.review"),
@@ -452,4 +452,4 @@ fn lexicon_doc_io_kich_recipe_review() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_kich/recipe/save.rs b/crates/jacquard-api/src/io_kich/recipe/save.rs
index dc9a43083..5e86ddb92 100644
--- a/crates/jacquard-api/src/io_kich/recipe/save.rs
+++ b/crates/jacquard-api/src/io_kich/recipe/save.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -107,7 +107,7 @@ impl LexiconSchema for Save {
 
 pub mod save_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -270,10 +270,10 @@ where
 }
 
 fn lexicon_doc_io_kich_recipe_save() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.kich.recipe.save"),
@@ -284,10 +284,12 @@ fn lexicon_doc_io_kich_recipe_save() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -323,4 +325,4 @@ fn lexicon_doc_io_kich_recipe_save() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_livewire.rs b/crates/jacquard-api/src/io_livewire.rs
index 20f50d006..995c5d2db 100644
--- a/crates/jacquard-api/src/io_livewire.rs
+++ b/crates/jacquard-api/src/io_livewire.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `io.livewire` Lexicon namespace/module.
-pub mod p3k;
+pub mod p3k;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_livewire/p3k.rs b/crates/jacquard-api/src/io_livewire/p3k.rs
index 0a1e3a873..852878edf 100644
--- a/crates/jacquard-api/src/io_livewire/p3k.rs
+++ b/crates/jacquard-api/src/io_livewire/p3k.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `io.livewire.p3k` Lexicon namespace/module.
-pub mod podping00;
+pub mod podping00;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_livewire/p3k/podping00.rs b/crates/jacquard-api/src/io_livewire/p3k/podping00.rs
index 0c112fdb0..d4d902192 100644
--- a/crates/jacquard-api/src/io_livewire/p3k/podping00.rs
+++ b/crates/jacquard-api/src/io_livewire/p3k/podping00.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Podping v0.0.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Podping00 {
 
 pub mod podping00_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -244,7 +244,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Podping00 {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Podping00 {
         Podping00 {
             created_at: self._fields.0.unwrap(),
             url: self._fields.1.unwrap(),
@@ -254,10 +257,10 @@ where
 }
 
 fn lexicon_doc_io_livewire_p3k_podping00() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.livewire.p3k.podping00"),
@@ -269,19 +272,22 @@ fn lexicon_doc_io_livewire_p3k_podping00() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("Podping v0.0.")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("url"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("url"), SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The timestamp of when the podping was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The timestamp of when the podping was created.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -289,9 +295,9 @@ fn lexicon_doc_io_livewire_p3k_podping00() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("url"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The feed URL that updated.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The feed URL that updated."),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -307,4 +313,4 @@ fn lexicon_doc_io_livewire_p3k_podping00() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_sound.rs b/crates/jacquard-api/src/io_sound.rs
index 2a8aee32f..984e5f7cf 100644
--- a/crates/jacquard-api/src/io_sound.rs
+++ b/crates/jacquard-api/src/io_sound.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `io.sound` Lexicon namespace/module.
 pub mod credit;
-pub mod sequence;
+pub mod sequence;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_sound/credit.rs b/crates/jacquard-api/src/io_sound/credit.rs
index 887e4530a..3848a58d6 100644
--- a/crates/jacquard-api/src/io_sound/credit.rs
+++ b/crates/jacquard-api/src/io_sound/credit.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,14 +20,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Attribution for a creative work
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Credit {
     ///Name of the credited person
     pub name: S,
@@ -207,10 +204,10 @@ impl LexiconSchema for Credit {
 }
 
 fn lexicon_doc_io_sound_credit() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.sound.credit"),
@@ -219,20 +216,21 @@ fn lexicon_doc_io_sound_credit() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Attribution for a creative work")),
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("role"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Attribution for a creative work"),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("role")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Name of the credited person",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Name of the credited person"),
+                                ),
                                 max_length: Some(640usize),
                                 max_graphemes: Some(320usize),
                                 ..Default::default()
@@ -241,9 +239,11 @@ fn lexicon_doc_io_sound_credit() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("role"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Role: composer, lyricist, arranger, etc",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Role: composer, lyricist, arranger, etc",
+                                    ),
+                                ),
                                 max_length: Some(64usize),
                                 max_graphemes: Some(32usize),
                                 ..Default::default()
@@ -252,9 +252,11 @@ fn lexicon_doc_io_sound_credit() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URL to credited person's profile or website",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "URL to credited person's profile or website",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -268,4 +270,4 @@ fn lexicon_doc_io_sound_credit() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_sound/sequence.rs b/crates/jacquard-api/src/io_sound/sequence.rs
index 232562472..f81fcc2eb 100644
--- a/crates/jacquard-api/src/io_sound/sequence.rs
+++ b/crates/jacquard-api/src/io_sound/sequence.rs
@@ -10,8 +10,8 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,12 +25,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::io_sound::credit::Credit;
 use crate::io_sound::sequence;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A sequence of timed events. Full documentation at https://github.com/soundio/sequence/.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -180,7 +180,7 @@ impl LexiconSchema for Sequence {
 
 pub mod sequence_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -248,9 +248,7 @@ impl SequenceBuilder {
     pub fn new() -> Self {
         SequenceBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -261,9 +259,7 @@ impl SequenceBuilder {
     pub fn builder() -> Self {
         SequenceBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -355,7 +351,10 @@ impl SequenceBuilder {
 
 impl SequenceBuilder {
     /// Set the `sequences` field (optional)
-    pub fn sequences(mut self, value: impl Into>>>) -> Self {
+    pub fn sequences(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
@@ -460,10 +459,10 @@ where
 }
 
 fn lexicon_doc_io_sound_sequence() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.sound.sequence"),
@@ -611,4 +610,4 @@ fn lexicon_doc_io_sound_sequence() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteley.rs b/crates/jacquard-api/src/io_whiteley.rs
index 55a4a4141..0efb5dc3e 100644
--- a/crates/jacquard-api/src/io_whiteley.rs
+++ b/crates/jacquard-api/src/io_whiteley.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `io.whiteley` Lexicon namespace/module.
 pub mod ATlas;
-pub mod luke;
+pub mod luke;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteley/ATlas.rs b/crates/jacquard-api/src/io_whiteley/ATlas.rs
index 56de61f2f..5f92e5582 100644
--- a/crates/jacquard-api/src/io_whiteley/ATlas.rs
+++ b/crates/jacquard-api/src/io_whiteley/ATlas.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `io.whiteley.ATlas` Lexicon namespace/module.
-pub mod pin;
+pub mod pin;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteley/ATlas/pin.rs b/crates/jacquard-api/src/io_whiteley/ATlas/pin.rs
index 869fb1311..196e3d938 100644
--- a/crates/jacquard-api/src/io_whiteley/ATlas/pin.rs
+++ b/crates/jacquard-api/src/io_whiteley/ATlas/pin.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user's geographical pin on the atlas
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -152,7 +152,7 @@ impl LexiconSchema for Pin {
 
 pub mod pin_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -317,7 +317,10 @@ where
     St::Did: pin_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> PinBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> PinBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         PinBuilder {
             _state: PhantomData,
@@ -333,7 +336,10 @@ where
     St::Latitude: pin_state::IsUnset,
 {
     /// Set the `latitude` field (required)
-    pub fn latitude(mut self, value: impl Into) -> PinBuilder, S> {
+    pub fn latitude(
+        mut self,
+        value: impl Into,
+    ) -> PinBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         PinBuilder {
             _state: PhantomData,
@@ -349,7 +355,10 @@ where
     St::Longitude: pin_state::IsUnset,
 {
     /// Set the `longitude` field (required)
-    pub fn longitude(mut self, value: impl Into) -> PinBuilder, S> {
+    pub fn longitude(
+        mut self,
+        value: impl Into,
+    ) -> PinBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         PinBuilder {
             _state: PhantomData,
@@ -427,10 +436,10 @@ where
 }
 
 fn lexicon_doc_io_whiteley_ATlas_pin() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.whiteley.ATlas.pin"),
@@ -439,16 +448,20 @@ fn lexicon_doc_io_whiteley_ATlas_pin() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A user's geographical pin on the atlas")),
+                    description: Some(
+                        CowStr::new_static("A user's geographical pin on the atlas"),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("did"),
-                            SmolStr::new_static("longitude"),
-                            SmolStr::new_static("latitude"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("placedAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("did"),
+                                SmolStr::new_static("longitude"),
+                                SmolStr::new_static("latitude"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("placedAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -505,4 +518,4 @@ fn lexicon_doc_io_whiteley_ATlas_pin() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteley/luke.rs b/crates/jacquard-api/src/io_whiteley/luke.rs
index 61437f19f..d57f16b05 100644
--- a/crates/jacquard-api/src/io_whiteley/luke.rs
+++ b/crates/jacquard-api/src/io_whiteley/luke.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `io.whiteley.luke` Lexicon namespace/module.
-pub mod ATlas;
+pub mod ATlas;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteley/luke/ATlas.rs b/crates/jacquard-api/src/io_whiteley/luke/ATlas.rs
index e7c2b1c1a..483e44fd2 100644
--- a/crates/jacquard-api/src/io_whiteley/luke/ATlas.rs
+++ b/crates/jacquard-api/src/io_whiteley/luke/ATlas.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `io.whiteley.luke.ATlas` Lexicon namespace/module.
-pub mod pin;
+pub mod pin;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteley/luke/ATlas/pin.rs b/crates/jacquard-api/src/io_whiteley/luke/ATlas/pin.rs
index e52f116a9..6509aa6ea 100644
--- a/crates/jacquard-api/src/io_whiteley/luke/ATlas/pin.rs
+++ b/crates/jacquard-api/src/io_whiteley/luke/ATlas/pin.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user's geographical pin on the ATlas
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -152,7 +152,7 @@ impl LexiconSchema for Pin {
 
 pub mod pin_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -317,7 +317,10 @@ where
     St::Did: pin_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> PinBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> PinBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         PinBuilder {
             _state: PhantomData,
@@ -333,7 +336,10 @@ where
     St::Latitude: pin_state::IsUnset,
 {
     /// Set the `latitude` field (required)
-    pub fn latitude(mut self, value: impl Into) -> PinBuilder, S> {
+    pub fn latitude(
+        mut self,
+        value: impl Into,
+    ) -> PinBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         PinBuilder {
             _state: PhantomData,
@@ -349,7 +355,10 @@ where
     St::Longitude: pin_state::IsUnset,
 {
     /// Set the `longitude` field (required)
-    pub fn longitude(mut self, value: impl Into) -> PinBuilder, S> {
+    pub fn longitude(
+        mut self,
+        value: impl Into,
+    ) -> PinBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         PinBuilder {
             _state: PhantomData,
@@ -427,10 +436,10 @@ where
 }
 
 fn lexicon_doc_io_whiteley_luke_ATlas_pin() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.whiteley.luke.ATlas.pin"),
@@ -439,16 +448,20 @@ fn lexicon_doc_io_whiteley_luke_ATlas_pin() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A user's geographical pin on the ATlas")),
+                    description: Some(
+                        CowStr::new_static("A user's geographical pin on the ATlas"),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("did"),
-                            SmolStr::new_static("longitude"),
-                            SmolStr::new_static("latitude"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("placedAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("did"),
+                                SmolStr::new_static("longitude"),
+                                SmolStr::new_static("latitude"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("placedAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -505,4 +518,4 @@ fn lexicon_doc_io_whiteley_luke_ATlas_pin() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteside.rs b/crates/jacquard-api/src/io_whiteside.rs
index 830e1276d..fcb693d2a 100644
--- a/crates/jacquard-api/src/io_whiteside.rs
+++ b/crates/jacquard-api/src/io_whiteside.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `io.whiteside` Lexicon namespace/module.
 pub mod linked_account;
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteside/linked_account.rs b/crates/jacquard-api/src/io_whiteside/linked_account.rs
index 3720a75d7..4c67510b4 100644
--- a/crates/jacquard-api/src/io_whiteside/linked_account.rs
+++ b/crates/jacquard-api/src/io_whiteside/linked_account.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A linked account record containing external account information
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for LinkedAccount {
 
 pub mod linked_account_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -168,7 +168,10 @@ pub mod linked_account_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct LinkedAccountBuilder {
+pub struct LinkedAccountBuilder<
+    St: linked_account_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option, Option),
     _type: PhantomData S>,
@@ -298,7 +301,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LinkedAccount {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LinkedAccount {
         LinkedAccount {
             icon: self._fields.0.unwrap(),
             link: self._fields.1.unwrap(),
@@ -310,10 +316,10 @@ where
 }
 
 fn lexicon_doc_io_whiteside_linkedAccount() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.whiteside.linkedAccount"),
@@ -322,33 +328,38 @@ fn lexicon_doc_io_whiteside_linkedAccount() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A linked account record containing external account information",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A linked account record containing external account information",
+                        ),
+                    ),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("icon"),
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("link"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("icon"), SmolStr::new_static("name"),
+                                SmolStr::new_static("link")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("icon"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Icon identifier or URL for the linked account",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Icon identifier or URL for the linked account",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("link"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URL to the linked account",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URL to the linked account"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -356,9 +367,9 @@ fn lexicon_doc_io_whiteside_linkedAccount() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Display name of the linked account",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Display name of the linked account"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -379,4 +390,4 @@ fn lexicon_doc_io_whiteside_linkedAccount() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/io_whiteside/profile.rs b/crates/jacquard-api/src/io_whiteside/profile.rs
index 05cf8f987..208426fd2 100644
--- a/crates/jacquard-api/src/io_whiteside/profile.rs
+++ b/crates/jacquard-api/src/io_whiteside/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Profile information (bio, skills, etc.)
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -130,7 +130,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -314,10 +314,10 @@ where
 }
 
 fn lexicon_doc_io_whiteside_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("io.whiteside.profile"),
@@ -326,25 +326,29 @@ fn lexicon_doc_io_whiteside_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Profile information (bio, skills, etc.)",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Profile information (bio, skills, etc.)"),
+                    ),
                     key: Some(CowStr::new_static("literal:bio")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("heading"),
-                            SmolStr::new_static("content"),
-                            SmolStr::new_static("updatedAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("heading"),
+                                SmolStr::new_static("content"),
+                                SmolStr::new_static("updatedAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("content"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Profile content in plain text or markdown format",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Profile content in plain text or markdown format",
+                                        ),
+                                    ),
                                     max_length: Some(5000usize),
                                     ..Default::default()
                                 }),
@@ -352,9 +356,11 @@ fn lexicon_doc_io_whiteside_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("heading"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Profile section heading (e.g. 'Hey, I'm John')",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Profile section heading (e.g. 'Hey, I'm John')",
+                                        ),
+                                    ),
                                     max_length: Some(200usize),
                                     ..Default::default()
                                 }),
@@ -362,9 +368,11 @@ fn lexicon_doc_io_whiteside_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Last update timestamp in ISO 8601 format",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Last update timestamp in ISO 8601 format",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -380,4 +388,4 @@ fn lexicon_doc_io_whiteside_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/lib.rs b/crates/jacquard-api/src/lib.rs
index 19b227dbe..ae778d3e6 100644
--- a/crates/jacquard-api/src/lib.rs
+++ b/crates/jacquard-api/src/lib.rs
@@ -45,552 +45,735 @@ extern crate alloc;
 #[cfg(feature = "actor_rpg")]
 pub mod actor_rpg;
 
+
 #[cfg(feature = "ai_syui")]
 pub mod ai_syui;
 
+
 #[cfg(feature = "app_beaconbits")]
 pub mod app_beaconbits;
 
+
 #[cfg(feature = "app_blebbit")]
 pub mod app_blebbit;
 
+
 #[cfg(feature = "app_bsky")]
 pub mod app_bsky;
 
+
 #[cfg(feature = "app_certified")]
 pub mod app_certified;
 
+
 #[cfg(feature = "app_chavatar")]
 pub mod app_chavatar;
 
+
 #[cfg(feature = "app_chronosky")]
 pub mod app_chronosky;
 
+
 #[cfg(feature = "app_dropanchor")]
 pub mod app_dropanchor;
 
+
 #[cfg(feature = "app_fitsky")]
 pub mod app_fitsky;
 
+
 #[cfg(feature = "app_gainforest")]
 pub mod app_gainforest;
 
+
 #[cfg(feature = "app_greengale")]
 pub mod app_greengale;
 
+
 #[cfg(feature = "app_juttu")]
 pub mod app_juttu;
 
+
 #[cfg(feature = "app_mathr")]
 pub mod app_mathr;
 
+
 #[cfg(feature = "app_nblr")]
 pub mod app_nblr;
 
+
 #[cfg(feature = "app_ocho")]
 pub mod app_ocho;
 
+
 #[cfg(feature = "app_offprint")]
 pub mod app_offprint;
 
+
 #[cfg(feature = "app_openmkt")]
 pub mod app_openmkt;
 
+
 #[cfg(feature = "app_protoimsg")]
 pub mod app_protoimsg;
 
+
 #[cfg(feature = "app_rocksky")]
 pub mod app_rocksky;
 
+
 #[cfg(feature = "art_cllctv")]
 pub mod art_cllctv;
 
+
 #[cfg(feature = "at_dropb")]
 pub mod at_dropb;
 
+
 #[cfg(feature = "at_inlay")]
 pub mod at_inlay;
 
+
 #[cfg(feature = "at_margin")]
 pub mod at_margin;
 
+
 #[cfg(feature = "at_noted")]
 pub mod at_noted;
 
+
 #[cfg(feature = "at_pasteb")]
 pub mod at_pasteb;
 
+
 #[cfg(feature = "at_podping")]
 pub mod at_podping;
 
+
 #[cfg(feature = "at_unthread")]
 pub mod at_unthread;
 
+
 #[cfg(feature = "at_youandme")]
 pub mod at_youandme;
 
+
 #[cfg(feature = "beauty_cybernetic")]
 pub mod beauty_cybernetic;
 
+
 #[cfg(feature = "blog_pckt")]
 pub mod blog_pckt;
 
+
 #[cfg(feature = "blue__2048")]
 pub mod blue__2048;
 
+
 #[cfg(feature = "blue_atplane")]
 pub mod blue_atplane;
 
+
 #[cfg(feature = "blue_atplay")]
 pub mod blue_atplay;
 
+
 #[cfg(feature = "blue_atroom")]
 pub mod blue_atroom;
 
+
 #[cfg(feature = "blue_backyard")]
 pub mod blue_backyard;
 
+
 #[cfg(feature = "blue_linkat")]
 pub mod blue_linkat;
 
+
 #[cfg(feature = "blue_recipes")]
 pub mod blue_recipes;
 
+
 #[cfg(feature = "blue_rito")]
 pub mod blue_rito;
 
+
 #[cfg(feature = "blue_skytalk")]
 pub mod blue_skytalk;
 
+
 #[cfg(feature = "blue_zio")]
 pub mod blue_zio;
 
+
 #[cfg(feature = "bond_biblio")]
 pub mod bond_biblio;
 pub mod builder_types;
 
+
 #[cfg(feature = "buzz_bookhive")]
 pub mod buzz_bookhive;
 
+
 #[cfg(feature = "ca_jmaingot")]
 pub mod ca_jmaingot;
 
+
 #[cfg(feature = "cat_vt3e")]
 pub mod cat_vt3e;
 
+
 #[cfg(feature = "ch_indiemusi")]
 pub mod ch_indiemusi;
 
+
 #[cfg(feature = "chat_bsky")]
 pub mod chat_bsky;
 
+
 #[cfg(feature = "chat_firehose")]
 pub mod chat_firehose;
 
+
 #[cfg(feature = "city_yoyle")]
 pub mod city_yoyle;
 
+
 #[cfg(feature = "club_stellz")]
 pub mod club_stellz;
 
+
 #[cfg(feature = "com__5jiji")]
 pub mod com__5jiji;
 
+
 #[cfg(feature = "com_alephcubed")]
 pub mod com_alephcubed;
 
+
 #[cfg(feature = "com_atproto")]
 pub mod com_atproto;
 
+
 #[cfg(feature = "com_atprotofans")]
 pub mod com_atprotofans;
 
+
 #[cfg(feature = "com_bad_example")]
 pub mod com_bad_example;
 
+
 #[cfg(feature = "com_chrisvanderloo")]
 pub mod com_chrisvanderloo;
 
+
 #[cfg(feature = "com_crabdance")]
 pub mod com_crabdance;
 
+
 #[cfg(feature = "com_deckbelcher")]
 pub mod com_deckbelcher;
 
+
 #[cfg(feature = "com_germnetwork")]
 pub mod com_germnetwork;
 
+
 #[cfg(feature = "com_kipclip")]
 pub mod com_kipclip;
 
+
 #[cfg(feature = "com_shinolabs")]
 pub mod com_shinolabs;
 
+
 #[cfg(feature = "com_suibari")]
 pub mod com_suibari;
 
+
 #[cfg(feature = "com_whtwnd")]
 pub mod com_whtwnd;
 
+
 #[cfg(feature = "com_yuna0x0")]
 pub mod com_yuna0x0;
 
+
 #[cfg(feature = "community_lexicon")]
 pub mod community_lexicon;
 
+
 #[cfg(feature = "computer_aesthetic")]
 pub mod computer_aesthetic;
 
+
 #[cfg(feature = "coop_hypha")]
 pub mod coop_hypha;
 
+
 #[cfg(feature = "dev_baileytownsend")]
 pub mod dev_baileytownsend;
 
+
 #[cfg(feature = "dev_fudgeu")]
 pub mod dev_fudgeu;
 
+
 #[cfg(feature = "dev_kanad")]
 pub mod dev_kanad;
 
+
 #[cfg(feature = "dev_keytrace")]
 pub mod dev_keytrace;
 
+
 #[cfg(feature = "dev_ocbwoy3")]
 pub mod dev_ocbwoy3;
 
+
 #[cfg(feature = "dev_regnault")]
 pub mod dev_regnault;
 
+
 #[cfg(feature = "dev_sensorthings")]
 pub mod dev_sensorthings;
 
+
 #[cfg(feature = "dev_tsunagite")]
 pub mod dev_tsunagite;
 
+
 #[cfg(feature = "dev_vielle")]
 pub mod dev_vielle;
 
+
 #[cfg(feature = "directory_evnt")]
 pub mod directory_evnt;
 
+
 #[cfg(feature = "diy_razorgirl")]
 pub mod diy_razorgirl;
 
+
 #[cfg(feature = "download_darkworld")]
 pub mod download_darkworld;
 
+
 #[cfg(feature = "eu_atchef")]
 pub mod eu_atchef;
 
+
 #[cfg(feature = "events_smokesignal")]
 pub mod events_smokesignal;
 
+
 #[cfg(feature = "fm_teal")]
 pub mod fm_teal;
 
+
 #[cfg(feature = "fyi_frontpage")]
 pub mod fyi_frontpage;
 
+
 #[cfg(feature = "fyi_questionable")]
 pub mod fyi_questionable;
 
+
 #[cfg(feature = "fyi_unravel")]
 pub mod fyi_unravel;
 
+
 #[cfg(feature = "games_firehose")]
 pub mod games_firehose;
 
+
 #[cfg(feature = "games_gamesgamesgamesgames")]
 pub mod games_gamesgamesgamesgames;
 
+
 #[cfg(feature = "garden_goals")]
 pub mod garden_goals;
 
+
 #[cfg(feature = "garden_lexicon")]
 pub mod garden_lexicon;
 
+
 #[cfg(feature = "haus_opn")]
 pub mod haus_opn;
 
+
 #[cfg(feature = "ing_dasl")]
 pub mod ing_dasl;
 
+
 #[cfg(feature = "io_atcr")]
 pub mod io_atcr;
 
+
 #[cfg(feature = "io_kich")]
 pub mod io_kich;
 
+
 #[cfg(feature = "io_livewire")]
 pub mod io_livewire;
 
+
 #[cfg(feature = "io_sound")]
 pub mod io_sound;
 
+
 #[cfg(feature = "io_whiteley")]
 pub mod io_whiteley;
 
+
 #[cfg(feature = "io_whiteside")]
 pub mod io_whiteside;
 
+
 #[cfg(feature = "link_bridgebeats")]
 pub mod link_bridgebeats;
 
+
 #[cfg(feature = "lol_gayfamicom")]
 pub mod lol_gayfamicom;
 
+
 #[cfg(feature = "lol_jbc")]
 pub mod lol_jbc;
 
+
 #[cfg(feature = "me_linkna")]
 pub mod me_linkna;
 
+
 #[cfg(feature = "media_ionosphere")]
 pub mod media_ionosphere;
 
+
 #[cfg(feature = "moe_karashiiro")]
 pub mod moe_karashiiro;
 
+
 #[cfg(feature = "mov_danabra")]
 pub mod mov_danabra;
 
+
 #[cfg(feature = "my_skylights")]
 pub mod my_skylights;
 
+
 #[cfg(feature = "net_aftertheinter")]
 pub mod net_aftertheinter;
 
+
 #[cfg(feature = "net_alternativeproto")]
 pub mod net_alternativeproto;
 
+
 #[cfg(feature = "net_altq")]
 pub mod net_altq;
 
+
 #[cfg(feature = "net_anisota")]
 pub mod net_anisota;
 
+
 #[cfg(feature = "net_asadaame5121")]
 pub mod net_asadaame5121;
 
+
 #[cfg(feature = "net_bnewbold")]
 pub mod net_bnewbold;
 
+
 #[cfg(feature = "net_jbsm")]
 pub mod net_jbsm;
 
+
 #[cfg(feature = "net_mimonelu")]
 pub mod net_mimonelu;
 
+
 #[cfg(feature = "net_mmatt")]
 pub mod net_mmatt;
 
+
 #[cfg(feature = "net_shwilliam")]
 pub mod net_shwilliam;
 
+
 #[cfg(feature = "net_wafrn")]
 pub mod net_wafrn;
 
+
 #[cfg(feature = "network_cosmik")]
 pub mod network_cosmik;
 
+
 #[cfg(feature = "network_slices")]
 pub mod network_slices;
 
+
 #[cfg(feature = "ooo_bsky")]
 pub mod ooo_bsky;
 
+
 #[cfg(feature = "org_atpodcasting")]
 pub mod org_atpodcasting;
 
+
 #[cfg(feature = "org_atsui")]
 pub mod org_atsui;
 
+
 #[cfg(feature = "org_custorium")]
 pub mod org_custorium;
 
+
 #[cfg(feature = "org_devcon")]
 pub mod org_devcon;
 
+
 #[cfg(feature = "org_farmapps")]
 pub mod org_farmapps;
 
+
 #[cfg(feature = "org_hyperboards")]
 pub mod org_hyperboards;
 
+
 #[cfg(feature = "org_hypercerts")]
 pub mod org_hypercerts;
 
+
 #[cfg(feature = "org_impactindexer")]
 pub mod org_impactindexer;
 
+
 #[cfg(feature = "org_okazu_diary")]
 pub mod org_okazu_diary;
 
+
 #[cfg(feature = "org_passingreads")]
 pub mod org_passingreads;
 
+
 #[cfg(feature = "org_robocracy")]
 pub mod org_robocracy;
 
+
 #[cfg(feature = "org_simocracy")]
 pub mod org_simocracy;
 
+
 #[cfg(feature = "org_stormlightlabs")]
 pub mod org_stormlightlabs;
 
+
 #[cfg(feature = "org_user_intents")]
 pub mod org_user_intents;
 
+
 #[cfg(feature = "parts_page")]
 pub mod parts_page;
 
+
 #[cfg(feature = "pink_vase")]
 pub mod pink_vase;
 
+
 #[cfg(feature = "place_atwork")]
 pub mod place_atwork;
 
+
 #[cfg(feature = "place_stream")]
 pub mod place_stream;
 
+
 #[cfg(feature = "place_wisp")]
 pub mod place_wisp;
 
+
 #[cfg(feature = "pub_leaflet")]
 pub mod pub_leaflet;
 
+
 #[cfg(feature = "pub_quizzy")]
 pub mod pub_quizzy;
 
+
 #[cfg(feature = "science_alt")]
 pub mod science_alt;
 
+
 #[cfg(feature = "scot_comhairle")]
 pub mod scot_comhairle;
 
+
 #[cfg(feature = "sh_tangled")]
 pub mod sh_tangled;
 
+
 #[cfg(feature = "sh_weaver")]
 pub mod sh_weaver;
 
+
 #[cfg(feature = "site_standard")]
 pub mod site_standard;
 
+
 #[cfg(feature = "social_arabica")]
 pub mod social_arabica;
 
+
 #[cfg(feature = "social_clippr")]
 pub mod social_clippr;
 
+
 #[cfg(feature = "social_colibri")]
 pub mod social_colibri;
 
+
 #[cfg(feature = "social_drydown")]
 pub mod social_drydown;
 
+
 #[cfg(feature = "social_flockfeeds")]
 pub mod social_flockfeeds;
 
+
 #[cfg(feature = "social_grain")]
 pub mod social_grain;
 
+
 #[cfg(feature = "social_lexical")]
 pub mod social_lexical;
 
+
 #[cfg(feature = "social_nstar")]
 pub mod social_nstar;
 
+
 #[cfg(feature = "social_octosphere")]
 pub mod social_octosphere;
 
+
 #[cfg(feature = "social_oolong")]
 pub mod social_oolong;
 
+
 #[cfg(feature = "social_pace")]
 pub mod social_pace;
 
+
 #[cfg(feature = "social_pmsky")]
 pub mod social_pmsky;
 
+
 #[cfg(feature = "social_psky")]
 pub mod social_psky;
 
+
 #[cfg(feature = "social_showcase")]
 pub mod social_showcase;
 
+
 #[cfg(feature = "social_sket")]
 pub mod social_sket;
 
+
 #[cfg(feature = "social_tophhie")]
 pub mod social_tophhie;
 
+
 #[cfg(feature = "space_atbb")]
 pub mod space_atbb;
 
+
 #[cfg(feature = "space_litenote")]
 pub mod space_litenote;
 
+
 #[cfg(feature = "space_remanso")]
 pub mod space_remanso;
 
+
 #[cfg(feature = "st_lifepo")]
 pub mod st_lifepo;
 
+
 #[cfg(feature = "st_snowpo")]
 pub mod st_snowpo;
 
+
 #[cfg(feature = "store__88x31")]
 pub mod store__88x31;
 
+
 #[cfg(feature = "systems_timker")]
 pub mod systems_timker;
 
+
 #[cfg(feature = "tech_lenooby09")]
 pub mod tech_lenooby09;
 
+
 #[cfg(feature = "tech_manos")]
 pub mod tech_manos;
 
+
 #[cfg(feature = "tech_tokimeki")]
 pub mod tech_tokimeki;
 
+
 #[cfg(feature = "to_atpr")]
 pub mod to_atpr;
 
+
 #[cfg(feature = "tools_ozone")]
 pub mod tools_ozone;
 
+
 #[cfg(feature = "tools_smokesignal")]
 pub mod tools_smokesignal;
 
+
 #[cfg(feature = "top_launchpadx")]
 pub mod top_launchpadx;
 
+
 #[cfg(feature = "uk_ewancroft")]
 pub mod uk_ewancroft;
 
+
 #[cfg(feature = "uk_skyblur")]
 pub mod uk_skyblur;
 
+
 #[cfg(feature = "us_polhem")]
 pub mod us_polhem;
 
+
 #[cfg(feature = "win_tomo_x")]
 pub mod win_tomo_x;
 
+
 #[cfg(feature = "world_ptah")]
 pub mod world_ptah;
 
+
 #[cfg(feature = "xyz_atpoke")]
 pub mod xyz_atpoke;
 
+
 #[cfg(feature = "za_co")]
 pub mod za_co;
 
+
 #[cfg(feature = "zip_viruus")]
 pub mod zip_viruus;
 
+
 #[cfg(feature = "zone_stratos")]
-pub mod zone_stratos;
+pub mod zone_stratos;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/link_bridgebeats.rs b/crates/jacquard-api/src/link_bridgebeats.rs
index addcbde8b..1f02196a5 100644
--- a/crates/jacquard-api/src/link_bridgebeats.rs
+++ b/crates/jacquard-api/src/link_bridgebeats.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `link.bridgebeats` Lexicon namespace/module.
-pub mod lookup;
+pub mod lookup;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/link_bridgebeats/lookup.rs b/crates/jacquard-api/src/link_bridgebeats/lookup.rs
index 40855a4e8..da5039f67 100644
--- a/crates/jacquard-api/src/link_bridgebeats/lookup.rs
+++ b/crates/jacquard-api/src/link_bridgebeats/lookup.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::link_bridgebeats::lookup;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::link_bridgebeats::lookup;
 /// Result of parsing and looking up media links across supported music streaming providers.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -60,10 +60,7 @@ pub struct LookupGetRecordOutput {
 /// Music metadata from a specific provider's API query.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProviderResult {
     ///URL to the cover artwork image.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -240,7 +237,7 @@ impl LexiconSchema for ProviderResult {
 
 pub mod lookup_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -388,10 +385,10 @@ where
 }
 
 fn lexicon_doc_link_bridgebeats_lookup() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("link.bridgebeats.lookup"),
@@ -575,7 +572,7 @@ fn _default_provider_result_market_region() -> S {
 
 pub mod provider_result_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -666,7 +663,10 @@ pub mod provider_result_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ProviderResultBuilder {
+pub struct ProviderResultBuilder<
+    St: provider_result_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -875,7 +875,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProviderResult {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProviderResult {
         ProviderResult {
             art_url: self._fields.0,
             artist: self._fields.1.unwrap(),
@@ -888,4 +891,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/lol_gayfamicom.rs b/crates/jacquard-api/src/lol_gayfamicom.rs
index 03e0bb52a..018736f31 100644
--- a/crates/jacquard-api/src/lol_gayfamicom.rs
+++ b/crates/jacquard-api/src/lol_gayfamicom.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `lol.gayfamicom` Lexicon namespace/module.
-pub mod hi;
+pub mod hi;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/lol_gayfamicom/hi.rs b/crates/jacquard-api/src/lol_gayfamicom/hi.rs
index e76f28b7a..cfa27b7d0 100644
--- a/crates/jacquard-api/src/lol_gayfamicom/hi.rs
+++ b/crates/jacquard-api/src/lol_gayfamicom/hi.rs
@@ -8,12 +8,13 @@
 //! Generated bindings for the `lol.gayfamicom.hi` Lexicon namespace/module.
 pub mod hello;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -29,7 +30,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Hi
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -110,7 +111,7 @@ impl LexiconSchema for Hi {
 
 pub mod hi_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -219,10 +220,10 @@ where
 }
 
 fn lexicon_doc_lol_gayfamicom_hi() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("lol.gayfamicom.hi"),
@@ -262,4 +263,4 @@ fn lexicon_doc_lol_gayfamicom_hi() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/lol_gayfamicom/hi/hello.rs b/crates/jacquard-api/src/lol_gayfamicom/hi/hello.rs
index 750c0e222..a699d259d 100644
--- a/crates/jacquard-api/src/lol_gayfamicom/hi/hello.rs
+++ b/crates/jacquard-api/src/lol_gayfamicom/hi/hello.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Hi
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Hello {
 
 pub mod hello_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -216,10 +216,10 @@ where
 }
 
 fn lexicon_doc_lol_gayfamicom_hi_hello() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("lol.gayfamicom.hi.hello"),
@@ -259,4 +259,4 @@ fn lexicon_doc_lol_gayfamicom_hi_hello() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/lol_jbc.rs b/crates/jacquard-api/src/lol_jbc.rs
index 245995f5b..b80abc5ca 100644
--- a/crates/jacquard-api/src/lol_jbc.rs
+++ b/crates/jacquard-api/src/lol_jbc.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `lol.jbc` Lexicon namespace/module.
-pub mod feed;
+pub mod feed;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/lol_jbc/feed.rs b/crates/jacquard-api/src/lol_jbc/feed.rs
index 5df097e18..1c238713a 100644
--- a/crates/jacquard-api/src/lol_jbc/feed.rs
+++ b/crates/jacquard-api/src/lol_jbc/feed.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `lol.jbc.feed` Lexicon namespace/module.
-pub mod bite;
+pub mod bite;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/lol_jbc/feed/bite.rs b/crates/jacquard-api/src/lol_jbc/feed/bite.rs
index 8e89a7219..fe2bb29d2 100644
--- a/crates/jacquard-api/src/lol_jbc/feed/bite.rs
+++ b/crates/jacquard-api/src/lol_jbc/feed/bite.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a 'bite' of a piece of subject content.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Bite {
 
 pub mod bite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,10 +215,10 @@ where
 }
 
 fn lexicon_doc_lol_jbc_feed_bite() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("lol.jbc.feed.bite"),
@@ -227,9 +227,11 @@ fn lexicon_doc_lol_jbc_feed_bite() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a 'bite' of a piece of subject content.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a 'bite' of a piece of subject content.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -259,4 +261,4 @@ fn lexicon_doc_lol_jbc_feed_bite() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/me_linkna.rs b/crates/jacquard-api/src/me_linkna.rs
index e5209bd4d..a284e7502 100644
--- a/crates/jacquard-api/src/me_linkna.rs
+++ b/crates/jacquard-api/src/me_linkna.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `me.linkna` Lexicon namespace/module.
 pub mod lastfm;
 pub mod linkinbio;
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/me_linkna/lastfm.rs b/crates/jacquard-api/src/me_linkna/lastfm.rs
index ed8793dbe..e79eaa057 100644
--- a/crates/jacquard-api/src/me_linkna/lastfm.rs
+++ b/crates/jacquard-api/src/me_linkna/lastfm.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A Last.fm scrobble play record written by Linkname.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -129,7 +129,7 @@ impl LexiconSchema for Lastfm {
 
 pub mod lastfm_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -429,10 +429,10 @@ where
 }
 
 fn lexicon_doc_me_linkna_lastfm() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("me.linkna.lastfm"),
@@ -441,25 +441,29 @@ fn lexicon_doc_me_linkna_lastfm() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A Last.fm scrobble play record written by Linkname.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A Last.fm scrobble play record written by Linkname.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("trackName"),
-                            SmolStr::new_static("artistNames"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("trackName"),
+                                SmolStr::new_static("artistNames"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("artistMbId"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "MusicBrainz ID for the artist.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("MusicBrainz ID for the artist."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -476,18 +480,18 @@ fn lexicon_doc_me_linkna_lastfm() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("coverArtUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URL to the album cover art.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URL to the album cover art."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this record was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this record was created."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -495,9 +499,9 @@ fn lexicon_doc_me_linkna_lastfm() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("originUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URL to the track on Last.fm.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URL to the track on Last.fm."),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -505,9 +509,9 @@ fn lexicon_doc_me_linkna_lastfm() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("playedTime"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the track was played on Last.fm.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the track was played on Last.fm."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -515,25 +519,27 @@ fn lexicon_doc_me_linkna_lastfm() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("releaseMbId"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "MusicBrainz ID for the release/album.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("MusicBrainz ID for the release/album."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("releaseName"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Album/release name.")),
+                                    description: Some(
+                                        CowStr::new_static("Album/release name."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("trackMbId"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "MusicBrainz ID for the track.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("MusicBrainz ID for the track."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -555,4 +561,4 @@ fn lexicon_doc_me_linkna_lastfm() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/me_linkna/linkinbio.rs b/crates/jacquard-api/src/me_linkna/linkinbio.rs
index 3acf2cb0b..5193d8b65 100644
--- a/crates/jacquard-api/src/me_linkna/linkinbio.rs
+++ b/crates/jacquard-api/src/me_linkna/linkinbio.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::me_linkna::linkinbio;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::me_linkna::linkinbio;
 /// Saved service credentials/identifiers for pre-filling widget forms.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ConnectedServices {
     ///GitHub username.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -50,10 +47,7 @@ pub struct ConnectedServices {
 /// A single day's contribution data from GitHub.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GithubContributionDay {
     ///Number of contributions on this day.
     pub count: i64,
@@ -68,10 +62,7 @@ pub struct GithubContributionDay {
 /// A book from a Goodreads shelf.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GoodreadsBook {
     ///Book author.
     pub author: S,
@@ -93,10 +84,7 @@ pub struct GoodreadsBook {
 /// A standard link card.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LinkCard {
     ///Whether the card is visible on the public page. Defaults to true.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -146,6 +134,7 @@ pub struct Linkinbio {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -174,10 +163,7 @@ pub struct LinkinbioGetRecordOutput {
 /// A social media icon link.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SocialIcon {
     ///Unique identifier for the icon.
     pub id: S,
@@ -192,10 +178,7 @@ pub struct SocialIcon {
 /// A recently played track from teal.fm.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TealfmPlay {
     ///Artist name(s).
     pub artist_name: S,
@@ -220,10 +203,7 @@ pub struct TealfmPlay {
 /// Theme configuration for the page appearance.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ThemeConfig {
     ///Page background color.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -364,7 +344,8 @@ impl Serialize for ThemeConfigButtonAlignment {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ThemeConfigButtonAlignment {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ThemeConfigButtonAlignment {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -454,7 +435,8 @@ impl Serialize for ThemeConfigCardBorderRadius {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ThemeConfigCardBorderRadius {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ThemeConfigCardBorderRadius {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -576,7 +558,9 @@ where
             ThemeConfigCardShadow::Md => ThemeConfigCardShadow::Md,
             ThemeConfigCardShadow::Lg => ThemeConfigCardShadow::Lg,
             ThemeConfigCardShadow::Xl => ThemeConfigCardShadow::Xl,
-            ThemeConfigCardShadow::Other(v) => ThemeConfigCardShadow::Other(v.into_static()),
+            ThemeConfigCardShadow::Other(v) => {
+                ThemeConfigCardShadow::Other(v.into_static())
+            }
         }
     }
 }
@@ -655,7 +639,9 @@ where
         match self {
             ThemeConfigCursorStyle::Default => ThemeConfigCursorStyle::Default,
             ThemeConfigCursorStyle::HelloKitty => ThemeConfigCursorStyle::HelloKitty,
-            ThemeConfigCursorStyle::Other(v) => ThemeConfigCursorStyle::Other(v.into_static()),
+            ThemeConfigCursorStyle::Other(v) => {
+                ThemeConfigCursorStyle::Other(v.into_static())
+            }
         }
     }
 }
@@ -825,7 +811,9 @@ where
             ThemeConfigParticles::White => ThemeConfigParticles::White,
             ThemeConfigParticles::Blue => ThemeConfigParticles::Blue,
             ThemeConfigParticles::Leaves => ThemeConfigParticles::Leaves,
-            ThemeConfigParticles::Other(v) => ThemeConfigParticles::Other(v.into_static()),
+            ThemeConfigParticles::Other(v) => {
+                ThemeConfigParticles::Other(v.into_static())
+            }
         }
     }
 }
@@ -881,7 +869,8 @@ impl Serialize for ThemeConfigProfileAlignment {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ThemeConfigProfileAlignment {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ThemeConfigProfileAlignment {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -966,7 +955,8 @@ impl Serialize for ThemeConfigProfilePictureShape {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ThemeConfigProfilePictureShape {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ThemeConfigProfilePictureShape {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -990,9 +980,15 @@ where
     type Output = ThemeConfigProfilePictureShape;
     fn into_static(self) -> Self::Output {
         match self {
-            ThemeConfigProfilePictureShape::Circle => ThemeConfigProfilePictureShape::Circle,
-            ThemeConfigProfilePictureShape::Rounded => ThemeConfigProfilePictureShape::Rounded,
-            ThemeConfigProfilePictureShape::Square => ThemeConfigProfilePictureShape::Square,
+            ThemeConfigProfilePictureShape::Circle => {
+                ThemeConfigProfilePictureShape::Circle
+            }
+            ThemeConfigProfilePictureShape::Rounded => {
+                ThemeConfigProfilePictureShape::Rounded
+            }
+            ThemeConfigProfilePictureShape::Square => {
+                ThemeConfigProfilePictureShape::Square
+            }
             ThemeConfigProfilePictureShape::Other(v) => {
                 ThemeConfigProfilePictureShape::Other(v.into_static())
             }
@@ -1051,7 +1047,8 @@ impl Serialize for ThemeConfigProfilePictureSize {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ThemeConfigProfilePictureSize {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ThemeConfigProfilePictureSize {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -1133,7 +1130,8 @@ impl Serialize for ThemeConfigSocialIconsShape {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ThemeConfigSocialIconsShape {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ThemeConfigSocialIconsShape {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -1169,10 +1167,7 @@ where
 /// A GitHub contributions graph widget card.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct WidgetGithub {
     ///Contribution data for the last year.
     pub contributions: Vec>,
@@ -1284,10 +1279,7 @@ where
 /// A Goodreads bookshelf widget card.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct WidgetGoodreads {
     ///Books on the currently-reading shelf.
     pub books: Vec>,
@@ -1401,10 +1393,7 @@ where
 /// A teal.fm recently played tracks widget card.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct WidgetTealfm {
     ///Copyright notice for cover art images.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -1724,23 +1713,25 @@ impl LexiconSchema for ThemeConfig {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("background_image"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -1797,10 +1788,10 @@ impl LexiconSchema for WidgetTealfm {
 }
 
 fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("me.linkna.linkinbio"),
@@ -1809,9 +1800,11 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("connectedServices"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Saved service credentials/identifiers for pre-filling widget forms.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Saved service credentials/identifiers for pre-filling widget forms.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1825,7 +1818,9 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("goodreadsUserId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Goodreads numeric user ID.")),
+                                description: Some(
+                                    CowStr::new_static("Goodreads numeric user ID."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1837,14 +1832,17 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("githubContributionDay"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A single day's contribution data from GitHub.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("date"),
-                        SmolStr::new_static("count"),
-                        SmolStr::new_static("level"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A single day's contribution data from GitHub.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("date"), SmolStr::new_static("count"),
+                            SmolStr::new_static("level")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1857,7 +1855,9 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("date"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Date in YYYY-MM-DD format.")),
+                                description: Some(
+                                    CowStr::new_static("Date in YYYY-MM-DD format."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1877,11 +1877,12 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("goodreadsBook"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A book from a Goodreads shelf.")),
-                    required: Some(vec![
-                        SmolStr::new_static("title"),
-                        SmolStr::new_static("author"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A book from a Goodreads shelf."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("title"), SmolStr::new_static("author")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1895,18 +1896,18 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("coverUrl"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URL to the book cover image.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URL to the book cover image."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("link"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URL to the book on Goodreads.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URL to the book on Goodreads."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2128,11 +2129,15 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("tealfmPlay"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A recently played track from teal.fm.")),
-                    required: Some(vec![
-                        SmolStr::new_static("trackName"),
-                        SmolStr::new_static("artistName"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A recently played track from teal.fm."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("trackName"),
+                            SmolStr::new_static("artistName")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -2146,25 +2151,31 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("coverUrl"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URL to the album cover image (from Cover Art Archive).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "URL to the album cover image (from Cover Art Archive).",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("originUrl"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URL to the track on the original music service.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "URL to the track on the original music service.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("playedTime"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("When the track was played.")),
+                                description: Some(
+                                    CowStr::new_static("When the track was played."),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -2172,7 +2183,9 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("releaseName"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Album/release name.")),
+                                description: Some(
+                                    CowStr::new_static("Album/release name."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2473,24 +2486,25 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("widgetGithub"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A GitHub contributions graph widget card.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("githubUsername"),
-                        SmolStr::new_static("contributions"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A GitHub contributions graph widget card."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("id"), SmolStr::new_static("type"),
+                            SmolStr::new_static("githubUsername"),
+                            SmolStr::new_static("contributions")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("contributions"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Contribution data for the last year.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Contribution data for the last year."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#githubContributionDay"),
                                     ..Default::default()
@@ -2514,18 +2528,20 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("id"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Unique identifier for the card.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Unique identifier for the card."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("lastSyncedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the contribution data was last fetched from GitHub.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "When the contribution data was last fetched from GitHub.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -2533,9 +2549,9 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("size"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Widget display size. Default: 1x1.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Widget display size. Default: 1x1."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2548,7 +2564,9 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("type"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Card type discriminator.")),
+                                description: Some(
+                                    CowStr::new_static("Card type discriminator."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2560,23 +2578,25 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("widgetGoodreads"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A Goodreads bookshelf widget card.")),
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("goodreadsUserId"),
-                        SmolStr::new_static("shelf"),
-                        SmolStr::new_static("books"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A Goodreads bookshelf widget card."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("id"), SmolStr::new_static("type"),
+                            SmolStr::new_static("goodreadsUserId"),
+                            SmolStr::new_static("shelf"), SmolStr::new_static("books")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("books"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Books on the currently-reading shelf.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Books on the currently-reading shelf."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#goodreadsBook"),
                                     ..Default::default()
@@ -2593,25 +2613,29 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("goodreadsUserId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Goodreads numeric user ID.")),
+                                description: Some(
+                                    CowStr::new_static("Goodreads numeric user ID."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("id"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Unique identifier for the card.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Unique identifier for the card."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("lastSyncedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the book data was last fetched from Goodreads.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "When the book data was last fetched from Goodreads.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -2619,9 +2643,11 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("readBooks"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Books on the read shelf (used by 1x2 size).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Books on the read shelf (used by 1x2 size).",
+                                    ),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#goodreadsBook"),
                                     ..Default::default()
@@ -2632,25 +2658,29 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("shelf"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Shelf name (currently-reading, read, or to-read).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Shelf name (currently-reading, read, or to-read).",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("size"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Widget display size. Default: 1x1.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Widget display size. Default: 1x1."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("type"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Card type discriminator.")),
+                                description: Some(
+                                    CowStr::new_static("Card type discriminator."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2662,23 +2692,26 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("widgetTealfm"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A teal.fm recently played tracks widget card.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("plays"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A teal.fm recently played tracks widget card.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("id"), SmolStr::new_static("type"),
+                            SmolStr::new_static("plays")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("coverArtNotice"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Copyright notice for cover art images.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Copyright notice for cover art images."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2691,18 +2724,20 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("id"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Unique identifier for the card.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Unique identifier for the card."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("lastSyncedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the play data was last fetched from the PDS.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "When the play data was last fetched from the PDS.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -2710,7 +2745,9 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("plays"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static("Recently played tracks.")),
+                                description: Some(
+                                    CowStr::new_static("Recently played tracks."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#tealfmPlay"),
                                     ..Default::default()
@@ -2721,16 +2758,18 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("size"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Widget display size. Default: 1x1.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Widget display size. Default: 1x1."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("type"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Card type discriminator.")),
+                                description: Some(
+                                    CowStr::new_static("Card type discriminator."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2747,7 +2786,7 @@ fn lexicon_doc_me_linkna_linkinbio() -> LexiconDoc<'static> {
 
 pub mod github_contribution_day_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2815,14 +2854,20 @@ pub struct GithubContributionDayBuilder<
 
 impl GithubContributionDay {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GithubContributionDayBuilder {
+    pub fn new() -> GithubContributionDayBuilder<
+        github_contribution_day_state::Empty,
+        DefaultStr,
+    > {
         GithubContributionDayBuilder::new()
     }
 }
 
 impl GithubContributionDay {
     /// Create a new builder for this type
-    pub fn builder() -> GithubContributionDayBuilder {
+    pub fn builder() -> GithubContributionDayBuilder<
+        github_contribution_day_state::Empty,
+        S,
+    > {
         GithubContributionDayBuilder::builder()
     }
 }
@@ -2938,7 +2983,7 @@ where
 
 pub mod linkinbio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3057,12 +3102,18 @@ impl LinkinbioBuilder {
 
 impl LinkinbioBuilder {
     /// Set the `socialIcons` field (optional)
-    pub fn social_icons(mut self, value: impl Into>>>) -> Self {
+    pub fn social_icons(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
     /// Set the `socialIcons` field to an Option value (optional)
-    pub fn maybe_social_icons(mut self, value: Option>>) -> Self {
+    pub fn maybe_social_icons(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -3083,12 +3134,18 @@ impl LinkinbioBuilder {
 
 impl LinkinbioBuilder {
     /// Set the `themeConfig` field (optional)
-    pub fn theme_config(mut self, value: impl Into>>) -> Self {
+    pub fn theme_config(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
     /// Set the `themeConfig` field to an Option value (optional)
-    pub fn maybe_theme_config(mut self, value: Option>) -> Self {
+    pub fn maybe_theme_config(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -3111,7 +3168,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Linkinbio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Linkinbio {
         Linkinbio {
             cards: self._fields.0.unwrap(),
             connected_services: self._fields.1,
@@ -3125,7 +3185,7 @@ where
 
 pub mod social_icon_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3230,7 +3290,10 @@ where
     St::Id: social_icon_state::IsUnset,
 {
     /// Set the `id` field (required)
-    pub fn id(mut self, value: impl Into) -> SocialIconBuilder, S> {
+    pub fn id(
+        mut self,
+        value: impl Into,
+    ) -> SocialIconBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         SocialIconBuilder {
             _state: PhantomData,
@@ -3295,7 +3358,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SocialIcon {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SocialIcon {
         SocialIcon {
             id: self._fields.0.unwrap(),
             platform: self._fields.1.unwrap(),
@@ -3307,7 +3373,7 @@ where
 
 pub mod widget_github_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3582,7 +3648,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> WidgetGithub {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> WidgetGithub {
         WidgetGithub {
             contributions: self._fields.0.unwrap(),
             enabled: self._fields.1,
@@ -3599,7 +3668,7 @@ where
 
 pub mod widget_goodreads_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3690,7 +3759,10 @@ pub mod widget_goodreads_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct WidgetGoodreadsBuilder {
+pub struct WidgetGoodreadsBuilder<
+    St: widget_goodreads_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>>,
@@ -3835,7 +3907,10 @@ impl WidgetGoodreadsBuilder
         self
     }
     /// Set the `readBooks` field to an Option value (optional)
-    pub fn maybe_read_books(mut self, value: Option>>) -> Self {
+    pub fn maybe_read_books(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.5 = value;
         self
     }
@@ -3917,7 +3992,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> WidgetGoodreads {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> WidgetGoodreads {
         WidgetGoodreads {
             books: self._fields.0.unwrap(),
             enabled: self._fields.1,
@@ -3935,7 +4013,7 @@ where
 
 pub mod widget_tealfm_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -4172,7 +4250,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> WidgetTealfm {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> WidgetTealfm {
         WidgetTealfm {
             cover_art_notice: self._fields.0,
             enabled: self._fields.1,
@@ -4184,4 +4265,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/me_linkna/profile.rs b/crates/jacquard-api/src/me_linkna/profile.rs
index 9cd9d055b..18e136f85 100644
--- a/crates/jacquard-api/src/me_linkna/profile.rs
+++ b/crates/jacquard-api/src/me_linkna/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user's custom profile for their Linkname page.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -120,25 +120,31 @@ impl LexiconSchema for Profile {
         if let Some(ref value) = self.avatar {
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp", "image/gif"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/png",
+                    "image/jpeg",
+                    "image/webp",
+                    "image/gif",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
-                            "image/gif".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string(), "image/gif".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -161,7 +167,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -285,10 +291,10 @@ where
 }
 
 fn lexicon_doc_me_linkna_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("me.linkna.profile"),
@@ -297,9 +303,11 @@ fn lexicon_doc_me_linkna_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A user's custom profile for their Linkname page.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A user's custom profile for their Linkname page.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -307,9 +315,7 @@ fn lexicon_doc_me_linkna_profile() -> LexiconDoc<'static> {
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -321,9 +327,11 @@ fn lexicon_doc_me_linkna_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Custom profile description for Linkname page.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Custom profile description for Linkname page.",
+                                        ),
+                                    ),
                                     max_length: Some(256usize),
                                     ..Default::default()
                                 }),
@@ -339,4 +347,4 @@ fn lexicon_doc_me_linkna_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/media_ionosphere.rs b/crates/jacquard-api/src/media_ionosphere.rs
index 6824e0d47..9ba7dc839 100644
--- a/crates/jacquard-api/src/media_ionosphere.rs
+++ b/crates/jacquard-api/src/media_ionosphere.rs
@@ -11,12 +11,13 @@ pub mod log;
 pub mod programme;
 pub mod service;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,19 +28,16 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::media_ionosphere;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::media_ionosphere;
 /// BearerURI as specified in ETSI TS 103 270
 pub type Bearer = UriValue;
 /// Represents the method of accessing a broadcast; i.e. live
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Broadcast {
     pub bearer: media_ionosphere::Bearer,
     ///When used in a list, this can be used to sort the attempted connections or preferred methods  Defaults to `0`.
@@ -60,11 +58,9 @@ pub struct Broadcast {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Credit {
     pub entity: media_ionosphere::Entity,
     ///Self-explanatory, but beware that the expected values may change in future (possibly to match TV-Anytime role classification schema)
@@ -156,11 +152,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Entity {
     pub name: S,
     pub r#type: S,
@@ -172,10 +166,7 @@ pub struct Entity {
 pub type Genre = UriValue;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Geocoordinates {
     pub latitude: S,
     pub longitude: S,
@@ -186,10 +177,7 @@ pub struct Geocoordinates {
 /// Represents membership to a group, optionally with an index
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Membership {
     pub group: AtUri,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -201,10 +189,7 @@ pub struct Membership {
 /// Represents the method of accessing a recording
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Recording {
     pub bearer: media_ionosphere::Bearer,
     ///When used in a list, this can be used to sort the attempted connections or preferred methods  Defaults to `0`.
@@ -221,11 +206,9 @@ pub struct Recording {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Track {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub album: Option,
@@ -429,7 +412,7 @@ fn _default_broadcast_offset() -> Option {
 
 pub mod broadcast_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -596,7 +579,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Broadcast {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Broadcast {
         Broadcast {
             bearer: self._fields.0.unwrap(),
             cost: self._fields.1.or_else(|| Some(0i64)),
@@ -609,10 +595,10 @@ where
 }
 
 fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("media.ionosphere.defs"),
@@ -621,9 +607,9 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("bearer"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static(
-                        "BearerURI as specified in ETSI TS 103 270",
-                    )),
+                    description: Some(
+                        CowStr::new_static("BearerURI as specified in ETSI TS 103 270"),
+                    ),
                     format: Some(LexStringFormat::Uri),
                     ..Default::default()
                 }),
@@ -631,9 +617,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("broadcast"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Represents the method of accessing a broadcast; i.e. live",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Represents the method of accessing a broadcast; i.e. live",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("bearer")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -654,9 +642,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("from"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The datetime from which this method is available",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The datetime from which this method is available",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -670,9 +660,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("until"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The datetime where this method is no longer available",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The datetime where this method is no longer available",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -718,10 +710,9 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("entity"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("name"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("type"), SmolStr::new_static("name")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -759,10 +750,12 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("geocoordinates"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("latitude"),
-                        SmolStr::new_static("longitude"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("latitude"),
+                            SmolStr::new_static("longitude")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -788,9 +781,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("membership"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Represents membership to a group, optionally with an index",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Represents membership to a group, optionally with an index",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("group")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -816,9 +811,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("recording"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Represents the method of accessing a recording",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Represents the method of accessing a recording",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("bearer")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -839,9 +836,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("from"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The datetime from which this method is available",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The datetime from which this method is available",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -849,9 +848,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("until"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The datetime where this method is no longer available",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The datetime where this method is no longer available",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -864,10 +865,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("track"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("title"),
-                        SmolStr::new_static("artists"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("title"), SmolStr::new_static("artists")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -881,9 +883,11 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("artists"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Artists in order of importance to the track",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Artists in order of importance to the track",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     max_length: Some(256usize),
                                     ..Default::default()
@@ -911,7 +915,7 @@ fn lexicon_doc_media_ionosphere_defs() -> LexiconDoc<'static> {
 
 pub mod credit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1060,7 +1064,7 @@ where
 
 pub mod membership_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1179,7 +1183,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Membership {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Membership {
         Membership {
             group: self._fields.0.unwrap(),
             index: self._fields.1,
@@ -1194,7 +1201,7 @@ fn _default_recording_cost() -> Option {
 
 pub mod recording_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1346,7 +1353,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Recording {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Recording {
         Recording {
             bearer: self._fields.0.unwrap(),
             cost: self._fields.1.or_else(|| Some(0i64)),
@@ -1359,7 +1369,7 @@ where
 
 pub mod track_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1482,7 +1492,10 @@ where
     St::Title: track_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> TrackBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> TrackBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         TrackBuilder {
             _state: PhantomData,
@@ -1516,4 +1529,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/media_ionosphere/group.rs b/crates/jacquard-api/src/media_ionosphere/group.rs
index 7c6062b14..16df7b9d9 100644
--- a/crates/jacquard-api/src/media_ionosphere/group.rs
+++ b/crates/jacquard-api/src/media_ionosphere/group.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::media_ionosphere::Genre;
-use crate::media_ionosphere::Membership;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::media_ionosphere::Genre;
+use crate::media_ionosphere::Membership;
 /// Represents a grouping of subgroups or programmes
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -231,16 +231,19 @@ impl LexiconSchema for Group {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("icon"),
@@ -290,7 +293,7 @@ impl LexiconSchema for Group {
 
 pub mod group_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -521,7 +524,10 @@ where
     St::Name: group_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> GroupBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> GroupBuilder, S> {
         self._fields.8 = Option::Some(value.into());
         GroupBuilder {
             _state: PhantomData,
@@ -571,10 +577,10 @@ where
 }
 
 fn lexicon_doc_media_ionosphere_group() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("media.ionosphere.group"),
@@ -697,4 +703,4 @@ fn lexicon_doc_media_ionosphere_group() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/media_ionosphere/log.rs b/crates/jacquard-api/src/media_ionosphere/log.rs
index a300318f9..19d770505 100644
--- a/crates/jacquard-api/src/media_ionosphere/log.rs
+++ b/crates/jacquard-api/src/media_ionosphere/log.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::media_ionosphere::Track;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::media_ionosphere::Track;
 /// Represents information about what was played
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -121,7 +121,7 @@ impl LexiconSchema for Log {
 
 pub mod log_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -180,12 +180,7 @@ pub mod log_state {
 /// Builder for constructing an instance of this type.
 pub struct LogBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -269,7 +264,10 @@ where
     St::Item: log_state::IsUnset,
 {
     /// Set the `item` field (required)
-    pub fn item(mut self, value: impl Into>) -> LogBuilder, S> {
+    pub fn item(
+        mut self,
+        value: impl Into>,
+    ) -> LogBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         LogBuilder {
             _state: PhantomData,
@@ -322,10 +320,10 @@ where
 }
 
 fn lexicon_doc_media_ionosphere_log() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("media.ionosphere.log"),
@@ -334,16 +332,20 @@ fn lexicon_doc_media_ionosphere_log() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Represents information about what was played",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Represents information about what was played",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("ionosphere"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("item"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("ionosphere"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("item")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -365,16 +367,18 @@ fn lexicon_doc_media_ionosphere_log() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("item"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    refs: vec![CowStr::new_static("media.ionosphere.defs#track")],
+                                    refs: vec![
+                                        CowStr::new_static("media.ionosphere.defs#track")
+                                    ],
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("programme"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The programme this log is a part of",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The programme this log is a part of"),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -390,4 +394,4 @@ fn lexicon_doc_media_ionosphere_log() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/media_ionosphere/programme.rs b/crates/jacquard-api/src/media_ionosphere/programme.rs
index 3e89f71c3..8497d325e 100644
--- a/crates/jacquard-api/src/media_ionosphere/programme.rs
+++ b/crates/jacquard-api/src/media_ionosphere/programme.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,14 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::media_ionosphere::Broadcast;
 use crate::media_ionosphere::Credit;
 use crate::media_ionosphere::Genre;
 use crate::media_ionosphere::Membership;
 use crate::media_ionosphere::Recording;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A programme represents an individual piece of media. It does not represent a long-running show.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -69,6 +69,7 @@ pub struct Programme {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub enum ProgrammeDeliveryItem {
@@ -147,16 +148,19 @@ impl LexiconSchema for Programme {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("icon"),
@@ -196,7 +200,7 @@ impl LexiconSchema for Programme {
 
 pub mod programme_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -290,9 +294,7 @@ impl ProgrammeBuilder {
     pub fn new() -> Self {
         ProgrammeBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -303,9 +305,7 @@ impl ProgrammeBuilder {
     pub fn builder() -> Self {
         ProgrammeBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -326,12 +326,18 @@ impl ProgrammeBuilder {
 
 impl ProgrammeBuilder {
     /// Set the `delivery` field (optional)
-    pub fn delivery(mut self, value: impl Into>>>) -> Self {
+    pub fn delivery(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `delivery` field to an Option value (optional)
-    pub fn maybe_delivery(mut self, value: Option>>) -> Self {
+    pub fn maybe_delivery(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -497,7 +503,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Programme {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Programme {
         Programme {
             credits: self._fields.0,
             delivery: self._fields.1,
@@ -516,10 +525,10 @@ where
 }
 
 fn lexicon_doc_media_ionosphere_programme() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("media.ionosphere.programme"),
@@ -661,4 +670,4 @@ fn lexicon_doc_media_ionosphere_programme() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/media_ionosphere/service.rs b/crates/jacquard-api/src/media_ionosphere/service.rs
index a681161d5..80e2e65c5 100644
--- a/crates/jacquard-api/src/media_ionosphere/service.rs
+++ b/crates/jacquard-api/src/media_ionosphere/service.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,12 +25,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::media_ionosphere::Broadcast;
 use crate::media_ionosphere::Genre;
 use crate::media_ionosphere::Geocoordinates;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Represents the service belonging to this PDS
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -134,16 +134,19 @@ impl LexiconSchema for Service {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("icon"),
@@ -183,7 +186,7 @@ impl LexiconSchema for Service {
 
 pub mod service_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -415,7 +418,10 @@ where
     St::Name: service_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ServiceBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ServiceBuilder, S> {
         self._fields.8 = Option::Some(value.into());
         ServiceBuilder {
             _state: PhantomData,
@@ -480,10 +486,10 @@ where
 }
 
 fn lexicon_doc_media_ionosphere_service() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("media.ionosphere.service"),
@@ -610,4 +616,4 @@ fn lexicon_doc_media_ionosphere_service() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/moe_karashiiro.rs b/crates/jacquard-api/src/moe_karashiiro.rs
index 59db109ea..bb0328d2d 100644
--- a/crates/jacquard-api/src/moe_karashiiro.rs
+++ b/crates/jacquard-api/src/moe_karashiiro.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `moe.karashiiro` Lexicon namespace/module.
-pub mod kpaste;
+pub mod kpaste;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/moe_karashiiro/kpaste.rs b/crates/jacquard-api/src/moe_karashiiro/kpaste.rs
index 9989dfa8d..b841f20f9 100644
--- a/crates/jacquard-api/src/moe_karashiiro/kpaste.rs
+++ b/crates/jacquard-api/src/moe_karashiiro/kpaste.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `moe.karashiiro.kpaste` Lexicon namespace/module.
-pub mod paste;
+pub mod paste;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/moe_karashiiro/kpaste/paste.rs b/crates/jacquard-api/src/moe_karashiiro/kpaste/paste.rs
index 267f81722..7452cd637 100644
--- a/crates/jacquard-api/src/moe_karashiiro/kpaste/paste.rs
+++ b/crates/jacquard-api/src/moe_karashiiro/kpaste/paste.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -128,16 +128,19 @@ impl LexiconSchema for Paste {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["text/plain", "text/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("content"),
@@ -177,7 +180,7 @@ fn _default_paste_language() -> ::core::option::Option {
 
 pub mod paste_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -376,10 +379,10 @@ where
 }
 
 fn lexicon_doc_moe_karashiiro_kpaste_paste() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("moe.karashiiro.kpaste.paste"),
@@ -459,4 +462,4 @@ fn lexicon_doc_moe_karashiiro_kpaste_paste() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/mov_danabra.rs b/crates/jacquard-api/src/mov_danabra.rs
index 56dcb8df9..cfa762e76 100644
--- a/crates/jacquard-api/src/mov_danabra.rs
+++ b/crates/jacquard-api/src/mov_danabra.rs
@@ -9,4 +9,4 @@ pub mod greeting;
 pub mod post;
 pub mod post_embed;
 pub mod profile_header;
-pub mod profile_tab;
+pub mod profile_tab;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/mov_danabra/avi_handle.rs b/crates/jacquard-api/src/mov_danabra/avi_handle.rs
index 5d2f86a1f..04dc4a1a1 100644
--- a/crates/jacquard-api/src/mov_danabra/avi_handle.rs
+++ b/crates/jacquard-api/src/mov_danabra/avi_handle.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AviHandle {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AviHandleOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for AviHandleResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for AviHandle {
     const NSID: &'static str = "mov.danabra.AviHandle";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = AviHandleResponse;
 }
 
@@ -65,15 +61,16 @@ Path: `/xrpc/mov.danabra.AviHandle`. The request payload type is `AviHandle`;
 pub struct AviHandleRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for AviHandleRequest {
     const PATH: &'static str = "/xrpc/mov.danabra.AviHandle";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = AviHandle;
     type Response = AviHandleResponse;
 }
 
 pub mod avi_handle_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -178,10 +175,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AviHandle {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AviHandle {
         AviHandle {
             uri: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/mov_danabra/greeting.rs b/crates/jacquard-api/src/mov_danabra/greeting.rs
index 591555e46..bd9173969 100644
--- a/crates/jacquard-api/src/mov_danabra/greeting.rs
+++ b/crates/jacquard-api/src/mov_danabra/greeting.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Greeting {
     ///Name to greet.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -30,11 +27,9 @@ pub struct Greeting {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GreetingOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for GreetingResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Greeting {
     const NSID: &'static str = "mov.danabra.Greeting";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = GreetingResponse;
 }
 
@@ -66,8 +62,9 @@ Path: `/xrpc/mov.danabra.Greeting`. The request payload type is `Greeting`; s
 pub struct GreetingRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for GreetingRequest {
     const PATH: &'static str = "/xrpc/mov.danabra.Greeting";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Greeting;
     type Response = GreetingResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/mov_danabra/post.rs b/crates/jacquard-api/src/mov_danabra/post.rs
index 8c7e93205..718e3862b 100644
--- a/crates/jacquard-api/src/mov_danabra/post.rs
+++ b/crates/jacquard-api/src/mov_danabra/post.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Post {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub foo: Option>,
@@ -31,6 +28,7 @@ pub struct Post {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum PostFoo {
     Bar,
@@ -108,11 +106,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PostOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -133,8 +129,9 @@ impl jacquard_common::xrpc::XrpcResp for PostResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Post {
     const NSID: &'static str = "mov.danabra.Post";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PostResponse;
 }
 
@@ -144,15 +141,16 @@ Path: `/xrpc/mov.danabra.Post`. The request payload type is `Post`; send that
 pub struct PostRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PostRequest {
     const PATH: &'static str = "/xrpc/mov.danabra.Post";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Post;
     type Response = PostResponse;
 }
 
 pub mod post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -244,7 +242,10 @@ where
     St::Uri: post_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> PostBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> PostBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -275,4 +276,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/mov_danabra/post_embed.rs b/crates/jacquard-api/src/mov_danabra/post_embed.rs
index ab38fac94..97f5e0a35 100644
--- a/crates/jacquard-api/src/mov_danabra/post_embed.rs
+++ b/crates/jacquard-api/src/mov_danabra/post_embed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PostEmbed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub foo: Option,
@@ -31,11 +28,9 @@ pub struct PostEmbed {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PostEmbedOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for PostEmbedResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PostEmbed {
     const NSID: &'static str = "mov.danabra.PostEmbed";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PostEmbedResponse;
 }
 
@@ -67,15 +63,16 @@ Path: `/xrpc/mov.danabra.PostEmbed`. The request payload type is `PostEmbed`;
 pub struct PostEmbedRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PostEmbedRequest {
     const PATH: &'static str = "/xrpc/mov.danabra.PostEmbed";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PostEmbed;
     type Response = PostEmbedResponse;
 }
 
 pub mod post_embed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -194,11 +191,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PostEmbed {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PostEmbed {
         PostEmbed {
             foo: self._fields.0,
             uri: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/mov_danabra/profile_header.rs b/crates/jacquard-api/src/mov_danabra/profile_header.rs
index 91e246061..ce4b680f4 100644
--- a/crates/jacquard-api/src/mov_danabra/profile_header.rs
+++ b/crates/jacquard-api/src/mov_danabra/profile_header.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileHeader {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileHeaderOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for ProfileHeaderResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ProfileHeader {
     const NSID: &'static str = "mov.danabra.ProfileHeader";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ProfileHeaderResponse;
 }
 
@@ -65,15 +61,16 @@ Path: `/xrpc/mov.danabra.ProfileHeader`. The request payload type is `ProfileHea
 pub struct ProfileHeaderRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ProfileHeaderRequest {
     const PATH: &'static str = "/xrpc/mov.danabra.ProfileHeader";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ProfileHeader;
     type Response = ProfileHeaderResponse;
 }
 
 pub mod profile_header_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -104,7 +101,10 @@ pub mod profile_header_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ProfileHeaderBuilder {
+pub struct ProfileHeaderBuilder<
+    St: profile_header_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -178,10 +178,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileHeader {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileHeader {
         ProfileHeader {
             uri: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/mov_danabra/profile_tab.rs b/crates/jacquard-api/src/mov_danabra/profile_tab.rs
index bf7818afc..484fb98a8 100644
--- a/crates/jacquard-api/src/mov_danabra/profile_tab.rs
+++ b/crates/jacquard-api/src/mov_danabra/profile_tab.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileTab {
     /// Defaults to `10`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -34,6 +31,7 @@ pub struct ProfileTab {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ProfileTabTab {
     PostsAndAuthorThreads,
@@ -111,11 +109,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileTabOutput {
     #[serde(flatten)]
     pub value: Data,
@@ -136,8 +132,9 @@ impl jacquard_common::xrpc::XrpcResp for ProfileTabResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ProfileTab {
     const NSID: &'static str = "mov.danabra.ProfileTab";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ProfileTabResponse;
 }
 
@@ -147,8 +144,9 @@ Path: `/xrpc/mov.danabra.ProfileTab`. The request payload type is `ProfileTab
 pub struct ProfileTabRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ProfileTabRequest {
     const PATH: &'static str = "/xrpc/mov.danabra.ProfileTab";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ProfileTab;
     type Response = ProfileTabResponse;
 }
@@ -159,7 +157,7 @@ fn _default_profile_tab_limit() -> Option {
 
 pub mod profile_tab_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -292,7 +290,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileTab {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileTab {
         ProfileTab {
             limit: self._fields.0.or_else(|| Some(10i64)),
             tab: self._fields.1,
@@ -300,4 +301,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/my_skylights.rs b/crates/jacquard-api/src/my_skylights.rs
index d8022326a..ef0927128 100644
--- a/crates/jacquard-api/src/my_skylights.rs
+++ b/crates/jacquard-api/src/my_skylights.rs
@@ -10,9 +10,10 @@ pub mod list;
 pub mod list_item;
 pub mod rel;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,13 +25,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Item {
     pub r#ref: ItemRef,
     pub value: S,
@@ -38,6 +36,7 @@ pub struct Item {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ItemRef {
     OpenLibrary,
@@ -135,10 +134,10 @@ impl LexiconSchema for Item {
 }
 
 fn lexicon_doc_my_skylights_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("my.skylights.defs"),
@@ -147,24 +146,19 @@ fn lexicon_doc_my_skylights_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("item"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("ref"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("ref"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("ref"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("value"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -175,4 +169,4 @@ fn lexicon_doc_my_skylights_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/my_skylights/list.rs b/crates/jacquard-api/src/my_skylights/list.rs
index fa88a5c34..e16c1e90c 100644
--- a/crates/jacquard-api/src/my_skylights/list.rs
+++ b/crates/jacquard-api/src/my_skylights/list.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,13 +20,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct List {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub created_at: Option,
@@ -39,6 +36,7 @@ pub struct List {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ListSortBy {
     Position,
@@ -132,10 +130,10 @@ impl LexiconSchema for List {
 }
 
 fn lexicon_doc_my_skylights_list() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("my.skylights.list"),
@@ -157,21 +155,15 @@ fn lexicon_doc_my_skylights_list() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("sortBy"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -182,4 +174,4 @@ fn lexicon_doc_my_skylights_list() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/my_skylights/list_item.rs b/crates/jacquard-api/src/my_skylights/list_item.rs
index 04e808659..16c294a81 100644
--- a/crates/jacquard-api/src/my_skylights/list_item.rs
+++ b/crates/jacquard-api/src/my_skylights/list_item.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,12 +21,12 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::my_skylights::Item;
 use crate::my_skylights::list::List;
 use crate::my_skylights::list_item;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// User gave up on finishing the item
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -37,11 +37,9 @@ impl core::fmt::Display for Abandoned {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Builtin {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub r#type: Option>,
@@ -49,6 +47,7 @@ pub struct Builtin {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -75,11 +74,9 @@ impl core::fmt::Display for InProgress {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     pub added_at: Datetime,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -92,6 +89,7 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -163,10 +161,10 @@ impl LexiconSchema for ListItem {
 }
 
 fn lexicon_doc_my_skylights_listItem() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("my.skylights.listItem"),
@@ -174,9 +172,7 @@ fn lexicon_doc_my_skylights_listItem() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("abandoned"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("builtin"),
@@ -192,7 +188,7 @@ fn lexicon_doc_my_skylights_listItem() -> LexiconDoc<'static> {
                                     CowStr::new_static("my.skylights.listItem#queue"),
                                     CowStr::new_static("my.skylights.listItem#abandoned"),
                                     CowStr::new_static("my.skylights.listItem#owned"),
-                                    CowStr::new_static("my.skylights.listItem#wishlist"),
+                                    CowStr::new_static("my.skylights.listItem#wishlist")
                                 ],
                                 ..Default::default()
                             }),
@@ -204,18 +200,17 @@ fn lexicon_doc_my_skylights_listItem() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("inProgress"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("list"),
-                        SmolStr::new_static("addedAt"),
-                        SmolStr::new_static("position"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("list"), SmolStr::new_static("addedAt"),
+                            SmolStr::new_static("position")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -238,22 +233,18 @@ fn lexicon_doc_my_skylights_listItem() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("my.skylights.list"),
-                                    CowStr::new_static("#builtin"),
+                                    CowStr::new_static("#builtin")
                                 ],
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("note"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("position"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -262,21 +253,15 @@ fn lexicon_doc_my_skylights_listItem() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("owned"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("queue"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("wishlist"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map
         },
@@ -286,7 +271,7 @@ fn lexicon_doc_my_skylights_listItem() -> LexiconDoc<'static> {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -503,4 +488,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/my_skylights/rel.rs b/crates/jacquard-api/src/my_skylights/rel.rs
index 1b35a08eb..19785c5ec 100644
--- a/crates/jacquard-api/src/my_skylights/rel.rs
+++ b/crates/jacquard-api/src/my_skylights/rel.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::my_skylights::Item;
-use crate::my_skylights::rel;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::my_skylights::Item;
+use crate::my_skylights::rel;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -60,11 +60,9 @@ pub struct RelGetRecordOutput {
     pub value: Rel,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Note {
     pub created_at: Datetime,
     pub updated_at: Datetime,
@@ -73,11 +71,9 @@ pub struct Note {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Rating {
     pub created_at: Datetime,
     pub value: i64,
@@ -185,7 +181,7 @@ impl LexiconSchema for Rating {
 
 pub mod rel_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -282,7 +278,10 @@ where
     St::Item: rel_state::IsUnset,
 {
     /// Set the `item` field (required)
-    pub fn item(mut self, value: impl Into>) -> RelBuilder, S> {
+    pub fn item(
+        mut self,
+        value: impl Into>,
+    ) -> RelBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         RelBuilder {
             _state: PhantomData,
@@ -346,10 +345,10 @@ where
 }
 
 fn lexicon_doc_my_skylights_rel() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("my.skylights.rel"),
@@ -405,11 +404,13 @@ fn lexicon_doc_my_skylights_rel() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("note"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("value"),
-                        SmolStr::new_static("createdAt"),
-                        SmolStr::new_static("updatedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("value"),
+                            SmolStr::new_static("createdAt"),
+                            SmolStr::new_static("updatedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -429,9 +430,7 @@ fn lexicon_doc_my_skylights_rel() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("value"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -441,10 +440,12 @@ fn lexicon_doc_my_skylights_rel() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rating"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("value"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("value"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -476,7 +477,7 @@ fn lexicon_doc_my_skylights_rel() -> LexiconDoc<'static> {
 
 pub mod note_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -619,7 +620,10 @@ where
     St::Value: note_state::IsUnset,
 {
     /// Set the `value` field (required)
-    pub fn value(mut self, value: impl Into) -> NoteBuilder, S> {
+    pub fn value(
+        mut self,
+        value: impl Into,
+    ) -> NoteBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         NoteBuilder {
             _state: PhantomData,
@@ -658,7 +662,7 @@ where
 
 pub mod rating_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -768,7 +772,10 @@ where
     St::Value: rating_state::IsUnset,
 {
     /// Set the `value` field (required)
-    pub fn value(mut self, value: impl Into) -> RatingBuilder, S> {
+    pub fn value(
+        mut self,
+        value: impl Into,
+    ) -> RatingBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         RatingBuilder {
             _state: PhantomData,
@@ -800,4 +807,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_aftertheinter.rs b/crates/jacquard-api/src/net_aftertheinter.rs
index 11c094b60..fefa72746 100644
--- a/crates/jacquard-api/src/net_aftertheinter.rs
+++ b/crates/jacquard-api/src/net_aftertheinter.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.aftertheinter` Lexicon namespace/module.
-pub mod coolthingtwo;
+pub mod coolthingtwo;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_aftertheinter/coolthingtwo.rs b/crates/jacquard-api/src/net_aftertheinter/coolthingtwo.rs
index dd9ae2c66..7fa50c649 100644
--- a/crates/jacquard-api/src/net_aftertheinter/coolthingtwo.rs
+++ b/crates/jacquard-api/src/net_aftertheinter/coolthingtwo.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -138,7 +138,7 @@ impl LexiconSchema for Coolthingtwo {
 
 pub mod coolthingtwo_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -276,7 +276,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Coolthingtwo {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Coolthingtwo {
         Coolthingtwo {
             created_at: self._fields.0.unwrap(),
             status: self._fields.1.unwrap(),
@@ -286,10 +289,10 @@ where
 }
 
 fn lexicon_doc_net_aftertheinter_coolthingtwo() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.aftertheinter.coolthingtwo"),
@@ -300,10 +303,12 @@ fn lexicon_doc_net_aftertheinter_coolthingtwo() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("status"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("status"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -334,4 +339,4 @@ fn lexicon_doc_net_aftertheinter_coolthingtwo() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_alternativeproto.rs b/crates/jacquard-api/src/net_alternativeproto.rs
index 5a81c1f8d..7cd7bfbcd 100644
--- a/crates/jacquard-api/src/net_alternativeproto.rs
+++ b/crates/jacquard-api/src/net_alternativeproto.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `net.alternativeproto` Lexicon namespace/module.
 pub mod review;
 pub mod submission;
-pub mod vote;
+pub mod vote;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_alternativeproto/review.rs b/crates/jacquard-api/src/net_alternativeproto/review.rs
index 094a28c15..23350ea73 100644
--- a/crates/jacquard-api/src/net_alternativeproto/review.rs
+++ b/crates/jacquard-api/src/net_alternativeproto/review.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user review of an AlternativeProto project
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -154,7 +154,7 @@ impl LexiconSchema for Review {
 
 pub mod review_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -332,7 +332,10 @@ where
     St::Text: review_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> ReviewBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> ReviewBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         ReviewBuilder {
             _state: PhantomData,
@@ -373,10 +376,10 @@ where
 }
 
 fn lexicon_doc_net_alternativeproto_review() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.alternativeproto.review"),
@@ -455,4 +458,4 @@ fn lexicon_doc_net_alternativeproto_review() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_alternativeproto/submission.rs b/crates/jacquard-api/src/net_alternativeproto/submission.rs
index d02e9cbbb..9b7fd7ed8 100644
--- a/crates/jacquard-api/src/net_alternativeproto/submission.rs
+++ b/crates/jacquard-api/src/net_alternativeproto/submission.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A user submission of a project to AlternativeProto
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -239,26 +239,27 @@ impl LexiconSchema for Submission {
                     "image/x-icon",
                     "image/vnd.microsoft.icon",
                 ];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("icon"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
-                            "image/svg+xml".to_string(),
-                            "image/x-icon".to_string(),
-                            "image/vnd.microsoft.icon".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string(), "image/svg+xml".to_string(),
+                            "image/x-icon".to_string(), "image/vnd.microsoft.icon"
+                            .to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -282,7 +283,7 @@ impl LexiconSchema for Submission {
 
 pub mod submission_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -612,7 +613,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Submission {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Submission {
         Submission {
             alternative_to: self._fields.0,
             auth_type: self._fields.1.unwrap(),
@@ -630,10 +634,10 @@ where
 }
 
 fn lexicon_doc_net_alternativeproto_submission() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.alternativeproto.submission"),
@@ -642,27 +646,32 @@ fn lexicon_doc_net_alternativeproto_submission() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A user submission of a project to AlternativeProto",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A user submission of a project to AlternativeProto",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("url"),
-                            SmolStr::new_static("authType"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("url"), SmolStr::new_static("authType"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("alternativeTo"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Services this project is an alternative to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Services this project is an alternative to",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         max_length: Some(100usize),
                                         ..Default::default()
@@ -673,18 +682,22 @@ fn lexicon_doc_net_alternativeproto_submission() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("authType"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Authentication method used by the project",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Authentication method used by the project",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the submission was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when the submission was created",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -692,18 +705,16 @@ fn lexicon_doc_net_alternativeproto_submission() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Description of the project",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Description of the project"),
+                                    ),
                                     max_length: Some(5000usize),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("icon"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("isOpenSource"),
@@ -722,9 +733,9 @@ fn lexicon_doc_net_alternativeproto_submission() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("repositoryUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Source code repository URL",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Source code repository URL"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -732,9 +743,9 @@ fn lexicon_doc_net_alternativeproto_submission() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("tags"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Tags for categorization",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Tags for categorization"),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         max_length: Some(50usize),
                                         ..Default::default()
@@ -761,4 +772,4 @@ fn lexicon_doc_net_alternativeproto_submission() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_alternativeproto/vote.rs b/crates/jacquard-api/src/net_alternativeproto/vote.rs
index 5cbe8a705..755573c58 100644
--- a/crates/jacquard-api/src/net_alternativeproto/vote.rs
+++ b/crates/jacquard-api/src/net_alternativeproto/vote.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A user vote on a submission to AlternativeProto. Each user may cast one vote per submission.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -188,7 +188,7 @@ impl LexiconSchema for Vote {
 
 pub mod vote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -247,11 +247,7 @@ pub mod vote_state {
 /// Builder for constructing an instance of this type.
 pub struct VoteBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -376,10 +372,10 @@ where
 }
 
 fn lexicon_doc_net_alternativeproto_vote() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.alternativeproto.vote"),
@@ -444,4 +440,4 @@ fn lexicon_doc_net_alternativeproto_vote() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_altq.rs b/crates/jacquard-api/src/net_altq.rs
index 9e903ab41..3d42f93c7 100644
--- a/crates/jacquard-api/src/net_altq.rs
+++ b/crates/jacquard-api/src/net_altq.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.altq` Lexicon namespace/module.
-pub mod aqfile;
+pub mod aqfile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_altq/aqfile.rs b/crates/jacquard-api/src/net_altq/aqfile.rs
index 80fea5a2d..02f647c38 100644
--- a/crates/jacquard-api/src/net_altq/aqfile.rs
+++ b/crates/jacquard-api/src/net_altq/aqfile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,17 +26,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_altq::aqfile;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_altq::aqfile;
 /// Cryptographic checksum for integrity verification.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Checksum {
     ///Hash algorithm name.
     pub algo: ChecksumAlgo,
@@ -132,10 +129,7 @@ where
 /// File metadata describing the uploaded blob.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct File {
     ///MIME type, e.g. 'video/mp4'.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -343,16 +337,19 @@ impl LexiconSchema for Aqfile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -367,10 +364,10 @@ impl LexiconSchema for Aqfile {
 }
 
 fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.altq.aqfile"),
@@ -379,20 +376,23 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("checksum"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Cryptographic checksum for integrity verification.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("algo"),
-                        SmolStr::new_static("hash"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Cryptographic checksum for integrity verification.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("algo"), SmolStr::new_static("hash")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("algo"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Hash algorithm name.")),
+                                description: Some(
+                                    CowStr::new_static("Hash algorithm name."),
+                                ),
                                 max_length: Some(32usize),
                                 ..Default::default()
                             }),
@@ -400,9 +400,11 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("hash"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Hex or base64 encoded digest produced by the algorithm.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Hex or base64 encoded digest produced by the algorithm.",
+                                    ),
+                                ),
                                 max_length: Some(128usize),
                                 ..Default::default()
                             }),
@@ -415,22 +417,21 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("file"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "File metadata describing the uploaded blob.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("size"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("File metadata describing the uploaded blob."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("size")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("mimeType"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "MIME type, e.g. 'video/mp4'.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("MIME type, e.g. 'video/mp4'."),
+                                ),
                                 max_length: Some(255usize),
                                 ..Default::default()
                             }),
@@ -438,9 +439,9 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("modifiedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Client-side last-modified timestamp.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Client-side last-modified timestamp."),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -448,7 +449,9 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("User-visible filename.")),
+                                description: Some(
+                                    CowStr::new_static("User-visible filename."),
+                                ),
                                 max_length: Some(512usize),
                                 ..Default::default()
                             }),
@@ -469,34 +472,38 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A record representing an uploaded file blob with metadata.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A record representing an uploaded file blob with metadata.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("blob"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("file"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("blob"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("file")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("attribution"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Handle or DID of the account to attribute this upload to.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Handle or DID of the account to attribute this upload to.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtIdentifier),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("blob"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("checksum"),
@@ -508,9 +515,11 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when this record was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when this record was created.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -537,7 +546,7 @@ fn lexicon_doc_net_altq_aqfile() -> LexiconDoc<'static> {
 
 pub mod file_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -654,7 +663,10 @@ where
     St::Name: file_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> FileBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> FileBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         FileBuilder {
             _state: PhantomData,
@@ -670,7 +682,10 @@ where
     St::Size: file_state::IsUnset,
 {
     /// Set the `size` field (required)
-    pub fn size(mut self, value: impl Into) -> FileBuilder, S> {
+    pub fn size(
+        mut self,
+        value: impl Into,
+    ) -> FileBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         FileBuilder {
             _state: PhantomData,
@@ -710,7 +725,7 @@ where
 
 pub mod aqfile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -927,4 +942,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota.rs b/crates/jacquard-api/src/net_anisota.rs
index eac361845..992415bba 100644
--- a/crates/jacquard-api/src/net_anisota.rs
+++ b/crates/jacquard-api/src/net_anisota.rs
@@ -9,4 +9,4 @@ pub mod beta;
 pub mod feed;
 pub mod graph;
 pub mod harvest;
-pub mod settings;
+pub mod settings;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/auth_full_app.rs b/crates/jacquard-api/src/net_anisota/auth_full_app.rs
index 8efd1e6e7..8fa6fb8d8 100644
--- a/crates/jacquard-api/src/net_anisota/auth_full_app.rs
+++ b/crates/jacquard-api/src/net_anisota/auth_full_app.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta.rs b/crates/jacquard-api/src/net_anisota/beta.rs
index cfe540ad6..25c34d1e5 100644
--- a/crates/jacquard-api/src/net_anisota/beta.rs
+++ b/crates/jacquard-api/src/net_anisota/beta.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.anisota.beta` Lexicon namespace/module.
-pub mod game;
+pub mod game;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta/game.rs b/crates/jacquard-api/src/net_anisota/beta/game.rs
index 05a793f8f..2447c548b 100644
--- a/crates/jacquard-api/src/net_anisota/beta/game.rs
+++ b/crates/jacquard-api/src/net_anisota/beta/game.rs
@@ -9,4 +9,4 @@ pub mod inventory;
 pub mod log;
 pub mod pack;
 pub mod progress;
-pub mod session;
+pub mod session;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta/game/collection.rs b/crates/jacquard-api/src/net_anisota/beta/game/collection.rs
index fa187ab85..5ecd1104a 100644
--- a/crates/jacquard-api/src/net_anisota/beta/game/collection.rs
+++ b/crates/jacquard-api/src/net_anisota/beta/game/collection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::beta::game::collection;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::beta::game::collection;
 /// Beta version: Record representing a collected specimen in a player's collection
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -101,10 +101,7 @@ pub struct CollectionGetRecordOutput {
 /// Additional details about how the specimen was acquired
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SourceDetails {
     ///Number of attempts before successful capture
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -125,10 +122,7 @@ pub struct SourceDetails {
 /// Complete specimen information
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SpecimenData {
     ///Scientific authorship of the species
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -291,7 +285,7 @@ impl LexiconSchema for SpecimenData {
 
 pub mod collection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -408,8 +402,23 @@ impl CollectionBuilder {
         CollectionBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -422,8 +431,23 @@ impl CollectionBuilder {
         CollectionBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -614,7 +638,10 @@ impl CollectionBuilder {
         self
     }
     /// Set the `sourceDetails` field to an Option value (optional)
-    pub fn maybe_source_details(mut self, value: Option>) -> Self {
+    pub fn maybe_source_details(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.12 = value;
         self
     }
@@ -635,12 +662,18 @@ impl CollectionBuilder {
 
 impl CollectionBuilder {
     /// Set the `specimenData` field (optional)
-    pub fn specimen_data(mut self, value: impl Into>>) -> Self {
+    pub fn specimen_data(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.14 = value.into();
         self
     }
     /// Set the `specimenData` field to an Option value (optional)
-    pub fn maybe_specimen_data(mut self, value: Option>) -> Self {
+    pub fn maybe_specimen_data(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.14 = value;
         self
     }
@@ -710,7 +743,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collection {
         Collection {
             acquired_at: self._fields.0.unwrap(),
             common_name: self._fields.1,
@@ -735,10 +771,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_beta_game_collection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.beta.game.collection"),
@@ -983,25 +1019,27 @@ fn lexicon_doc_net_anisota_beta_game_collection() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("specimenData"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Complete specimen information")),
+                    description: Some(
+                        CowStr::new_static("Complete specimen information"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("authorship"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Scientific authorship of the species",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Scientific authorship of the species"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("description"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Detailed description of the specimen",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Detailed description of the specimen"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1014,4 +1052,4 @@ fn lexicon_doc_net_anisota_beta_game_collection() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta/game/inventory.rs b/crates/jacquard-api/src/net_anisota/beta/game/inventory.rs
index df5bb9b52..eb3d2e282 100644
--- a/crates/jacquard-api/src/net_anisota/beta/game/inventory.rs
+++ b/crates/jacquard-api/src/net_anisota/beta/game/inventory.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::beta::game::inventory;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::beta::game::inventory;
 /// Beta version: Record representing an item in a player's game inventory
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -96,10 +96,7 @@ pub struct InventoryGetRecordOutput {
 /// Additional details about how the item was acquired
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SourceDetails {
     ///URI of the game card that provided this item
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -238,7 +235,7 @@ impl LexiconSchema for SourceDetails {
 
 pub mod inventory_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -353,7 +350,20 @@ impl InventoryBuilder {
         InventoryBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -367,7 +377,20 @@ impl InventoryBuilder {
         InventoryBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -570,12 +593,18 @@ impl InventoryBuilder {
 
 impl InventoryBuilder {
     /// Set the `sourceDetails` field (optional)
-    pub fn source_details(mut self, value: impl Into>>) -> Self {
+    pub fn source_details(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.13 = value.into();
         self
     }
     /// Set the `sourceDetails` field to an Option value (optional)
-    pub fn maybe_source_details(mut self, value: Option>) -> Self {
+    pub fn maybe_source_details(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.13 = value;
         self
     }
@@ -624,7 +653,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Inventory {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Inventory {
         Inventory {
             acquired_at: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -647,10 +679,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_beta_game_inventory() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.beta.game.inventory"),
@@ -820,27 +852,33 @@ fn lexicon_doc_net_anisota_beta_game_inventory() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sourceDetails"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Additional details about how the item was acquired",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Additional details about how the item was acquired",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("gameCardUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI of the game card that provided this item",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "URI of the game card that provided this item",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("questId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "ID of the quest that rewarded this item",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "ID of the quest that rewarded this item",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -859,4 +897,4 @@ fn lexicon_doc_net_anisota_beta_game_inventory() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta/game/log.rs b/crates/jacquard-api/src/net_anisota/beta/game/log.rs
index 63d5aef35..6dffcf080 100644
--- a/crates/jacquard-api/src/net_anisota/beta/game/log.rs
+++ b/crates/jacquard-api/src/net_anisota/beta/game/log.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::beta::game::log;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::beta::game::log;
 /// Details about item/specimen collection
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CollectionData {
     ///Catch probability for specimens (decimal string between 0.0 and 1.0)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -64,10 +61,7 @@ pub struct CollectionData {
 /// Details about daily rewards claim
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DailyRewardsData {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub reward_items: Option>>,
@@ -87,10 +81,7 @@ pub struct DailyRewardsData {
 /// Context about the feed when event occurred
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FeedContext {
     ///URI of the feed being viewed
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -111,10 +102,7 @@ pub struct FeedContext {
 /// Details about game cards generated or interacted with
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GameCardData {
     ///Type of game card
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -144,10 +132,7 @@ pub struct GameCardData {
 /// Details about item usage
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ItemUsageData {
     ///Effect that was applied
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -229,10 +214,7 @@ pub struct LogGetRecordOutput {
 /// Additional event-specific metadata
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Metadata {
     ///Version of the client application
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -253,10 +235,7 @@ pub struct Metadata {
 /// Item received as a reward
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RewardItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub item_id: Option,
@@ -559,10 +538,10 @@ impl LexiconSchema for RewardItem {
 }
 
 fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.beta.game.log"),
@@ -643,7 +622,9 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("dailyRewardsData"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Details about daily rewards claim")),
+                    description: Some(
+                        CowStr::new_static("Details about daily rewards claim"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -686,18 +667,18 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("feedContext"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Context about the feed when event occurred",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Context about the feed when event occurred"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("feedUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI of the feed being viewed",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URI of the feed being viewed"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -730,9 +711,11 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gameCardData"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Details about game cards generated or interacted with",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Details about game cards generated or interacted with",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -746,18 +729,20 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("cardUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Unique identifier for the game card",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Unique identifier for the game card"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("generationSeed"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Random seed used for generation (for verification)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Random seed used for generation (for verification)",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -771,7 +756,9 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("itemId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("ID of the item/specimen")),
+                                description: Some(
+                                    CowStr::new_static("ID of the item/specimen"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -785,9 +772,9 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("rarity"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Rarity of the item/specimen",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Rarity of the item/specimen"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -806,23 +793,27 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("effectApplied"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Effect that was applied")),
+                                description: Some(
+                                    CowStr::new_static("Effect that was applied"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("inventoryRecordUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI of the modified inventory record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URI of the modified inventory record"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("itemId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("ID of the item used")),
+                                description: Some(
+                                    CowStr::new_static("ID of the item used"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1002,16 +993,18 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("metadata"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Additional event-specific metadata")),
+                    description: Some(
+                        CowStr::new_static("Additional event-specific metadata"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("clientVersion"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Version of the client application",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Version of the client application"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1031,9 +1024,9 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("platform"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Platform (web, mobile, etc.)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Platform (web, mobile, etc.)"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1051,9 +1044,7 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("itemId"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("quantity"),
@@ -1064,9 +1055,7 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("rarity"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -1081,7 +1070,7 @@ fn lexicon_doc_net_anisota_beta_game_log() -> LexiconDoc<'static> {
 
 pub mod log_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1179,7 +1168,20 @@ impl LogBuilder {
         LogBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1192,7 +1194,20 @@ impl LogBuilder {
         LogBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1201,12 +1216,18 @@ impl LogBuilder {
 
 impl LogBuilder {
     /// Set the `collectionData` field (optional)
-    pub fn collection_data(mut self, value: impl Into>>) -> Self {
+    pub fn collection_data(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `collectionData` field to an Option value (optional)
-    pub fn maybe_collection_data(mut self, value: Option>) -> Self {
+    pub fn maybe_collection_data(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -1235,7 +1256,10 @@ impl LogBuilder {
         self
     }
     /// Set the `dailyRewardsData` field to an Option value (optional)
-    pub fn maybe_daily_rewards_data(mut self, value: Option>) -> Self {
+    pub fn maybe_daily_rewards_data(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -1247,7 +1271,10 @@ where
     St::EventType: log_state::IsUnset,
 {
     /// Set the `eventType` field (required)
-    pub fn event_type(mut self, value: impl Into) -> LogBuilder, S> {
+    pub fn event_type(
+        mut self,
+        value: impl Into,
+    ) -> LogBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         LogBuilder {
             _state: PhantomData,
@@ -1259,7 +1286,10 @@ where
 
 impl LogBuilder {
     /// Set the `feedContext` field (optional)
-    pub fn feed_context(mut self, value: impl Into>>) -> Self {
+    pub fn feed_context(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -1272,7 +1302,10 @@ impl LogBuilder {
 
 impl LogBuilder {
     /// Set the `gameCardData` field (optional)
-    pub fn game_card_data(mut self, value: impl Into>>) -> Self {
+    pub fn game_card_data(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -1298,12 +1331,18 @@ impl LogBuilder {
 
 impl LogBuilder {
     /// Set the `itemUsageData` field (optional)
-    pub fn item_usage_data(mut self, value: impl Into>>) -> Self {
+    pub fn item_usage_data(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.7 = value.into();
         self
     }
     /// Set the `itemUsageData` field to an Option value (optional)
-    pub fn maybe_item_usage_data(mut self, value: Option>) -> Self {
+    pub fn maybe_item_usage_data(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.7 = value;
         self
     }
@@ -1354,7 +1393,10 @@ where
     St::SessionId: log_state::IsUnset,
 {
     /// Set the `sessionId` field (required)
-    pub fn session_id(mut self, value: impl Into) -> LogBuilder, S> {
+    pub fn session_id(
+        mut self,
+        value: impl Into,
+    ) -> LogBuilder, S> {
         self._fields.11 = Option::Some(value.into());
         LogBuilder {
             _state: PhantomData,
@@ -1443,4 +1485,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta/game/pack.rs b/crates/jacquard-api/src/net_anisota/beta/game/pack.rs
index 12c558d0f..9dac3d843 100644
--- a/crates/jacquard-api/src/net_anisota/beta/game/pack.rs
+++ b/crates/jacquard-api/src/net_anisota/beta/game/pack.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::beta::game::pack;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::beta::game::pack;
 /// Beta version: Record tracking daily pack openings and streak information
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -73,10 +73,7 @@ pub struct PackGetRecordOutput {
 /// A single pack opening entry in the history
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PackHistoryEntry {
     ///Items received from this pack
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -94,10 +91,7 @@ pub struct PackHistoryEntry {
 /// An item received from a pack opening
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReceivedItem {
     ///ID of the item received
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -231,7 +225,7 @@ impl LexiconSchema for ReceivedItem {
 
 pub mod pack_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -428,7 +422,10 @@ impl PackBuilder {
         self
     }
     /// Set the `packHistory` field to an Option value (optional)
-    pub fn maybe_pack_history(mut self, value: Option>>) -> Self {
+    pub fn maybe_pack_history(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -440,7 +437,10 @@ where
     St::Streak: pack_state::IsUnset,
 {
     /// Set the `streak` field (required)
-    pub fn streak(mut self, value: impl Into) -> PackBuilder, S> {
+    pub fn streak(
+        mut self,
+        value: impl Into,
+    ) -> PackBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         PackBuilder {
             _state: PhantomData,
@@ -506,10 +506,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.beta.game.pack"),
@@ -518,26 +518,30 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Beta version: Record tracking daily pack openings and streak information",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Beta version: Record tracking daily pack openings and streak information",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("lastOpenTime"),
-                            SmolStr::new_static("totalOpens"),
-                            SmolStr::new_static("streak"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("lastOpenTime"),
+                                SmolStr::new_static("totalOpens"),
+                                SmolStr::new_static("streak"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the record was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the record was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -545,9 +549,9 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("lastModified"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the record was last modified",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the record was last modified"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -555,9 +559,9 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("lastOpenTime"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When daily pack was last opened",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When daily pack was last opened"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -572,9 +576,9 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("packHistory"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "History of the last few pack openings",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("History of the last few pack openings"),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("#packHistoryEntry"),
                                         ..Default::default()
@@ -607,18 +611,18 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("packHistoryEntry"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A single pack opening entry in the history",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A single pack opening entry in the history"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("itemsReceived"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Items received from this pack",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Items received from this pack"),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#receivedItem"),
                                     ..Default::default()
@@ -629,7 +633,9 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("openTime"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("When this pack was opened")),
+                                description: Some(
+                                    CowStr::new_static("When this pack was opened"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -648,14 +654,18 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("receivedItem"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("An item received from a pack opening")),
+                    description: Some(
+                        CowStr::new_static("An item received from a pack opening"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("itemId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("ID of the item received")),
+                                description: Some(
+                                    CowStr::new_static("ID of the item received"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -681,4 +691,4 @@ fn lexicon_doc_net_anisota_beta_game_pack() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta/game/progress.rs b/crates/jacquard-api/src/net_anisota/beta/game/progress.rs
index 1fdd65d09..8365781b9 100644
--- a/crates/jacquard-api/src/net_anisota/beta/game/progress.rs
+++ b/crates/jacquard-api/src/net_anisota/beta/game/progress.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::beta::game::progress;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::beta::game::progress;
 /// Record representing a player's level progression and game statistics
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -94,10 +94,7 @@ pub struct ProgressGetRecordOutput {
 /// Additional metadata about this progress update
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Metadata {
     ///Version of the client when this progress was recorded
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -112,10 +109,7 @@ pub struct Metadata {
 /// Game-specific statistics and metrics
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Stats {
     ///Total daily rewards claimed
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -336,7 +330,7 @@ impl LexiconSchema for Stats {
 
 pub mod progress_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -469,7 +463,20 @@ impl ProgressBuilder {
         ProgressBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -483,7 +490,20 @@ impl ProgressBuilder {
         ProgressBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -770,10 +790,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_beta_game_progress() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.beta.game.progress"),
@@ -950,27 +970,33 @@ fn lexicon_doc_net_anisota_beta_game_progress() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("metadata"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Additional metadata about this progress update",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Additional metadata about this progress update",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("clientVersion"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Version of the client when this progress was recorded",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Version of the client when this progress was recorded",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("platform"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Platform where the level up occurred (web, mobile, etc.)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Platform where the level up occurred (web, mobile, etc.)",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1058,4 +1084,4 @@ fn lexicon_doc_net_anisota_beta_game_progress() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/beta/game/session.rs b/crates/jacquard-api/src/net_anisota/beta/game/session.rs
index 67e73c772..9ec897bd1 100644
--- a/crates/jacquard-api/src/net_anisota/beta/game/session.rs
+++ b/crates/jacquard-api/src/net_anisota/beta/game/session.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::beta::game::session;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::beta::game::session;
 /// Summary of activity during this session
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActivitySummary {
     ///Player's current level at the time of this session update
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -60,10 +57,7 @@ pub struct ActivitySummary {
 /// Game-specific actions performed
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GameActions {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub daily_rewards_claimed: Option,
@@ -153,10 +147,7 @@ pub struct SessionGetRecordOutput {
 /// Additional session metadata
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Metadata {
     ///List of features used during the session
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -173,10 +164,7 @@ pub struct Metadata {
 /// Performance-related data
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PerformanceMetrics {
     ///Average API response time in milliseconds (rounded to nearest integer)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -191,10 +179,7 @@ pub struct PerformanceMetrics {
 /// Context about how the session started
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SessionContext {
     ///How the user was authenticated
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -453,10 +438,10 @@ impl LexiconSchema for SessionContext {
 }
 
 fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.beta.game.session"),
@@ -465,9 +450,9 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("activitySummary"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Summary of activity during this session",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Summary of activity during this session"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -495,9 +480,9 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("pagesVisited"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "List of unique pages/routes visited",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("List of unique pages/routes visited"),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     ..Default::default()
                                 }),
@@ -526,7 +511,9 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gameActions"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Game-specific actions performed")),
+                    description: Some(
+                        CowStr::new_static("Game-specific actions performed"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -786,9 +773,11 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("features"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "List of features used during the session",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "List of features used during the session",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     ..Default::default()
                                 }),
@@ -798,9 +787,9 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("networkCondition"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Network condition during session",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Network condition during session"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -845,25 +834,27 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sessionContext"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Context about how the session started")),
+                    description: Some(
+                        CowStr::new_static("Context about how the session started"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("authenticationMethod"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "How the user was authenticated",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("How the user was authenticated"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("entryPoint"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "How the user entered the app",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("How the user entered the app"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -876,7 +867,9 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("referrer"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Referrer URL if applicable")),
+                                description: Some(
+                                    CowStr::new_static("Referrer URL if applicable"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -893,7 +886,7 @@ fn lexicon_doc_net_anisota_beta_game_session() -> LexiconDoc<'static> {
 
 pub mod session_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1010,8 +1003,23 @@ impl SessionBuilder {
         SessionBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1024,8 +1032,23 @@ impl SessionBuilder {
         SessionBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1042,7 +1065,10 @@ impl SessionBuilder {
         self
     }
     /// Set the `activitySummary` field to an Option value (optional)
-    pub fn maybe_activity_summary(mut self, value: Option>) -> Self {
+    pub fn maybe_activity_summary(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -1218,12 +1244,18 @@ impl SessionBuilder {
 
 impl SessionBuilder {
     /// Set the `sessionContext` field (optional)
-    pub fn session_context(mut self, value: impl Into>>) -> Self {
+    pub fn session_context(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.13 = value.into();
         self
     }
     /// Set the `sessionContext` field to an Option value (optional)
-    pub fn maybe_session_context(mut self, value: Option>) -> Self {
+    pub fn maybe_session_context(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.13 = value;
         self
     }
@@ -1334,4 +1366,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/feed.rs b/crates/jacquard-api/src/net_anisota/feed.rs
index 449b7cf7d..90b9d8f7a 100644
--- a/crates/jacquard-api/src/net_anisota/feed.rs
+++ b/crates/jacquard-api/src/net_anisota/feed.rs
@@ -9,4 +9,4 @@ pub mod like;
 pub mod list;
 pub mod list_item;
 pub mod post;
-pub mod repost;
+pub mod repost;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/feed/draft.rs b/crates/jacquard-api/src/net_anisota/feed/draft.rs
index 8ea7ae886..ecf66c8ee 100644
--- a/crates/jacquard-api/src/net_anisota/feed/draft.rs
+++ b/crates/jacquard-api/src/net_anisota/feed/draft.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::embed::external::ExternalRecord;
 use crate::app_bsky::embed::images::Images;
 use crate::app_bsky::embed::record::Record;
@@ -33,9 +36,6 @@ use crate::app_bsky::richtext::facet::Facet;
 use crate::com_atproto::label::SelfLabels;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::net_anisota::feed::draft;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Record containing a draft post that can be edited and later published as app.bsky.feed.post
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -73,6 +73,7 @@ pub struct Draft {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -100,11 +101,9 @@ pub struct DraftGetRecordOutput {
     pub value: Draft,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReplyRef {
     pub parent: StrongRef,
     pub root: StrongRef,
@@ -221,7 +220,7 @@ impl LexiconSchema for ReplyRef {
 
 pub mod draft_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -419,7 +418,10 @@ where
     St::Text: draft_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> DraftBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> DraftBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         DraftBuilder {
             _state: PhantomData,
@@ -481,10 +483,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_feed_draft() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.feed.draft"),
@@ -638,10 +640,9 @@ fn lexicon_doc_net_anisota_feed_draft() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("replyRef"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("root"),
-                        SmolStr::new_static("parent"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("root"), SmolStr::new_static("parent")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -672,7 +673,7 @@ fn lexicon_doc_net_anisota_feed_draft() -> LexiconDoc<'static> {
 
 pub mod reply_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -817,4 +818,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/feed/like.rs b/crates/jacquard-api/src/net_anisota/feed/like.rs
index 04033c073..1aec05d87 100644
--- a/crates/jacquard-api/src/net_anisota/feed/like.rs
+++ b/crates/jacquard-api/src/net_anisota/feed/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record declaring a 'like' of a piece of content published in the Anisota feed. The target of the like is the 'subject' of the record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_feed_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.feed.like"),
@@ -313,4 +313,4 @@ fn lexicon_doc_net_anisota_feed_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/feed/list.rs b/crates/jacquard-api/src/net_anisota/feed/list.rs
index 1ba8bda77..28dd020b3 100644
--- a/crates/jacquard-api/src/net_anisota/feed/list.rs
+++ b/crates/jacquard-api/src/net_anisota/feed/list.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A list of posts for curation, bookmarking, or organization
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -126,20 +126,25 @@ impl LexiconSchema for List {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -182,7 +187,7 @@ impl LexiconSchema for List {
 
 pub mod list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -324,7 +329,10 @@ where
     St::Name: list_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ListBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ListBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         ListBuilder {
             _state: PhantomData,
@@ -378,10 +386,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_feed_list() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.feed.list"),
@@ -390,30 +398,32 @@ fn lexicon_doc_net_anisota_feed_list() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A list of posts for curation, bookmarking, or organization",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A list of posts for curation, bookmarking, or organization",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the list was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the list was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -421,9 +431,9 @@ fn lexicon_doc_net_anisota_feed_list() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional description of the list",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional description of the list"),
+                                    ),
                                     max_length: Some(300usize),
                                     ..Default::default()
                                 }),
@@ -431,9 +441,9 @@ fn lexicon_doc_net_anisota_feed_list() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Display name for the list",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Display name for the list"),
+                                    ),
                                     max_length: Some(64usize),
                                     ..Default::default()
                                 }),
@@ -441,9 +451,9 @@ fn lexicon_doc_net_anisota_feed_list() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("tags"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Tags for categorizing the list",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Tags for categorizing the list"),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         max_length: Some(32usize),
                                         ..Default::default()
@@ -463,4 +473,4 @@ fn lexicon_doc_net_anisota_feed_list() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/feed/list_item.rs b/crates/jacquard-api/src/net_anisota/feed/list_item.rs
index 596dec8f0..eef10d50d 100644
--- a/crates/jacquard-api/src/net_anisota/feed/list_item.rs
+++ b/crates/jacquard-api/src/net_anisota/feed/list_item.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record representing a post's inclusion on a specific list. The AppView will ignore duplicate listitem records.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -108,7 +108,7 @@ impl LexiconSchema for ListItem {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -292,10 +292,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_feed_listItem() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.feed.listItem"),
@@ -367,4 +367,4 @@ fn lexicon_doc_net_anisota_feed_listItem() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/feed/post.rs b/crates/jacquard-api/src/net_anisota/feed/post.rs
index 0005f9cea..030bfa249 100644
--- a/crates/jacquard-api/src/net_anisota/feed/post.rs
+++ b/crates/jacquard-api/src/net_anisota/feed/post.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::embed::external::ExternalRecord;
 use crate::app_bsky::embed::images::Images;
 use crate::app_bsky::embed::record::Record;
@@ -33,9 +36,6 @@ use crate::app_bsky::richtext::facet::Facet;
 use crate::com_atproto::label::SelfLabels;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::net_anisota::feed::post;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A post that can be created on the Anisota network
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -70,6 +70,7 @@ pub struct Post {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -97,11 +98,9 @@ pub struct PostGetRecordOutput {
     pub value: Post,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReplyRef {
     pub parent: StrongRef,
     pub root: StrongRef,
@@ -218,7 +217,7 @@ impl LexiconSchema for ReplyRef {
 
 pub mod post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -415,7 +414,10 @@ where
     St::Text: post_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> PostBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> PostBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         PostBuilder {
             _state: PhantomData,
@@ -462,10 +464,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_feed_post() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.feed.post"),
@@ -607,10 +609,9 @@ fn lexicon_doc_net_anisota_feed_post() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("replyRef"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("root"),
-                        SmolStr::new_static("parent"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("root"), SmolStr::new_static("parent")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -641,7 +642,7 @@ fn lexicon_doc_net_anisota_feed_post() -> LexiconDoc<'static> {
 
 pub mod reply_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -786,4 +787,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/feed/repost.rs b/crates/jacquard-api/src/net_anisota/feed/repost.rs
index 165682c40..e69b5cc7b 100644
--- a/crates/jacquard-api/src/net_anisota/feed/repost.rs
+++ b/crates/jacquard-api/src/net_anisota/feed/repost.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record representing a 'repost' of an existing piece of content published in the Anisota feed. The target of the repost is the 'subject' of the record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Repost {
 
 pub mod repost_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_feed_repost() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.feed.repost"),
@@ -313,4 +313,4 @@ fn lexicon_doc_net_anisota_feed_repost() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/graph.rs b/crates/jacquard-api/src/net_anisota/graph.rs
index 9630e301b..de87ef688 100644
--- a/crates/jacquard-api/src/net_anisota/graph.rs
+++ b/crates/jacquard-api/src/net_anisota/graph.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `net.anisota.graph` Lexicon namespace/module.
 pub mod list_mute;
-pub mod mute;
+pub mod mute;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/graph/list_mute.rs b/crates/jacquard-api/src/net_anisota/graph/list_mute.rs
index e8b70487b..2e7f6c40b 100644
--- a/crates/jacquard-api/src/net_anisota/graph/list_mute.rs
+++ b/crates/jacquard-api/src/net_anisota/graph/list_mute.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::graph::list_mute;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::graph::list_mute;
 /// Configuration for which types of content to mute
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContentTypes {
     ///Mute regular posts from accounts on this list  Defaults to `true`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -209,10 +206,10 @@ impl Default for ContentTypes {
 }
 
 fn lexicon_doc_net_anisota_graph_listMute() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.graph.listMute"),
@@ -221,9 +218,11 @@ fn lexicon_doc_net_anisota_graph_listMute() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("contentTypes"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Configuration for which types of content to mute",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Configuration for which types of content to mute",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -357,7 +356,7 @@ fn lexicon_doc_net_anisota_graph_listMute() -> LexiconDoc<'static> {
 
 pub mod list_mute_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -451,12 +450,18 @@ impl ListMuteBuilder {
 
 impl ListMuteBuilder {
     /// Set the `contentTypes` field (optional)
-    pub fn content_types(mut self, value: impl Into>>) -> Self {
+    pub fn content_types(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `contentTypes` field to an Option value (optional)
-    pub fn maybe_content_types(mut self, value: Option>) -> Self {
+    pub fn maybe_content_types(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -569,4 +574,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/graph/mute.rs b/crates/jacquard-api/src/net_anisota/graph/mute.rs
index b703e954b..e03f7a4d8 100644
--- a/crates/jacquard-api/src/net_anisota/graph/mute.rs
+++ b/crates/jacquard-api/src/net_anisota/graph/mute.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::graph::mute;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::graph::mute;
 /// Configuration for which types of content to mute
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContentTypes {
     ///Mute regular posts from this account  Defaults to `true`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -209,10 +206,10 @@ impl Default for ContentTypes {
 }
 
 fn lexicon_doc_net_anisota_graph_mute() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.graph.mute"),
@@ -221,9 +218,11 @@ fn lexicon_doc_net_anisota_graph_mute() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("contentTypes"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Configuration for which types of content to mute",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Configuration for which types of content to mute",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -357,7 +356,7 @@ fn lexicon_doc_net_anisota_graph_mute() -> LexiconDoc<'static> {
 
 pub mod mute_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -451,7 +450,10 @@ impl MuteBuilder {
 
 impl MuteBuilder {
     /// Set the `contentTypes` field (optional)
-    pub fn content_types(mut self, value: impl Into>>) -> Self {
+    pub fn content_types(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
@@ -569,4 +571,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/harvest.rs b/crates/jacquard-api/src/net_anisota/harvest.rs
index 7d3228746..dedbca797 100644
--- a/crates/jacquard-api/src/net_anisota/harvest.rs
+++ b/crates/jacquard-api/src/net_anisota/harvest.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.anisota.harvest` Lexicon namespace/module.
-pub mod minigame;
+pub mod minigame;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/harvest/minigame.rs b/crates/jacquard-api/src/net_anisota/harvest/minigame.rs
index 73923186c..455cab0e9 100644
--- a/crates/jacquard-api/src/net_anisota/harvest/minigame.rs
+++ b/crates/jacquard-api/src/net_anisota/harvest/minigame.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::harvest::minigame;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::harvest::minigame;
 /// A record of a harvest minigame round played by a user
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -101,10 +101,7 @@ pub struct MinigameGetRecordOutput {
 /// Count of each rarity level collected
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RarityBreakdown {
     ///Number of common (triangle) shapes collected
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -355,7 +352,7 @@ impl LexiconSchema for RarityBreakdown {
 
 pub mod minigame_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -490,8 +487,23 @@ impl MinigameBuilder {
         MinigameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -504,8 +516,23 @@ impl MinigameBuilder {
         MinigameBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -696,7 +723,10 @@ impl MinigameBuilder {
         self
     }
     /// Set the `rarityBreakdown` field to an Option value (optional)
-    pub fn maybe_rarity_breakdown(mut self, value: Option>) -> Self {
+    pub fn maybe_rarity_breakdown(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.12 = value;
         self
     }
@@ -824,10 +854,10 @@ where
 }
 
 fn lexicon_doc_net_anisota_harvest_minigame() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.harvest.minigame"),
@@ -999,7 +1029,9 @@ fn lexicon_doc_net_anisota_harvest_minigame() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rarityBreakdown"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Count of each rarity level collected")),
+                    description: Some(
+                        CowStr::new_static("Count of each rarity level collected"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1047,4 +1079,4 @@ fn lexicon_doc_net_anisota_harvest_minigame() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_anisota/settings.rs b/crates/jacquard-api/src/net_anisota/settings.rs
index 5dbc3a75a..f05933bb2 100644
--- a/crates/jacquard-api/src/net_anisota/settings.rs
+++ b/crates/jacquard-api/src/net_anisota/settings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_anisota::settings;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_anisota::settings;
 /// Animation timing and speed settings for various UI animations
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AnimationTiming {
     ///Card advance exit to right and entrance back in from right (stored as string)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -70,11 +67,9 @@ pub struct AnimationTiming {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BatchNotificationTypes {
     ///Batch follow notifications
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -101,10 +96,7 @@ pub struct BatchNotificationTypes {
 /// App behavior and functionality settings
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BehaviorSettings {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub animation_timing: Option>,
@@ -251,10 +243,7 @@ pub struct BehaviorSettings {
 /// Control button visibility settings
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ControlSettings {
     ///Show account list button
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -347,10 +336,7 @@ pub struct ControlSettings {
 /// Corner element positioning settings
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CornerElements {
     ///Element to show in bottom left corner
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -368,11 +354,9 @@ pub struct CornerElements {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FilterNotificationTypes {
     ///Show follow notifications
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -396,11 +380,9 @@ pub struct FilterNotificationTypes {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FilterRelationshipTypes {
     ///Show notifications from followers
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -418,11 +400,9 @@ pub struct FilterRelationshipTypes {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HideReposts {
     ///Hide reposts in feed
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -434,11 +414,9 @@ pub struct HideReposts {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HighlightNotificationTypes {
     ///Highlight follow notifications
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -465,10 +443,7 @@ pub struct HighlightNotificationTypes {
 /// Keyboard shortcut configuration
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct KeyboardShortcuts {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub composer: Option>,
@@ -487,10 +462,7 @@ pub struct KeyboardShortcuts {
 /// Post composer keyboard shortcuts
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct KeyboardShortcutsComposer {
     ///Publish post (e.g., ctrl+enter)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -502,10 +474,7 @@ pub struct KeyboardShortcutsComposer {
 /// Global navigation keyboard shortcuts
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct KeyboardShortcutsGlobal {
     ///Navigate to collection
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -526,10 +495,7 @@ pub struct KeyboardShortcutsGlobal {
 /// Modal keyboard shortcuts
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct KeyboardShortcutsModals {
     ///Show keyboard shortcuts help
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -553,10 +519,7 @@ pub struct KeyboardShortcutsModals {
 /// Navigation keyboard shortcuts
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct KeyboardShortcutsNavigation {
     ///Scroll down or next item
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -580,10 +543,7 @@ pub struct KeyboardShortcutsNavigation {
 /// Post interaction keyboard shortcuts
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct KeyboardShortcutsPostInteractions {
     ///Like current post
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -647,10 +607,7 @@ pub struct SettingsGetRecordOutput {
 /// Content moderation and filtering settings
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ModerationSettings {
     ///How to handle posts from muted accounts
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -662,11 +619,9 @@ pub struct ModerationSettings {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StatsVisibleSections {
     ///Show activity section in stats overview
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -684,10 +639,7 @@ pub struct StatsVisibleSections {
 /// UI visibility and behavior settings
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UiSettings {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub corner_elements: Option>,
@@ -1487,10 +1439,10 @@ impl LexiconSchema for UiSettings {
 }
 
 fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.anisota.settings"),
@@ -2040,7 +1992,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("controlSettings"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Control button visibility settings")),
+                    description: Some(
+                        CowStr::new_static("Control button visibility settings"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -2220,43 +2174,45 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("cornerElements"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Corner element positioning settings")),
+                    description: Some(
+                        CowStr::new_static("Corner element positioning settings"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("bottomLeft"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Element to show in bottom left corner",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Element to show in bottom left corner"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("bottomRight"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Element to show in bottom right corner",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Element to show in bottom right corner"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("topLeft"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Element to show in top left corner",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Element to show in top left corner"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("topRight"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Element to show in top right corner",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Element to show in top right corner"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2420,7 +2376,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("keyboardShortcuts"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Keyboard shortcut configuration")),
+                    description: Some(
+                        CowStr::new_static("Keyboard shortcut configuration"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -2455,7 +2413,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("postInteractions"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("#keyboardShortcutsPostInteractions"),
+                                r#ref: CowStr::new_static(
+                                    "#keyboardShortcutsPostInteractions",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2467,16 +2427,18 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("keyboardShortcutsComposer"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Post composer keyboard shortcuts")),
+                    description: Some(
+                        CowStr::new_static("Post composer keyboard shortcuts"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("publish"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Publish post (e.g., ctrl+enter)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Publish post (e.g., ctrl+enter)"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2489,14 +2451,18 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("keyboardShortcutsGlobal"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Global navigation keyboard shortcuts")),
+                    description: Some(
+                        CowStr::new_static("Global navigation keyboard shortcuts"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("collection"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Navigate to collection")),
+                                description: Some(
+                                    CowStr::new_static("Navigate to collection"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2512,7 +2478,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("inventory"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Navigate to inventory")),
+                                description: Some(
+                                    CowStr::new_static("Navigate to inventory"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2520,7 +2488,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("profile"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Navigate to profile")),
+                                description: Some(
+                                    CowStr::new_static("Navigate to profile"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2540,9 +2510,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("keyboardHelp"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Show keyboard shortcuts help",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Show keyboard shortcuts help"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2587,14 +2557,18 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("keyboardShortcutsNavigation"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Navigation keyboard shortcuts")),
+                    description: Some(
+                        CowStr::new_static("Navigation keyboard shortcuts"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("arrowDown"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Scroll down or next item")),
+                                description: Some(
+                                    CowStr::new_static("Scroll down or next item"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2602,7 +2576,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("arrowLeft"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Go back to previous card")),
+                                description: Some(
+                                    CowStr::new_static("Go back to previous card"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2610,7 +2586,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("arrowRight"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Advance to next card")),
+                                description: Some(
+                                    CowStr::new_static("Advance to next card"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2618,7 +2596,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("arrowUp"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Scroll up or previous item")),
+                                description: Some(
+                                    CowStr::new_static("Scroll up or previous item"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2626,9 +2606,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("escape"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Exit fullscreen or close modals",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Exit fullscreen or close modals"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2641,7 +2621,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("keyboardShortcutsPostInteractions"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Post interaction keyboard shortcuts")),
+                    description: Some(
+                        CowStr::new_static("Post interaction keyboard shortcuts"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -2664,7 +2646,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("reply"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Reply to current post")),
+                                description: Some(
+                                    CowStr::new_static("Reply to current post"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2672,7 +2656,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("repost"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Repost current post")),
+                                description: Some(
+                                    CowStr::new_static("Repost current post"),
+                                ),
                                 max_length: Some(50usize),
                                 ..Default::default()
                             }),
@@ -2783,27 +2769,31 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("moderationSettings"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Content moderation and filtering settings",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Content moderation and filtering settings"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("mutedAccountsHandling"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "How to handle posts from muted accounts",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "How to handle posts from muted accounts",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("mutedContentHandling"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "How to handle posts containing muted words or phrases",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "How to handle posts containing muted words or phrases",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2844,7 +2834,9 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("uiSettings"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("UI visibility and behavior settings")),
+                    description: Some(
+                        CowStr::new_static("UI visibility and behavior settings"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -2858,9 +2850,11 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("fontSize"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Font size scale (0.8 = 80%, 1.0 = 100% default, 1.2 = 120%)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Font size scale (0.8 = 80%, 1.0 = 100% default, 1.2 = 120%)",
+                                    ),
+                                ),
                                 max_length: Some(10usize),
                                 ..Default::default()
                             }),
@@ -2868,36 +2862,36 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("postCardPrimarySlot"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Primary name slot for post cards",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Primary name slot for post cards"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("postCardSecondarySlot"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Secondary name slot for post cards",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Secondary name slot for post cards"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("profileCardPrimarySlot"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Primary name slot for profile cards",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Primary name slot for profile cards"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("profileCardSecondarySlot"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Secondary name slot for profile cards",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Secondary name slot for profile cards"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -3112,7 +3106,7 @@ fn lexicon_doc_net_anisota_settings() -> LexiconDoc<'static> {
 
 pub mod settings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3230,7 +3224,10 @@ impl SettingsBuilder {
         self
     }
     /// Set the `behaviorSettings` field to an Option value (optional)
-    pub fn maybe_behavior_settings(mut self, value: Option>) -> Self {
+    pub fn maybe_behavior_settings(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -3259,7 +3256,10 @@ impl SettingsBuilder {
         self
     }
     /// Set the `controlSettings` field to an Option value (optional)
-    pub fn maybe_control_settings(mut self, value: Option>) -> Self {
+    pub fn maybe_control_settings(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -3299,7 +3299,10 @@ impl SettingsBuilder {
 
 impl SettingsBuilder {
     /// Set the `uiSettings` field (optional)
-    pub fn ui_settings(mut self, value: impl Into>>) -> Self {
+    pub fn ui_settings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -3383,4 +3386,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_asadaame5121.rs b/crates/jacquard-api/src/net_asadaame5121.rs
index ce67643f8..a4bcb8565 100644
--- a/crates/jacquard-api/src/net_asadaame5121.rs
+++ b/crates/jacquard-api/src/net_asadaame5121.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.asadaame5121` Lexicon namespace/module.
-pub mod at_circle;
+pub mod at_circle;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_asadaame5121/at_circle.rs b/crates/jacquard-api/src/net_asadaame5121/at_circle.rs
index a11bd195d..234024586 100644
--- a/crates/jacquard-api/src/net_asadaame5121/at_circle.rs
+++ b/crates/jacquard-api/src/net_asadaame5121/at_circle.rs
@@ -12,6 +12,7 @@ pub mod member;
 pub mod request;
 pub mod ring;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -30,13 +31,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RingRef {
     ///Optional CID for strong reference
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -85,7 +83,7 @@ impl LexiconSchema for RingRef {
 
 pub mod ring_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -214,10 +212,10 @@ where
 }
 
 fn lexicon_doc_net_asadaame5121_at_circle_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.asadaame5121.at-circle.defs"),
@@ -233,9 +231,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional CID for strong reference",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Optional CID for strong reference"),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 max_length: Some(100usize),
                                 ..Default::default()
@@ -259,4 +257,4 @@ fn lexicon_doc_net_asadaame5121_at_circle_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_asadaame5121/at_circle/banner.rs b/crates/jacquard-api/src/net_asadaame5121/at_circle/banner.rs
index 8bf3e7f2d..591d85372 100644
--- a/crates/jacquard-api/src/net_asadaame5121/at_circle/banner.rs
+++ b/crates/jacquard-api/src/net_asadaame5121/at_circle/banner.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_asadaame5121::at_circle::RingRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_asadaame5121::at_circle::RingRef;
 /// A banner image for a ring
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -119,16 +119,19 @@ impl LexiconSchema for Banner {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
@@ -144,7 +147,7 @@ impl LexiconSchema for Banner {
 
 pub mod banner_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -328,10 +331,10 @@ where
 }
 
 fn lexicon_doc_net_asadaame5121_at_circle_banner() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.asadaame5121.at-circle.banner"),
@@ -343,19 +346,18 @@ fn lexicon_doc_net_asadaame5121_at_circle_banner() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("A banner image for a ring")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("ring"),
-                            SmolStr::new_static("banner"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("ring"), SmolStr::new_static("banner"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("banner"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -384,4 +386,4 @@ fn lexicon_doc_net_asadaame5121_at_circle_banner() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_asadaame5121/at_circle/block.rs b/crates/jacquard-api/src/net_asadaame5121/at_circle/block.rs
index 5898040fd..331479722 100644
--- a/crates/jacquard-api/src/net_asadaame5121/at_circle/block.rs
+++ b/crates/jacquard-api/src/net_asadaame5121/at_circle/block.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_asadaame5121::at_circle::RingRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_asadaame5121::at_circle::RingRef;
 /// Block/Kick a member from the circle
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -143,7 +143,7 @@ impl LexiconSchema for Block {
 
 pub mod block_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -202,12 +202,7 @@ pub mod block_state {
 /// Builder for constructing an instance of this type.
 pub struct BlockBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -347,10 +342,10 @@ where
 }
 
 fn lexicon_doc_net_asadaame5121_at_circle_block() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.asadaame5121.at-circle.block"),
@@ -359,14 +354,17 @@ fn lexicon_doc_net_asadaame5121_at_circle_block() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Block/Kick a member from the circle")),
+                    description: Some(
+                        CowStr::new_static("Block/Kick a member from the circle"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("ring"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"), SmolStr::new_static("ring"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -380,7 +378,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_block() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("reason"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Reason for blocking")),
+                                    description: Some(
+                                        CowStr::new_static("Reason for blocking"),
+                                    ),
                                     max_length: Some(1000usize),
                                     max_graphemes: Some(100usize),
                                     ..Default::default()
@@ -398,9 +398,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_block() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "DID of the member to block",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("DID of the member to block"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     max_length: Some(2000usize),
                                     ..Default::default()
@@ -417,4 +417,4 @@ fn lexicon_doc_net_asadaame5121_at_circle_block() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_asadaame5121/at_circle/member.rs b/crates/jacquard-api/src/net_asadaame5121/at_circle/member.rs
index 7dcaac61e..a3ac41e02 100644
--- a/crates/jacquard-api/src/net_asadaame5121/at_circle/member.rs
+++ b/crates/jacquard-api/src/net_asadaame5121/at_circle/member.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_asadaame5121::at_circle::RingRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_asadaame5121::at_circle::RingRef;
 /// Membership in an at-circle (Sidecar Record)
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -182,7 +182,7 @@ impl LexiconSchema for Member {
 
 pub mod member_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -374,7 +374,10 @@ where
     St::Title: member_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> MemberBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> MemberBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         MemberBuilder {
             _state: PhantomData,
@@ -438,10 +441,10 @@ where
 }
 
 fn lexicon_doc_net_asadaame5121_at_circle_member() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.asadaame5121.at-circle.member"),
@@ -450,17 +453,18 @@ fn lexicon_doc_net_asadaame5121_at_circle_member() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Membership in an at-circle (Sidecar Record)",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Membership in an at-circle (Sidecar Record)"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("ring"),
-                            SmolStr::new_static("url"),
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("ring"), SmolStr::new_static("url"),
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -501,9 +505,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_member() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("title"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Title of the participant's site",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Title of the participant's site"),
+                                    ),
                                     max_length: Some(1000usize),
                                     max_graphemes: Some(100usize),
                                     ..Default::default()
@@ -512,9 +516,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_member() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("url"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URL of the participant's site",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URL of the participant's site"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     max_length: Some(2000usize),
                                     ..Default::default()
@@ -531,4 +535,4 @@ fn lexicon_doc_net_asadaame5121_at_circle_member() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_asadaame5121/at_circle/request.rs b/crates/jacquard-api/src/net_asadaame5121/at_circle/request.rs
index c24bac5f8..51b625a09 100644
--- a/crates/jacquard-api/src/net_asadaame5121/at_circle/request.rs
+++ b/crates/jacquard-api/src/net_asadaame5121/at_circle/request.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_asadaame5121::at_circle::RingRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_asadaame5121::at_circle::RingRef;
 /// A request to join a webring
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -161,7 +161,7 @@ impl LexiconSchema for Request {
 
 pub mod request_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -420,10 +420,10 @@ where
 }
 
 fn lexicon_doc_net_asadaame5121_at_circle_request() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.asadaame5121.at-circle.request"),
@@ -435,12 +435,13 @@ fn lexicon_doc_net_asadaame5121_at_circle_request() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("A request to join a webring")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("ring"),
-                            SmolStr::new_static("siteUrl"),
-                            SmolStr::new_static("siteTitle"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("ring"), SmolStr::new_static("siteUrl"),
+                                SmolStr::new_static("siteTitle"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -454,7 +455,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_request() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("message"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Introduction message")),
+                                    description: Some(
+                                        CowStr::new_static("Introduction message"),
+                                    ),
                                     max_length: Some(1000usize),
                                     max_graphemes: Some(100usize),
                                     ..Default::default()
@@ -472,9 +475,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_request() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("rssUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "RSS feed URL of the site",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("RSS feed URL of the site"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -491,9 +494,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_request() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("siteUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URL of the site to register",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URL of the site to register"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -509,4 +512,4 @@ fn lexicon_doc_net_asadaame5121_at_circle_request() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_asadaame5121/at_circle/ring.rs b/crates/jacquard-api/src/net_asadaame5121/at_circle/ring.rs
index 5e43d0de8..b5ec15c78 100644
--- a/crates/jacquard-api/src/net_asadaame5121/at_circle/ring.rs
+++ b/crates/jacquard-api/src/net_asadaame5121/at_circle/ring.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An at-circle group definition
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -126,7 +126,9 @@ where
         match self {
             RingAcceptancePolicy::Automatic => RingAcceptancePolicy::Automatic,
             RingAcceptancePolicy::Manual => RingAcceptancePolicy::Manual,
-            RingAcceptancePolicy::Other(v) => RingAcceptancePolicy::Other(v.into_static()),
+            RingAcceptancePolicy::Other(v) => {
+                RingAcceptancePolicy::Other(v.into_static())
+            }
         }
     }
 }
@@ -338,7 +340,7 @@ impl LexiconSchema for Ring {
 
 pub mod ring_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -445,12 +447,18 @@ impl RingBuilder {
 
 impl RingBuilder {
     /// Set the `acceptancePolicy` field (optional)
-    pub fn acceptance_policy(mut self, value: impl Into>>) -> Self {
+    pub fn acceptance_policy(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `acceptancePolicy` field to an Option value (optional)
-    pub fn maybe_acceptance_policy(mut self, value: Option>) -> Self {
+    pub fn maybe_acceptance_policy(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -513,7 +521,10 @@ where
     St::Title: ring_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> RingBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> RingBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         RingBuilder {
             _state: PhantomData,
@@ -555,10 +566,10 @@ where
 }
 
 fn lexicon_doc_net_asadaame5121_at_circle_ring() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.asadaame5121.at-circle.ring"),
@@ -567,23 +578,27 @@ fn lexicon_doc_net_asadaame5121_at_circle_ring() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("An at-circle group definition")),
+                    description: Some(
+                        CowStr::new_static("An at-circle group definition"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("status"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("status")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("acceptancePolicy"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "How new members are accepted",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("How new members are accepted"),
+                                    ),
                                     max_length: Some(64usize),
                                     ..Default::default()
                                 }),
@@ -598,9 +613,9 @@ fn lexicon_doc_net_asadaame5121_at_circle_ring() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Description of the circle",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Description of the circle"),
+                                    ),
                                     max_length: Some(10000usize),
                                     max_graphemes: Some(1000usize),
                                     ..Default::default()
@@ -634,4 +649,4 @@ fn lexicon_doc_net_asadaame5121_at_circle_ring() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_bnewbold.rs b/crates/jacquard-api/src/net_bnewbold.rs
index 6755f9fc0..68b384945 100644
--- a/crates/jacquard-api/src/net_bnewbold.rs
+++ b/crates/jacquard-api/src/net_bnewbold.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `net.bnewbold` Lexicon namespace/module.
 pub mod demo;
-pub mod m;
+pub mod m;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_bnewbold/demo.rs b/crates/jacquard-api/src/net_bnewbold/demo.rs
index 70e00f9c4..6662da745 100644
--- a/crates/jacquard-api/src/net_bnewbold/demo.rs
+++ b/crates/jacquard-api/src/net_bnewbold/demo.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `net.bnewbold.demo` Lexicon namespace/module.
 pub mod mushies;
-pub mod mushroom;
+pub mod mushroom;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_bnewbold/demo/mushies.rs b/crates/jacquard-api/src/net_bnewbold/demo/mushies.rs
index b11382c1b..3582fb688 100644
--- a/crates/jacquard-api/src/net_bnewbold/demo/mushies.rs
+++ b/crates/jacquard-api/src/net_bnewbold/demo/mushies.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// it's a kind of fungus
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -153,7 +153,7 @@ impl LexiconSchema for Mushies {
 
 pub mod mushies_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -297,10 +297,10 @@ where
 }
 
 fn lexicon_doc_net_bnewbold_demo_mushies() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.bnewbold.demo.mushies"),
@@ -349,4 +349,4 @@ fn lexicon_doc_net_bnewbold_demo_mushies() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_bnewbold/demo/mushroom.rs b/crates/jacquard-api/src/net_bnewbold/demo/mushroom.rs
index 91edcec66..46dc99ec0 100644
--- a/crates/jacquard-api/src/net_bnewbold/demo/mushroom.rs
+++ b/crates/jacquard-api/src/net_bnewbold/demo/mushroom.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// it's a kind of fungus
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -153,7 +153,7 @@ impl LexiconSchema for Mushroom {
 
 pub mod mushroom_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -297,10 +297,10 @@ where
 }
 
 fn lexicon_doc_net_bnewbold_demo_mushroom() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.bnewbold.demo.mushroom"),
@@ -349,4 +349,4 @@ fn lexicon_doc_net_bnewbold_demo_mushroom() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_bnewbold/m.rs b/crates/jacquard-api/src/net_bnewbold/m.rs
index fd135a636..6b2308b16 100644
--- a/crates/jacquard-api/src/net_bnewbold/m.rs
+++ b/crates/jacquard-api/src/net_bnewbold/m.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// it's a kind of fungus
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -153,7 +153,7 @@ impl LexiconSchema for M {
 
 pub mod m_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -232,7 +232,10 @@ where
     St::CommonName: m_state::IsUnset,
 {
     /// Set the `commonName` field (required)
-    pub fn common_name(mut self, value: impl Into) -> MBuilder, S> {
+    pub fn common_name(
+        mut self,
+        value: impl Into,
+    ) -> MBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         MBuilder {
             _state: PhantomData,
@@ -294,10 +297,10 @@ where
 }
 
 fn lexicon_doc_net_bnewbold_m() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.bnewbold.m"),
@@ -346,4 +349,4 @@ fn lexicon_doc_net_bnewbold_m() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_jbsm.rs b/crates/jacquard-api/src/net_jbsm.rs
index 41282f2a9..82dc21ecb 100644
--- a/crates/jacquard-api/src/net_jbsm.rs
+++ b/crates/jacquard-api/src/net_jbsm.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.jbsm` Lexicon namespace/module.
-pub mod jb;
+pub mod jb;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_jbsm/jb.rs b/crates/jacquard-api/src/net_jbsm/jb.rs
index 65ec55b31..ab162e61e 100644
--- a/crates/jacquard-api/src/net_jbsm/jb.rs
+++ b/crates/jacquard-api/src/net_jbsm/jb.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.jbsm.jb` Lexicon namespace/module.
-pub mod reminder;
+pub mod reminder;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_jbsm/jb/reminder.rs b/crates/jacquard-api/src/net_jbsm/jb/reminder.rs
index 570759095..8a19ace41 100644
--- a/crates/jacquard-api/src/net_jbsm/jb/reminder.rs
+++ b/crates/jacquard-api/src/net_jbsm/jb/reminder.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A reminder scheduled to trigger at a specific time
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -132,7 +132,7 @@ fn _default_reminder_occurred() -> Option {
 
 pub mod reminder_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -391,10 +391,10 @@ where
 }
 
 fn lexicon_doc_net_jbsm_jb_reminder() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.jbsm.jb.reminder"),
@@ -496,4 +496,4 @@ fn lexicon_doc_net_jbsm_jb_reminder() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mimonelu.rs b/crates/jacquard-api/src/net_mimonelu.rs
index 482c7cc4f..53abc9b9a 100644
--- a/crates/jacquard-api/src/net_mimonelu.rs
+++ b/crates/jacquard-api/src/net_mimonelu.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.mimonelu` Lexicon namespace/module.
-pub mod klearsky;
+pub mod klearsky;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mimonelu/klearsky.rs b/crates/jacquard-api/src/net_mimonelu/klearsky.rs
index 9f3d28e41..e4eb2ca0c 100644
--- a/crates/jacquard-api/src/net_mimonelu/klearsky.rs
+++ b/crates/jacquard-api/src/net_mimonelu/klearsky.rs
@@ -8,4 +8,4 @@ pub mod extra_feed;
 pub mod lightning;
 pub mod repost_mutes;
 pub mod updated_at;
-pub mod via;
+pub mod via;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mimonelu/klearsky/extra_feed.rs b/crates/jacquard-api/src/net_mimonelu/klearsky/extra_feed.rs
index 81744c483..41dd90d62 100644
--- a/crates/jacquard-api/src/net_mimonelu/klearsky/extra_feed.rs
+++ b/crates/jacquard-api/src/net_mimonelu/klearsky/extra_feed.rs
@@ -5,7 +5,7 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 /// Extra feed type for Klearsky. Used as an extension in app.bsky.actor.defs#savedFeedsPrefV2 items.
 
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -77,4 +77,4 @@ where
             ExtraFeed::Other(v) => ExtraFeed::Other(v.into_static()),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mimonelu/klearsky/lightning.rs b/crates/jacquard-api/src/net_mimonelu/klearsky/lightning.rs
index d910725e1..f7dd9a283 100644
--- a/crates/jacquard-api/src/net_mimonelu/klearsky/lightning.rs
+++ b/crates/jacquard-api/src/net_mimonelu/klearsky/lightning.rs
@@ -5,6 +5,6 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 /// Lightning Address for Bitcoin Lightning Network payments. Used as an extension field in app.bsky.feed.post records to enable tipping.
-pub type Lightning = S;
+pub type Lightning = S;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mimonelu/klearsky/repost_mutes.rs b/crates/jacquard-api/src/net_mimonelu/klearsky/repost_mutes.rs
index 3427b3a30..dd07a7a51 100644
--- a/crates/jacquard-api/src/net_mimonelu/klearsky/repost_mutes.rs
+++ b/crates/jacquard-api/src/net_mimonelu/klearsky/repost_mutes.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::net_mimonelu::klearsky::repost_mutes;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::net_mimonelu::klearsky::repost_mutes;
 /// Klearsky client-specific record that stores a list of DIDs whose reposts should be muted.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -60,10 +60,7 @@ pub struct RepostMutesGetRecordOutput {
 /// A DID added to repost-mute list and the timestamp when it was added.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Subject {
     ///Timestamp when this DID was added to the mute list.
     pub created_at: Datetime,
@@ -138,7 +135,7 @@ impl LexiconSchema for Subject {
 
 pub mod repost_mutes_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -276,7 +273,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RepostMutes {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RepostMutes {
         RepostMutes {
             created_at: self._fields.0.unwrap(),
             subjects: self._fields.1.unwrap(),
@@ -286,10 +286,10 @@ where
 }
 
 fn lexicon_doc_net_mimonelu_klearsky_repostMutes() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.mimonelu.klearsky.repostMutes"),
@@ -351,22 +351,27 @@ fn lexicon_doc_net_mimonelu_klearsky_repostMutes() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("subject"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A DID added to repost-mute list and the timestamp when it was added.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A DID added to repost-mute list and the timestamp when it was added.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("did"), SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Timestamp when this DID was added to the mute list.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Timestamp when this DID was added to the mute list.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -374,9 +379,11 @@ fn lexicon_doc_net_mimonelu_klearsky_repostMutes() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "DID of the user whose reposts are muted.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "DID of the user whose reposts are muted.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -394,7 +401,7 @@ fn lexicon_doc_net_mimonelu_klearsky_repostMutes() -> LexiconDoc<'static> {
 
 pub mod subject_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -504,7 +511,10 @@ where
     St::Did: subject_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> SubjectBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> SubjectBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         SubjectBuilder {
             _state: PhantomData,
@@ -536,4 +546,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mimonelu/klearsky/updated_at.rs b/crates/jacquard-api/src/net_mimonelu/klearsky/updated_at.rs
index 3aafc41b4..4837922ed 100644
--- a/crates/jacquard-api/src/net_mimonelu/klearsky/updated_at.rs
+++ b/crates/jacquard-api/src/net_mimonelu/klearsky/updated_at.rs
@@ -5,7 +5,7 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::types::string::Datetime;
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::types::string::Datetime;
 /// Timestamp when the post was last edited. Used as an extension field in app.bsky.feed.post records to indicate post modification by Klearsky's edit feature.
-pub type UpdatedAt = Datetime;
+pub type UpdatedAt = Datetime;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mimonelu/klearsky/via.rs b/crates/jacquard-api/src/net_mimonelu/klearsky/via.rs
index 18475a5c4..4f8f8ba51 100644
--- a/crates/jacquard-api/src/net_mimonelu/klearsky/via.rs
+++ b/crates/jacquard-api/src/net_mimonelu/klearsky/via.rs
@@ -5,6 +5,6 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 /// Client application name and version that created the post. Used as an extension field in app.bsky.feed.post records.
-pub type Via = S;
+pub type Via = S;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mmatt.rs b/crates/jacquard-api/src/net_mmatt.rs
index 6c438c301..da89f94c4 100644
--- a/crates/jacquard-api/src/net_mmatt.rs
+++ b/crates/jacquard-api/src/net_mmatt.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `net.mmatt` Lexicon namespace/module.
 pub mod my;
 pub mod right;
-pub mod vitals;
+pub mod vitals;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mmatt/my.rs b/crates/jacquard-api/src/net_mmatt/my.rs
index 1246ce96c..bab4eea55 100644
--- a/crates/jacquard-api/src/net_mmatt/my.rs
+++ b/crates/jacquard-api/src/net_mmatt/my.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.mmatt.my` Lexicon namespace/module.
-pub mod accounts;
+pub mod accounts;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mmatt/my/accounts.rs b/crates/jacquard-api/src/net_mmatt/my/accounts.rs
index c7af81572..cbd37403f 100644
--- a/crates/jacquard-api/src/net_mmatt/my/accounts.rs
+++ b/crates/jacquard-api/src/net_mmatt/my/accounts.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record declaring a list of account references.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Accounts {
 
 pub mod accounts_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -218,10 +218,10 @@ where
 }
 
 fn lexicon_doc_net_mmatt_my_accounts() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.mmatt.my.accounts"),
@@ -230,9 +230,11 @@ fn lexicon_doc_net_mmatt_my_accounts() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a list of account references.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a list of account references.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("accounts")]),
@@ -260,4 +262,4 @@ fn lexicon_doc_net_mmatt_my_accounts() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mmatt/right.rs b/crates/jacquard-api/src/net_mmatt/right.rs
index 547be29cd..24739d99e 100644
--- a/crates/jacquard-api/src/net_mmatt/right.rs
+++ b/crates/jacquard-api/src/net_mmatt/right.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.mmatt.right` Lexicon namespace/module.
-pub mod now;
+pub mod now;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mmatt/right/now.rs b/crates/jacquard-api/src/net_mmatt/right/now.rs
index 449841ff8..b222a0078 100644
--- a/crates/jacquard-api/src/net_mmatt/right/now.rs
+++ b/crates/jacquard-api/src/net_mmatt/right/now.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A personal lexicon for mmatt's statuslog.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -109,7 +109,7 @@ impl LexiconSchema for Now {
 
 pub mod now_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -269,10 +269,10 @@ where
 }
 
 fn lexicon_doc_net_mmatt_right_now() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.mmatt.right.now"),
@@ -281,24 +281,28 @@ fn lexicon_doc_net_mmatt_right_now() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A personal lexicon for mmatt's statuslog.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A personal lexicon for mmatt's statuslog."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("text"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("text")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The unix timestamp of when the status was recorded",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The unix timestamp of when the status was recorded",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -306,18 +310,18 @@ fn lexicon_doc_net_mmatt_right_now() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("emoji"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The emoji of the status update",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The emoji of the status update"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("text"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The text of the status update",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The text of the status update"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -332,4 +336,4 @@ fn lexicon_doc_net_mmatt_right_now() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mmatt/vitals.rs b/crates/jacquard-api/src/net_mmatt/vitals.rs
index cb3965ea9..6ed157968 100644
--- a/crates/jacquard-api/src/net_mmatt/vitals.rs
+++ b/crates/jacquard-api/src/net_mmatt/vitals.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.mmatt.vitals` Lexicon namespace/module.
-pub mod car;
+pub mod car;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_mmatt/vitals/car.rs b/crates/jacquard-api/src/net_mmatt/vitals/car.rs
index 22a7bf6fd..120dd2517 100644
--- a/crates/jacquard-api/src/net_mmatt/vitals/car.rs
+++ b/crates/jacquard-api/src/net_mmatt/vitals/car.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -120,7 +120,7 @@ impl LexiconSchema for Car {
 
 pub mod car_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -436,10 +436,10 @@ where
 }
 
 fn lexicon_doc_net_mmatt_vitals_car() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.mmatt.vitals.car"),
@@ -541,4 +541,4 @@ fn lexicon_doc_net_mmatt_vitals_car() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_shwilliam.rs b/crates/jacquard-api/src/net_shwilliam.rs
index 864734536..e523df297 100644
--- a/crates/jacquard-api/src/net_shwilliam.rs
+++ b/crates/jacquard-api/src/net_shwilliam.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.shwilliam` Lexicon namespace/module.
-pub mod hyphae;
+pub mod hyphae;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_shwilliam/hyphae.rs b/crates/jacquard-api/src/net_shwilliam/hyphae.rs
index 183b897f7..780e13995 100644
--- a/crates/jacquard-api/src/net_shwilliam/hyphae.rs
+++ b/crates/jacquard-api/src/net_shwilliam/hyphae.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.shwilliam.hyphae` Lexicon namespace/module.
-pub mod note;
+pub mod note;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_shwilliam/hyphae/note.rs b/crates/jacquard-api/src/net_shwilliam/hyphae/note.rs
index aeaea1cbe..9a5c5ff8f 100644
--- a/crates/jacquard-api/src/net_shwilliam/hyphae/note.rs
+++ b/crates/jacquard-api/src/net_shwilliam/hyphae/note.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -156,7 +156,7 @@ impl LexiconSchema for Note {
 
 pub mod note_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -201,12 +201,7 @@ pub mod note_state {
 /// Builder for constructing an instance of this type.
 pub struct NoteBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option>>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -297,7 +292,10 @@ where
     St::Text: note_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> NoteBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> NoteBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         NoteBuilder {
             _state: PhantomData,
@@ -336,10 +334,10 @@ where
 }
 
 fn lexicon_doc_net_shwilliam_hyphae_note() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.shwilliam.hyphae.note"),
@@ -350,10 +348,12 @@ fn lexicon_doc_net_shwilliam_hyphae_note() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("text"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("text")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -393,7 +393,9 @@ fn lexicon_doc_net_shwilliam_hyphae_note() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("text"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("primary note content")),
+                                    description: Some(
+                                        CowStr::new_static("primary note content"),
+                                    ),
                                     max_length: Some(100000usize),
                                     max_graphemes: Some(10000usize),
                                     ..Default::default()
@@ -410,4 +412,4 @@ fn lexicon_doc_net_shwilliam_hyphae_note() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_wafrn.rs b/crates/jacquard-api/src/net_wafrn.rs
index f4ec5f788..41c174202 100644
--- a/crates/jacquard-api/src/net_wafrn.rs
+++ b/crates/jacquard-api/src/net_wafrn.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `net.wafrn` Lexicon namespace/module.
-pub mod feed;
+pub mod feed;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_wafrn/feed.rs b/crates/jacquard-api/src/net_wafrn/feed.rs
index 9bd47faa2..0443c618d 100644
--- a/crates/jacquard-api/src/net_wafrn/feed.rs
+++ b/crates/jacquard-api/src/net_wafrn/feed.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `net.wafrn.feed` Lexicon namespace/module.
 pub mod bite;
-pub mod explode;
+pub mod explode;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_wafrn/feed/bite.rs b/crates/jacquard-api/src/net_wafrn/feed/bite.rs
index 4e207977e..3413b2e04 100644
--- a/crates/jacquard-api/src/net_wafrn/feed/bite.rs
+++ b/crates/jacquard-api/src/net_wafrn/feed/bite.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a 'bite' of a piece of subject content.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Bite {
 
 pub mod bite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,10 +215,10 @@ where
 }
 
 fn lexicon_doc_net_wafrn_feed_bite() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.wafrn.feed.bite"),
@@ -227,9 +227,11 @@ fn lexicon_doc_net_wafrn_feed_bite() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a 'bite' of a piece of subject content.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a 'bite' of a piece of subject content.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -259,4 +261,4 @@ fn lexicon_doc_net_wafrn_feed_bite() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/net_wafrn/feed/explode.rs b/crates/jacquard-api/src/net_wafrn/feed/explode.rs
index c8b270ae8..499c1b982 100644
--- a/crates/jacquard-api/src/net_wafrn/feed/explode.rs
+++ b/crates/jacquard-api/src/net_wafrn/feed/explode.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record declaring a 'explode' of a piece of subject content.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Explode {
 
 pub mod explode_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -216,10 +216,10 @@ where
 }
 
 fn lexicon_doc_net_wafrn_feed_explode() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("net.wafrn.feed.explode"),
@@ -228,9 +228,11 @@ fn lexicon_doc_net_wafrn_feed_explode() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a 'explode' of a piece of subject content.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a 'explode' of a piece of subject content.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -261,4 +263,4 @@ fn lexicon_doc_net_wafrn_feed_explode() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_cosmik.rs b/crates/jacquard-api/src/network_cosmik.rs
index f20cfc469..270201fda 100644
--- a/crates/jacquard-api/src/network_cosmik.rs
+++ b/crates/jacquard-api/src/network_cosmik.rs
@@ -13,6 +13,7 @@ pub mod collection_link_removal;
 pub mod connection;
 pub mod follow;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
@@ -25,17 +26,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Represents the provenance or source of a record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Provenance {
     ///Strong reference to the card that led to this record.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -60,10 +58,10 @@ impl LexiconSchema for Provenance {
 }
 
 fn lexicon_doc_network_cosmik_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.cosmik.defs"),
@@ -72,9 +70,11 @@ fn lexicon_doc_network_cosmik_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("provenance"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Represents the provenance or source of a record.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Represents the provenance or source of a record.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -94,4 +94,4 @@ fn lexicon_doc_network_cosmik_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_cosmik/card.rs b/crates/jacquard-api/src/network_cosmik/card.rs
index c70f2bbaa..81f2b21e1 100644
--- a/crates/jacquard-api/src/network_cosmik/card.rs
+++ b/crates/jacquard-api/src/network_cosmik/card.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::network_cosmik::Provenance;
 use crate::network_cosmik::card;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A record representing a card with content.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -63,6 +63,7 @@ pub struct Card {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -166,10 +167,7 @@ pub struct CardGetRecordOutput {
 /// Content structure for a note card.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NoteContent {
     ///The note text content
     pub text: S,
@@ -180,10 +178,7 @@ pub struct NoteContent {
 /// Content structure for a URL card.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UrlContent {
     ///Optional metadata about the URL
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -197,10 +192,7 @@ pub struct UrlContent {
 /// Metadata about a URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UrlMetadata {
     ///Author of the content
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -342,7 +334,7 @@ impl LexiconSchema for UrlMetadata {
 
 pub mod card_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -573,10 +565,10 @@ where
 }
 
 fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.cosmik.card"),
@@ -675,7 +667,9 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("noteContent"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Content structure for a note card.")),
+                    description: Some(
+                        CowStr::new_static("Content structure for a note card."),
+                    ),
                     required: Some(vec![SmolStr::new_static("text")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -683,7 +677,9 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("text"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The note text content")),
+                                description: Some(
+                                    CowStr::new_static("The note text content"),
+                                ),
                                 max_length: Some(10000usize),
                                 ..Default::default()
                             }),
@@ -696,7 +692,9 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("urlContent"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Content structure for a URL card.")),
+                    description: Some(
+                        CowStr::new_static("Content structure for a URL card."),
+                    ),
                     required: Some(vec![SmolStr::new_static("url")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -711,7 +709,9 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The URL being saved")),
+                                description: Some(
+                                    CowStr::new_static("The URL being saved"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -731,32 +731,38 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Author of the content")),
+                                description: Some(
+                                    CowStr::new_static("Author of the content"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("description"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Description of the page")),
+                                description: Some(
+                                    CowStr::new_static("Description of the page"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("doi"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Digital Object Identifier (DOI) for academic content",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Digital Object Identifier (DOI) for academic content",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("imageUrl"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URL of a representative image",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URL of a representative image"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -764,18 +770,20 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("isbn"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "International Standard Book Number (ISBN) for books",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "International Standard Book Number (ISBN) for books",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("publishedDate"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the content was published",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the content was published"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -783,9 +791,9 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("retrievedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the metadata was retrieved",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the metadata was retrieved"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -807,9 +815,11 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("type"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Type of content (e.g., 'video', 'article')",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Type of content (e.g., 'video', 'article')",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -826,7 +836,7 @@ fn lexicon_doc_network_cosmik_card() -> LexiconDoc<'static> {
 
 pub mod url_content_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -945,11 +955,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UrlContent {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UrlContent {
         UrlContent {
             metadata: self._fields.0,
             url: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_cosmik/collection.rs b/crates/jacquard-api/src/network_cosmik/collection.rs
index 333f5d067..26a0a9ac5 100644
--- a/crates/jacquard-api/src/network_cosmik/collection.rs
+++ b/crates/jacquard-api/src/network_cosmik/collection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A record representing a collection of cards.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -131,7 +131,9 @@ where
         match self {
             CollectionAccessType::Open => CollectionAccessType::Open,
             CollectionAccessType::Closed => CollectionAccessType::Closed,
-            CollectionAccessType::Other(v) => CollectionAccessType::Other(v.into_static()),
+            CollectionAccessType::Other(v) => {
+                CollectionAccessType::Other(v.into_static())
+            }
         }
     }
 }
@@ -218,7 +220,7 @@ impl LexiconSchema for Collection {
 
 pub mod collection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -419,7 +421,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collection {
         Collection {
             access_type: self._fields.0.unwrap(),
             collaborators: self._fields.1,
@@ -433,10 +438,10 @@ where
 }
 
 fn lexicon_doc_network_cosmik_collection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.cosmik.collection"),
@@ -542,4 +547,4 @@ fn lexicon_doc_network_cosmik_collection() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_cosmik/collection_link.rs b/crates/jacquard-api/src/network_cosmik/collection_link.rs
index 68e5090a6..30d51a450 100644
--- a/crates/jacquard-api/src/network_cosmik/collection_link.rs
+++ b/crates/jacquard-api/src/network_cosmik/collection_link.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::network_cosmik::Provenance;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::network_cosmik::Provenance;
 /// A record representing the relationship between a card and a collection.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -121,7 +121,7 @@ impl LexiconSchema for CollectionLink {
 
 pub mod collection_link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -194,7 +194,10 @@ pub mod collection_link_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CollectionLinkBuilder {
+pub struct CollectionLinkBuilder<
+    St: collection_link_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -381,7 +384,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionLink {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CollectionLink {
         CollectionLink {
             added_at: self._fields.0.unwrap(),
             added_by: self._fields.1.unwrap(),
@@ -396,10 +402,10 @@ where
 }
 
 fn lexicon_doc_network_cosmik_collectionLink() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.cosmik.collectionLink"),
@@ -499,4 +505,4 @@ fn lexicon_doc_network_cosmik_collectionLink() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_cosmik/collection_link_removal.rs b/crates/jacquard-api/src/network_cosmik/collection_link_removal.rs
index fc65c7809..2782d6b46 100644
--- a/crates/jacquard-api/src/network_cosmik/collection_link_removal.rs
+++ b/crates/jacquard-api/src/network_cosmik/collection_link_removal.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A record representing the removal of a collection link by a collection owner when they cannot delete the original link (which exists in another user's repository). The creator of this record (determined from the AT-URI) is the user who performed the removal.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -76,7 +76,8 @@ impl XrpcResp for CollectionLinkRemovalRecord {
     type Err = RecordError;
 }
 
-impl From> for CollectionLinkRemoval {
+impl From>
+for CollectionLinkRemoval {
     fn from(output: CollectionLinkRemovalGetRecordOutput) -> Self {
         output.value
     }
@@ -109,7 +110,7 @@ impl LexiconSchema for CollectionLinkRemoval {
 
 pub mod collection_link_removal_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -177,14 +178,20 @@ pub struct CollectionLinkRemovalBuilder<
 
 impl CollectionLinkRemoval {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CollectionLinkRemovalBuilder {
+    pub fn new() -> CollectionLinkRemovalBuilder<
+        collection_link_removal_state::Empty,
+        DefaultStr,
+    > {
         CollectionLinkRemovalBuilder::new()
     }
 }
 
 impl CollectionLinkRemoval {
     /// Create a new builder for this type
-    pub fn builder() -> CollectionLinkRemovalBuilder {
+    pub fn builder() -> CollectionLinkRemovalBuilder<
+        collection_link_removal_state::Empty,
+        S,
+    > {
         CollectionLinkRemovalBuilder::builder()
     }
 }
@@ -220,7 +227,10 @@ where
     pub fn collection(
         mut self,
         value: impl Into>,
-    ) -> CollectionLinkRemovalBuilder, S> {
+    ) -> CollectionLinkRemovalBuilder<
+        collection_link_removal_state::SetCollection,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         CollectionLinkRemovalBuilder {
             _state: PhantomData,
@@ -239,7 +249,10 @@ where
     pub fn removed_at(
         mut self,
         value: impl Into,
-    ) -> CollectionLinkRemovalBuilder, S> {
+    ) -> CollectionLinkRemovalBuilder<
+        collection_link_removal_state::SetRemovedAt,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         CollectionLinkRemovalBuilder {
             _state: PhantomData,
@@ -258,7 +271,10 @@ where
     pub fn removed_link(
         mut self,
         value: impl Into>,
-    ) -> CollectionLinkRemovalBuilder, S> {
+    ) -> CollectionLinkRemovalBuilder<
+        collection_link_removal_state::SetRemovedLink,
+        S,
+    > {
         self._fields.2 = Option::Some(value.into());
         CollectionLinkRemovalBuilder {
             _state: PhantomData,
@@ -299,10 +315,10 @@ where
 }
 
 fn lexicon_doc_network_cosmik_collectionLinkRemoval() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.cosmik.collectionLinkRemoval"),
@@ -365,4 +381,4 @@ fn lexicon_doc_network_cosmik_collectionLinkRemoval() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_cosmik/connection.rs b/crates/jacquard-api/src/network_cosmik/connection.rs
index 50d7aff51..73e136fa4 100644
--- a/crates/jacquard-api/src/network_cosmik/connection.rs
+++ b/crates/jacquard-api/src/network_cosmik/connection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A connection linking a source to a target, with optional type and note.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -128,7 +128,7 @@ impl LexiconSchema for Connection {
 
 pub mod connection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -329,7 +329,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Connection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Connection {
         Connection {
             connection_type: self._fields.0,
             created_at: self._fields.1,
@@ -343,10 +346,10 @@ where
 }
 
 fn lexicon_doc_network_cosmik_connection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.cosmik.connection"),
@@ -355,33 +358,38 @@ fn lexicon_doc_network_cosmik_connection() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A connection linking a source to a target, with optional type and note.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A connection linking a source to a target, with optional type and note.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("source"),
-                            SmolStr::new_static("target"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("source"), SmolStr::new_static("target")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("connectionType"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional type of connection",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional type of connection"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when this connection was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when this connection was created.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -389,9 +397,9 @@ fn lexicon_doc_network_cosmik_connection() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("note"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional note about the connection",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional note about the connection"),
+                                    ),
                                     max_length: Some(1000usize),
                                     ..Default::default()
                                 }),
@@ -399,27 +407,29 @@ fn lexicon_doc_network_cosmik_connection() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("source"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Source entity (URL string or AT URI)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Source entity (URL string or AT URI)"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("target"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Target entity (URL string or AT URI)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Target entity (URL string or AT URI)"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when this connection was last updated.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when this connection was last updated.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -435,4 +445,4 @@ fn lexicon_doc_network_cosmik_connection() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_cosmik/follow.rs b/crates/jacquard-api/src/network_cosmik/follow.rs
index d3566752d..c165d112a 100644
--- a/crates/jacquard-api/src/network_cosmik/follow.rs
+++ b/crates/jacquard-api/src/network_cosmik/follow.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A record representing a follow of a user or collection.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Follow {
 
 pub mod follow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_network_cosmik_follow() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.cosmik.follow"),
@@ -316,4 +316,4 @@ fn lexicon_doc_network_cosmik_follow() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices.rs b/crates/jacquard-api/src/network_slices.rs
index 51b12c4c4..5e3c12bfe 100644
--- a/crates/jacquard-api/src/network_slices.rs
+++ b/crates/jacquard-api/src/network_slices.rs
@@ -8,4 +8,4 @@ pub mod actor;
 pub mod lexicon;
 pub mod slice;
 pub mod tools;
-pub mod waitlist;
+pub mod waitlist;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/actor.rs b/crates/jacquard-api/src/network_slices/actor.rs
index 1b6f57a88..fd372d097 100644
--- a/crates/jacquard-api/src/network_slices/actor.rs
+++ b/crates/jacquard-api/src/network_slices/actor.rs
@@ -8,12 +8,13 @@
 //! Generated bindings for the `network.slices.actor` Lexicon namespace/module.
 pub mod profile;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,13 +27,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileViewBasic {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option,
@@ -108,7 +106,7 @@ impl LexiconSchema for ProfileViewBasic {
 
 pub mod profile_view_basic_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -151,21 +149,21 @@ pub mod profile_view_basic_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ProfileViewBasicBuilder {
+pub struct ProfileViewBasicBuilder<
+    St: profile_view_basic_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
 impl ProfileViewBasic {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ProfileViewBasicBuilder {
+    pub fn new() -> ProfileViewBasicBuilder<
+        profile_view_basic_state::Empty,
+        DefaultStr,
+    > {
         ProfileViewBasicBuilder::new()
     }
 }
@@ -294,7 +292,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileViewBasic {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileViewBasic {
         ProfileViewBasic {
             avatar: self._fields.0,
             description: self._fields.1,
@@ -307,10 +308,10 @@ where
 }
 
 fn lexicon_doc_network_slices_actor_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.actor.defs"),
@@ -319,25 +320,22 @@ fn lexicon_doc_network_slices_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("profileViewBasic"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("handle"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("did"), SmolStr::new_static("handle")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("avatar"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("description"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Free-form profile description text.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Free-form profile description text."),
+                                ),
                                 max_length: Some(2560usize),
                                 max_graphemes: Some(256usize),
                                 ..Default::default()
@@ -374,4 +372,4 @@ fn lexicon_doc_network_slices_actor_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/actor/profile.rs b/crates/jacquard-api/src/network_slices/actor/profile.rs
index fa7bc5dd7..6b5d6ab43 100644
--- a/crates/jacquard-api/src/network_slices/actor/profile.rs
+++ b/crates/jacquard-api/src/network_slices/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A declaration of a basic account profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -123,20 +123,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -192,7 +197,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -331,10 +336,10 @@ where
 }
 
 fn lexicon_doc_network_slices_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.actor.profile"),
@@ -343,9 +348,9 @@ fn lexicon_doc_network_slices_actor_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A declaration of a basic account profile.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A declaration of a basic account profile."),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -353,9 +358,7 @@ fn lexicon_doc_network_slices_actor_profile() -> LexiconDoc<'static> {
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -367,9 +370,9 @@ fn lexicon_doc_network_slices_actor_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Free-form profile description text.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Free-form profile description text."),
+                                    ),
                                     max_length: Some(2560usize),
                                     max_graphemes: Some(256usize),
                                     ..Default::default()
@@ -394,4 +397,4 @@ fn lexicon_doc_network_slices_actor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/lexicon.rs b/crates/jacquard-api/src/network_slices/lexicon.rs
index 86d207469..1a6aebb48 100644
--- a/crates/jacquard-api/src/network_slices/lexicon.rs
+++ b/crates/jacquard-api/src/network_slices/lexicon.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -144,7 +144,7 @@ fn _default_lexicon_excluded_from_sync() -> Option {
 
 pub mod lexicon_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -337,7 +337,10 @@ where
     St::Nsid: lexicon_state::IsUnset,
 {
     /// Set the `nsid` field (required)
-    pub fn nsid(mut self, value: impl Into) -> LexiconBuilder, S> {
+    pub fn nsid(
+        mut self,
+        value: impl Into,
+    ) -> LexiconBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         LexiconBuilder {
             _state: PhantomData,
@@ -416,10 +419,10 @@ where
 }
 
 fn lexicon_doc_network_slices_lexicon() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.lexicon"),
@@ -430,21 +433,23 @@ fn lexicon_doc_network_slices_lexicon() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("nsid"),
-                            SmolStr::new_static("definitions"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("slice"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("nsid"),
+                                SmolStr::new_static("definitions"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("slice")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the lexicon was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the lexicon was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -452,18 +457,20 @@ fn lexicon_doc_network_slices_lexicon() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("definitions"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The lexicon schema definitions as JSON",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The lexicon schema definitions as JSON"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Human-readable description of the lexicon",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Human-readable description of the lexicon",
+                                        ),
+                                    ),
                                     max_length: Some(500usize),
                                     ..Default::default()
                                 }),
@@ -477,9 +484,9 @@ fn lexicon_doc_network_slices_lexicon() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("nsid"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Namespaced identifier for the lexicon",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Namespaced identifier for the lexicon"),
+                                    ),
                                     max_length: Some(256usize),
                                     ..Default::default()
                                 }),
@@ -487,9 +494,11 @@ fn lexicon_doc_network_slices_lexicon() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("slice"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT-URI reference to the slice this lexicon belongs to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "AT-URI reference to the slice this lexicon belongs to",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -497,9 +506,9 @@ fn lexicon_doc_network_slices_lexicon() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the lexicon was last updated",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the lexicon was last updated"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -515,4 +524,4 @@ fn lexicon_doc_network_slices_lexicon() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice.rs b/crates/jacquard-api/src/network_slices/slice.rs
index eb9dfd558..5cf9c8753 100644
--- a/crates/jacquard-api/src/network_slices/slice.rs
+++ b/crates/jacquard-api/src/network_slices/slice.rs
@@ -23,12 +23,13 @@ pub mod stats;
 pub mod sync_user_collections;
 pub mod update_o_auth_client;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -42,11 +43,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::actor::ProfileViewBasic;
-use crate::network_slices::slice;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::actor::ProfileViewBasic;
+use crate::network_slices::slice;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -77,11 +78,9 @@ pub struct SliceGetRecordOutput {
     pub value: Slice,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SliceView {
     pub cid: Cid,
     pub created_at: Datetime,
@@ -114,11 +113,9 @@ pub struct SliceView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SparklinePoint {
     pub count: i64,
     pub timestamp: Datetime,
@@ -238,7 +235,7 @@ impl LexiconSchema for SparklinePoint {
 
 pub mod slice_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -362,7 +359,10 @@ where
     St::Domain: slice_state::IsUnset,
 {
     /// Set the `domain` field (required)
-    pub fn domain(mut self, value: impl Into) -> SliceBuilder, S> {
+    pub fn domain(
+        mut self,
+        value: impl Into,
+    ) -> SliceBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         SliceBuilder {
             _state: PhantomData,
@@ -378,7 +378,10 @@ where
     St::Name: slice_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> SliceBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> SliceBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         SliceBuilder {
             _state: PhantomData,
@@ -416,10 +419,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice"),
@@ -484,7 +487,7 @@ fn lexicon_doc_network_slices_slice() -> LexiconDoc<'static> {
 
 pub mod slice_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -634,7 +637,18 @@ impl SliceViewBuilder {
         SliceViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -647,7 +661,18 @@ impl SliceViewBuilder {
         SliceViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -790,12 +815,18 @@ where
 
 impl SliceViewBuilder {
     /// Set the `sparkline` field (optional)
-    pub fn sparkline(mut self, value: impl Into>>>) -> Self {
+    pub fn sparkline(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.8 = value.into();
         self
     }
     /// Set the `sparkline` field to an Option value (optional)
-    pub fn maybe_sparkline(mut self, value: Option>>) -> Self {
+    pub fn maybe_sparkline(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -875,7 +906,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SliceView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SliceView {
         SliceView {
             cid: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -895,10 +929,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.defs"),
@@ -907,14 +941,14 @@ fn lexicon_doc_network_slices_slice_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sliceView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("domain"),
-                        SmolStr::new_static("creator"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("name"), SmolStr::new_static("domain"),
+                            SmolStr::new_static("creator"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -944,9 +978,11 @@ fn lexicon_doc_network_slices_slice_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("domain"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Primary domain namespace for this slice (e.g. social.grain)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Primary domain namespace for this slice (e.g. social.grain)",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -971,16 +1007,20 @@ fn lexicon_doc_network_slices_slice_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Display name of the slice")),
+                                description: Some(
+                                    CowStr::new_static("Display name of the slice"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("sparkline"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Recent activity sparkline data points for the last 24 hours",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Recent activity sparkline data points for the last 24 hours",
+                                    ),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#sparklinePoint"),
                                     ..Default::default()
@@ -1015,10 +1055,12 @@ fn lexicon_doc_network_slices_slice_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sparklinePoint"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("timestamp"),
-                        SmolStr::new_static("count"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("timestamp"),
+                            SmolStr::new_static("count")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1049,7 +1091,7 @@ fn lexicon_doc_network_slices_slice_defs() -> LexiconDoc<'static> {
 
 pub mod sparkline_point_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1092,7 +1134,10 @@ pub mod sparkline_point_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SparklinePointBuilder {
+pub struct SparklinePointBuilder<
+    St: sparkline_point_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -1187,11 +1232,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SparklinePoint {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SparklinePoint {
         SparklinePoint {
             count: self._fields.0.unwrap(),
             timestamp: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/clear_slice_records.rs b/crates/jacquard-api/src/network_slices/slice/clear_slice_records.rs
index ecb1cd2ed..05ca098df 100644
--- a/crates/jacquard-api/src/network_slices/slice/clear_slice_records.rs
+++ b/crates/jacquard-api/src/network_slices/slice/clear_slice_records.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ClearSliceRecords {
     ///AT-URI of the slice to clear
     pub slice: S,
@@ -28,11 +25,9 @@ pub struct ClearSliceRecords {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ClearSliceRecordsOutput {
     ///Success message
     pub message: S,
@@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for ClearSliceRecordsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ClearSliceRecords {
     const NSID: &'static str = "network.slices.slice.clearSliceRecords";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ClearSliceRecordsResponse;
 }
 
@@ -64,8 +60,9 @@ Path: `/xrpc/network.slices.slice.clearSliceRecords`. The request payload type i
 pub struct ClearSliceRecordsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ClearSliceRecordsRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.clearSliceRecords";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ClearSliceRecords;
     type Response = ClearSliceRecordsResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/create_o_auth_client.rs b/crates/jacquard-api/src/network_slices/slice/create_o_auth_client.rs
index e45679392..de14902d8 100644
--- a/crates/jacquard-api/src/network_slices/slice/create_o_auth_client.rs
+++ b/crates/jacquard-api/src/network_slices/slice/create_o_auth_client.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::network_slices::slice::get_o_auth_clients::OauthClientDetails;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::UriValue;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_o_auth_clients::OauthClientDetails;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateOAuthClient {
     ///Human-readable name of the OAuth client
     pub client_name: S,
@@ -55,11 +52,9 @@ pub struct CreateOAuthClient {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateOAuthClientOutput {
     #[serde(flatten)]
     pub value: OauthClientDetails,
@@ -80,8 +75,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateOAuthClientResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateOAuthClient {
     const NSID: &'static str = "network.slices.slice.createOAuthClient";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateOAuthClientResponse;
 }
 
@@ -91,15 +87,16 @@ Path: `/xrpc/network.slices.slice.createOAuthClient`. The request payload type i
 pub struct CreateOAuthClientRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateOAuthClientRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.createOAuthClient";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateOAuthClient;
     type Response = CreateOAuthClientResponse;
 }
 
 pub mod create_o_auth_client_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -156,7 +153,10 @@ pub mod create_o_auth_client_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CreateOAuthClientBuilder {
+pub struct CreateOAuthClientBuilder<
+    St: create_o_auth_client_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -175,7 +175,10 @@ pub struct CreateOAuthClientBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CreateOAuthClientBuilder {
+    pub fn new() -> CreateOAuthClientBuilder<
+        create_o_auth_client_state::Empty,
+        DefaultStr,
+    > {
         CreateOAuthClientBuilder::new()
     }
 }
@@ -381,7 +384,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateOAuthClient {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateOAuthClient {
         CreateOAuthClient {
             client_name: self._fields.0.unwrap(),
             client_uri: self._fields.1,
@@ -396,4 +402,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/delete_o_auth_client.rs b/crates/jacquard-api/src/network_slices/slice/delete_o_auth_client.rs
index 2b15a6b6f..b6c8a85b4 100644
--- a/crates/jacquard-api/src/network_slices/slice/delete_o_auth_client.rs
+++ b/crates/jacquard-api/src/network_slices/slice/delete_o_auth_client.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteOAuthClient {
     ///OAuth client ID to delete
     pub client_id: S,
@@ -28,11 +25,9 @@ pub struct DeleteOAuthClient {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteOAuthClientOutput {
     ///Success confirmation message
     pub message: S,
@@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteOAuthClientResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteOAuthClient {
     const NSID: &'static str = "network.slices.slice.deleteOAuthClient";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteOAuthClientResponse;
 }
 
@@ -64,8 +60,9 @@ Path: `/xrpc/network.slices.slice.deleteOAuthClient`. The request payload type i
 pub struct DeleteOAuthClientRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteOAuthClientRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.deleteOAuthClient";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteOAuthClient;
     type Response = DeleteOAuthClientResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_actors.rs b/crates/jacquard-api/src/network_slices/slice/get_actors.rs
index a278485e3..16d746ded 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_actors.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_actors.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did, Handle};
+use jacquard_common::types::string::{Did, Handle, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::get_actors;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_actors;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Actor {
     ///Decentralized identifier of the actor
     pub did: Did,
@@ -45,11 +42,9 @@ pub struct Actor {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActors {
     ///Pagination cursor from previous response
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -67,11 +62,9 @@ pub struct GetActors {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorsOutput {
     pub actors: Vec>,
     ///Pagination cursor for next page
@@ -109,8 +102,9 @@ impl jacquard_common::xrpc::XrpcResp for GetActorsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for GetActors {
     const NSID: &'static str = "network.slices.slice.getActors";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = GetActorsResponse;
 }
 
@@ -120,15 +114,16 @@ Path: `/xrpc/network.slices.slice.getActors`. The request payload type is `GetAc
 pub struct GetActorsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for GetActorsRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.getActors";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = GetActors;
     type Response = GetActorsResponse;
 }
 
 pub mod actor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -187,12 +182,7 @@ pub mod actor_state {
 /// Builder for constructing an instance of this type.
 pub struct ActorBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option>, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -238,7 +228,10 @@ where
     St::Did: actor_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> ActorBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> ActorBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ActorBuilder {
             _state: PhantomData,
@@ -329,10 +322,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_getActors() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.getActors"),
@@ -341,20 +334,21 @@ fn lexicon_doc_network_slices_slice_getActors() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("actor"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("sliceUri"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("did"), SmolStr::new_static("sliceUri"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Decentralized identifier of the actor",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Decentralized identifier of the actor"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -362,9 +356,9 @@ fn lexicon_doc_network_slices_slice_getActors() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("handle"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Human-readable handle of the actor",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Human-readable handle of the actor"),
+                                ),
                                 format: Some(LexStringFormat::Handle),
                                 ..Default::default()
                             }),
@@ -372,9 +366,9 @@ fn lexicon_doc_network_slices_slice_getActors() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("indexedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When this actor was indexed",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When this actor was indexed"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -382,9 +376,11 @@ fn lexicon_doc_network_slices_slice_getActors() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("sliceUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT-URI of the slice this actor is indexed in",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "AT-URI of the slice this actor is indexed in",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -398,47 +394,51 @@ fn lexicon_doc_network_slices_slice_getActors() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![SmolStr::new_static("slice")]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("cursor"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Pagination cursor from previous response",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("limit"),
-                                    LexObjectProperty::Integer(LexInteger {
-                                        minimum: Some(1i64),
-                                        maximum: Some(100i64),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("slice"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "AT-URI of the slice to query",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("where"),
-                                    LexObjectProperty::Unknown(LexUnknown {
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(vec![SmolStr::new_static("slice")]),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("cursor"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "Pagination cursor from previous response",
+                                                ),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("limit"),
+                                        LexObjectProperty::Integer(LexInteger {
+                                            minimum: Some(1i64),
+                                            maximum: Some(100i64),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("slice"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("AT-URI of the slice to query"),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("where"),
+                                        LexObjectProperty::Unknown(LexUnknown {
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -452,4 +452,4 @@ fn lexicon_doc_network_slices_slice_getActors() -> LexiconDoc<'static> {
 
 fn _default_get_actors_limit() -> Option {
     Some(50i64)
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_jetstream_logs.rs b/crates/jacquard-api/src/network_slices/slice/get_jetstream_logs.rs
index dc119f633..7cd771485 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_jetstream_logs.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_jetstream_logs.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::network_slices::slice::get_job_logs::LogEntry;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_job_logs::LogEntry;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetJetstreamLogs {
     /// Defaults to `100`. Min: 1. Max: 1000.
     #[serde(default = "_default_limit")]
@@ -31,11 +28,9 @@ pub struct GetJetstreamLogs {
     pub slice: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetJetstreamLogsOutput {
     pub logs: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -76,7 +71,7 @@ fn _default_limit() -> Option {
 
 pub mod get_jetstream_logs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -94,7 +89,10 @@ pub mod get_jetstream_logs_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetJetstreamLogsBuilder {
+pub struct GetJetstreamLogsBuilder<
+    St: get_jetstream_logs_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -102,7 +100,10 @@ pub struct GetJetstreamLogsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetJetstreamLogsBuilder {
+    pub fn new() -> GetJetstreamLogsBuilder<
+        get_jetstream_logs_state::Empty,
+        DefaultStr,
+    > {
         GetJetstreamLogsBuilder::new()
     }
 }
@@ -173,4 +174,4 @@ where
             slice: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_jetstream_status.rs b/crates/jacquard-api/src/network_slices/slice/get_jetstream_status.rs
index db25f16ea..4c0b63661 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_jetstream_status.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_jetstream_status.rs
@@ -10,21 +10,18 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetJetstreamStatus;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetJetstreamStatusOutput {
     ///Whether Jetstream is currently connected and receiving events
     pub connected: bool,
@@ -58,4 +55,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetJetstreamStatusRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetJetstreamStatus;
     type Response = GetJetstreamStatusResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_job_logs.rs b/crates/jacquard-api/src/network_slices/slice/get_job_logs.rs
index 096cbcf4c..a764c1725 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_job_logs.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_job_logs.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did};
+use jacquard_common::types::string::{Did, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::get_job_logs;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_job_logs;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LogEntry {
     ///When the log entry was created
     pub created_at: Datetime,
@@ -58,11 +55,9 @@ pub struct LogEntry {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetJobLogs {
     pub job_id: S,
     /// Defaults to `100`. Min: 1. Max: 1000.
@@ -71,11 +66,9 @@ pub struct GetJobLogs {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetJobLogsOutput {
     pub logs: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -127,7 +120,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetJobLogsRequest {
 
 pub mod log_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -295,7 +288,10 @@ where
     St::Id: log_entry_state::IsUnset,
 {
     /// Set the `id` field (required)
-    pub fn id(mut self, value: impl Into) -> LogEntryBuilder, S> {
+    pub fn id(
+        mut self,
+        value: impl Into,
+    ) -> LogEntryBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         LogEntryBuilder {
             _state: PhantomData,
@@ -456,10 +452,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_getJobLogs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.getJobLogs"),
@@ -468,22 +464,22 @@ fn lexicon_doc_network_slices_slice_getJobLogs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("logEntry"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("id"),
-                        SmolStr::new_static("createdAt"),
-                        SmolStr::new_static("logType"),
-                        SmolStr::new_static("level"),
-                        SmolStr::new_static("message"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("id"), SmolStr::new_static("createdAt"),
+                            SmolStr::new_static("logType"), SmolStr::new_static("level"),
+                            SmolStr::new_static("message")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the log entry was created",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the log entry was created"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -497,9 +493,9 @@ fn lexicon_doc_network_slices_slice_getJobLogs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("jobId"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "UUID of related job if applicable",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("UUID of related job if applicable"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -533,18 +529,18 @@ fn lexicon_doc_network_slices_slice_getJobLogs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("sliceUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT-URI of related slice if applicable",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("AT-URI of related slice if applicable"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("userDid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "DID of related user if applicable",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("DID of related user if applicable"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -557,28 +553,32 @@ fn lexicon_doc_network_slices_slice_getJobLogs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("jobId")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("jobId"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("UUID of the sync job")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("jobId")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("jobId"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("UUID of the sync job"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -594,7 +594,7 @@ fn _default_limit() -> Option {
 
 pub mod get_job_logs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -711,4 +711,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_job_status.rs b/crates/jacquard-api/src/network_slices/slice/get_job_status.rs
index a94f68b70..6b1cc4868 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_job_status.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_job_status.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Nsid};
+use jacquard_common::types::string::{Nsid, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::get_job_status;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_job_status;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct JobStatus {
     ///When the job completed
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -56,20 +53,16 @@ pub struct JobStatus {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetJobStatus {
     pub job_id: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetJobStatusOutput {
     #[serde(flatten)]
     pub value: Data,
@@ -77,11 +70,9 @@ pub struct GetJobStatusOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SyncJobResult {
     ///List of collection NSIDs that were synced
     pub collections_synced: Vec>,
@@ -157,7 +148,7 @@ impl LexiconSchema for SyncJobResult {
 
 pub mod job_status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -347,12 +338,18 @@ where
 
 impl JobStatusBuilder {
     /// Set the `result` field (optional)
-    pub fn result(mut self, value: impl Into>>) -> Self {
+    pub fn result(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
     /// Set the `result` field to an Option value (optional)
-    pub fn maybe_result(mut self, value: Option>) -> Self {
+    pub fn maybe_result(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -432,7 +429,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> JobStatus {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> JobStatus {
         JobStatus {
             completed_at: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -448,10 +448,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.getJobStatus"),
@@ -460,19 +460,22 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("jobStatus"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("jobId"),
-                        SmolStr::new_static("status"),
-                        SmolStr::new_static("createdAt"),
-                        SmolStr::new_static("retryCount"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("jobId"), SmolStr::new_static("status"),
+                            SmolStr::new_static("createdAt"),
+                            SmolStr::new_static("retryCount")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("completedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("When the job completed")),
+                                description: Some(
+                                    CowStr::new_static("When the job completed"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -480,7 +483,9 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("When the job was created")),
+                                description: Some(
+                                    CowStr::new_static("When the job was created"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -488,9 +493,9 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("error"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Error message if job failed",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Error message if job failed"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -517,9 +522,9 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("startedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the job started executing",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the job started executing"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -527,7 +532,9 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("status"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Current status of the job")),
+                                description: Some(
+                                    CowStr::new_static("Current status of the job"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -539,44 +546,52 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("jobId")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("jobId"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("UUID of the sync job")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("jobId")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("jobId"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("UUID of the sync job"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("syncJobResult"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("success"),
-                        SmolStr::new_static("totalRecords"),
-                        SmolStr::new_static("collectionsSynced"),
-                        SmolStr::new_static("reposProcessed"),
-                        SmolStr::new_static("message"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("success"),
+                            SmolStr::new_static("totalRecords"),
+                            SmolStr::new_static("collectionsSynced"),
+                            SmolStr::new_static("reposProcessed"),
+                            SmolStr::new_static("message")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("collectionsSynced"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "List of collection NSIDs that were synced",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "List of collection NSIDs that were synced",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     format: Some(LexStringFormat::Nsid),
                                     ..Default::default()
@@ -587,9 +602,11 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("message"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Human-readable message about the job completion",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Human-readable message about the job completion",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -624,7 +641,7 @@ fn lexicon_doc_network_slices_slice_getJobStatus() -> LexiconDoc<'static> {
 
 pub mod get_job_status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -731,7 +748,7 @@ where
 
 pub mod sync_job_result_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -822,15 +839,12 @@ pub mod sync_job_result_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SyncJobResultBuilder {
+pub struct SyncJobResultBuilder<
+    St: sync_job_result_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>>, Option, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -986,7 +1000,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SyncJobResult {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SyncJobResult {
         SyncJobResult {
             collections_synced: self._fields.0.unwrap(),
             message: self._fields.1.unwrap(),
@@ -996,4 +1013,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_o_auth_clients.rs b/crates/jacquard-api/src/network_slices/slice/get_o_auth_clients.rs
index 0a7eb8f08..a49dca6bc 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_o_auth_clients.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_o_auth_clients.rs
@@ -10,47 +10,40 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, Datetime, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::get_o_auth_clients;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_o_auth_clients;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOAuthClients {
     pub slice: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetOAuthClientsOutput {
     pub clients: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OauthClientDetails {
     ///OAuth client ID
     pub client_id: S,
@@ -133,7 +126,7 @@ impl LexiconSchema for OauthClientDetails {
 
 pub mod get_o_auth_clients_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -164,7 +157,10 @@ pub mod get_o_auth_clients_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetOAuthClientsBuilder {
+pub struct GetOAuthClientsBuilder<
+    St: get_o_auth_clients_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -240,7 +236,7 @@ where
 
 pub mod oauth_client_details_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -373,8 +369,10 @@ pub mod oauth_client_details_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct OauthClientDetailsBuilder
-{
+pub struct OauthClientDetailsBuilder<
+    St: oauth_client_details_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -396,7 +394,10 @@ pub struct OauthClientDetailsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> OauthClientDetailsBuilder {
+    pub fn new() -> OauthClientDetailsBuilder<
+        oauth_client_details_state::Empty,
+        DefaultStr,
+    > {
         OauthClientDetailsBuilder::new()
     }
 }
@@ -414,7 +415,19 @@ impl OauthClientDetailsBuilder {
         OauthClientDetailsBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -427,7 +440,19 @@ impl OauthClientDetailsBuilder
         OauthClientDetailsBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -676,7 +701,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> OauthClientDetails {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> OauthClientDetails {
         OauthClientDetails {
             client_id: self._fields.0.unwrap(),
             client_name: self._fields.1.unwrap(),
@@ -697,10 +725,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.getOAuthClients"),
@@ -709,39 +737,45 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("slice")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("slice"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT-URI of the slice to get OAuth clients for",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("slice")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("slice"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "AT-URI of the slice to get OAuth clients for",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("oauthClientDetails"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("clientId"),
-                        SmolStr::new_static("clientName"),
-                        SmolStr::new_static("redirectUris"),
-                        SmolStr::new_static("grantTypes"),
-                        SmolStr::new_static("responseTypes"),
-                        SmolStr::new_static("createdAt"),
-                        SmolStr::new_static("createdByDid"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("clientId"),
+                            SmolStr::new_static("clientName"),
+                            SmolStr::new_static("redirectUris"),
+                            SmolStr::new_static("grantTypes"),
+                            SmolStr::new_static("responseTypes"),
+                            SmolStr::new_static("createdAt"),
+                            SmolStr::new_static("createdByDid")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -755,27 +789,31 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("clientName"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Human-readable name of the OAuth client",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Human-readable name of the OAuth client",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("clientSecret"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "OAuth client secret (only returned on creation)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "OAuth client secret (only returned on creation)",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("clientUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI of the client application",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URI of the client application"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -783,9 +821,9 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the OAuth client was created",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the OAuth client was created"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -793,9 +831,11 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("createdByDid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "DID of the user who created this client",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "DID of the user who created this client",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -803,7 +843,9 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("grantTypes"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static("Allowed OAuth grant types")),
+                                description: Some(
+                                    CowStr::new_static("Allowed OAuth grant types"),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     ..Default::default()
                                 }),
@@ -813,7 +855,9 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("logoUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("URI of the client logo")),
+                                description: Some(
+                                    CowStr::new_static("URI of the client logo"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -821,7 +865,9 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("policyUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("URI of the privacy policy")),
+                                description: Some(
+                                    CowStr::new_static("URI of the privacy policy"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -829,9 +875,9 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("redirectUris"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Allowed redirect URIs for OAuth flow",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Allowed redirect URIs for OAuth flow"),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
@@ -842,9 +888,9 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("responseTypes"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Allowed OAuth response types",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Allowed OAuth response types"),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     ..Default::default()
                                 }),
@@ -861,9 +907,9 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("tosUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI of the terms of service",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URI of the terms of service"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -877,4 +923,4 @@ fn lexicon_doc_network_slices_slice_getOAuthClients() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_slice_records.rs b/crates/jacquard-api/src/network_slices/slice/get_slice_records.rs
index 026ff51db..855727684 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_slice_records.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_slice_records.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, Nsid};
+use jacquard_common::types::string::{Did, AtUri, Nsid, Cid, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::get_slice_records;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_slice_records;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct IndexedRecord {
     ///Content identifier of the record
     pub cid: Cid,
@@ -48,11 +45,9 @@ pub struct IndexedRecord {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSliceRecords {
     ///Pagination cursor from previous response
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -73,11 +68,9 @@ pub struct GetSliceRecords {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSliceRecordsOutput {
     ///Pagination cursor for next page
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -115,8 +108,9 @@ impl jacquard_common::xrpc::XrpcResp for GetSliceRecordsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for GetSliceRecords {
     const NSID: &'static str = "network.slices.slice.getSliceRecords";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = GetSliceRecordsResponse;
 }
 
@@ -126,15 +120,16 @@ Path: `/xrpc/network.slices.slice.getSliceRecords`. The request payload type is
 pub struct GetSliceRecordsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for GetSliceRecordsRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.getSliceRecords";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = GetSliceRecords;
     type Response = GetSliceRecordsResponse;
 }
 
 pub mod indexed_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -245,7 +240,10 @@ pub mod indexed_record_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct IndexedRecordBuilder {
+pub struct IndexedRecordBuilder<
+    St: indexed_record_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -431,7 +429,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> IndexedRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> IndexedRecord {
         IndexedRecord {
             cid: self._fields.0.unwrap(),
             collection: self._fields.1.unwrap(),
@@ -445,10 +446,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.getSliceRecords"),
@@ -457,23 +458,24 @@ fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("indexedRecord"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("collection"),
-                        SmolStr::new_static("value"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("did"),
+                            SmolStr::new_static("collection"),
+                            SmolStr::new_static("value"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content identifier of the record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Content identifier of the record"),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -481,9 +483,11 @@ fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("collection"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "NSID of the collection this record belongs to",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "NSID of the collection this record belongs to",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Nsid),
                                 ..Default::default()
                             }),
@@ -491,7 +495,9 @@ fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("DID of the record creator")),
+                                description: Some(
+                                    CowStr::new_static("DID of the record creator"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -499,9 +505,9 @@ fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("indexedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When this record was indexed",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When this record was indexed"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -509,7 +515,9 @@ fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("AT-URI of the record")),
+                                description: Some(
+                                    CowStr::new_static("AT-URI of the record"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -530,53 +538,57 @@ fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![SmolStr::new_static("slice")]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("cursor"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Pagination cursor from previous response",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("limit"),
-                                    LexObjectProperty::Integer(LexInteger {
-                                        minimum: Some(1i64),
-                                        maximum: Some(100i64),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("slice"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "AT-URI of the slice to query",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("sortBy"),
-                                    LexObjectProperty::Unknown(LexUnknown {
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("where"),
-                                    LexObjectProperty::Unknown(LexUnknown {
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(vec![SmolStr::new_static("slice")]),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("cursor"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "Pagination cursor from previous response",
+                                                ),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("limit"),
+                                        LexObjectProperty::Integer(LexInteger {
+                                            minimum: Some(1i64),
+                                            maximum: Some(100i64),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("slice"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("AT-URI of the slice to query"),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("sortBy"),
+                                        LexObjectProperty::Unknown(LexUnknown {
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("where"),
+                                        LexObjectProperty::Unknown(LexUnknown {
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -590,4 +602,4 @@ fn lexicon_doc_network_slices_slice_getSliceRecords() -> LexiconDoc<'static> {
 
 fn _default_get_slice_records_limit() -> Option {
     Some(50i64)
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_sparklines.rs b/crates/jacquard-api/src/network_slices/slice/get_sparklines.rs
index 56797e07e..a6390e27f 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_sparklines.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_sparklines.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::SparklinePoint;
-use crate::network_slices::slice::get_sparklines;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::SparklinePoint;
+use crate::network_slices::slice::get_sparklines;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSparklines {
     ///Time range to fetch data for  Defaults to `"24h"`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -46,11 +43,9 @@ pub struct GetSparklines {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSparklinesOutput {
     ///Array of slice sparkline data entries
     pub sparklines: Vec>,
@@ -58,11 +53,9 @@ pub struct GetSparklinesOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SparklineEntry {
     ///Array of sparkline data points
     pub points: Vec>,
@@ -85,8 +78,9 @@ impl jacquard_common::xrpc::XrpcResp for GetSparklinesResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for GetSparklines {
     const NSID: &'static str = "network.slices.slice.getSparklines";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = GetSparklinesResponse;
 }
 
@@ -96,8 +90,9 @@ Path: `/xrpc/network.slices.slice.getSparklines`. The request payload type is `G
 pub struct GetSparklinesRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for GetSparklinesRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.getSparklines";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = GetSparklines;
     type Response = GetSparklinesResponse;
 }
@@ -127,7 +122,7 @@ fn _default_get_sparklines_interval() -> ::core::option::Optio
 
 pub mod get_sparklines_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -158,7 +153,10 @@ pub mod get_sparklines_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetSparklinesBuilder {
+pub struct GetSparklinesBuilder<
+    St: get_sparklines_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -260,7 +258,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> GetSparklines {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> GetSparklines {
         GetSparklines {
             duration: self._fields.0.or_else(|| Some(S::from_static("24h"))),
             interval: self._fields.1.or_else(|| Some(S::from_static("hour"))),
@@ -272,7 +273,7 @@ where
 
 pub mod sparkline_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -315,7 +316,10 @@ pub mod sparkline_entry_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SparklineEntryBuilder {
+pub struct SparklineEntryBuilder<
+    St: sparkline_entry_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>, Option),
     _type: PhantomData S>,
@@ -410,7 +414,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SparklineEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SparklineEntry {
         SparklineEntry {
             points: self._fields.0.unwrap(),
             slice_uri: self._fields.1.unwrap(),
@@ -420,10 +427,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_getSparklines() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.getSparklines"),
@@ -434,45 +441,49 @@ fn lexicon_doc_network_slices_slice_getSparklines() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![SmolStr::new_static("slices")]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("duration"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Time range to fetch data for",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("interval"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Time interval for data points",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("slices"),
-                                    LexObjectProperty::Array(LexArray {
-                                        description: Some(CowStr::new_static(
-                                            "Array of slice AT-URIs to get sparkline data for",
-                                        )),
-                                        items: LexArrayItem::String(LexString {
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(vec![SmolStr::new_static("slices")]),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("duration"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("Time range to fetch data for"),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("interval"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("Time interval for data points"),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("slices"),
+                                        LexObjectProperty::Array(LexArray {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "Array of slice AT-URIs to get sparkline data for",
+                                                ),
+                                            ),
+                                            items: LexArrayItem::String(LexString {
+                                                ..Default::default()
+                                            }),
                                             ..Default::default()
                                         }),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -481,19 +492,21 @@ fn lexicon_doc_network_slices_slice_getSparklines() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sparklineEntry"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("sliceUri"),
-                        SmolStr::new_static("points"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("sliceUri"),
+                            SmolStr::new_static("points")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("points"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Array of sparkline data points",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Array of sparkline data points"),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static(
                                         "network.slices.slice.defs#sparklinePoint",
@@ -506,7 +519,9 @@ fn lexicon_doc_network_slices_slice_getSparklines() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("sliceUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("AT-URI of the slice")),
+                                description: Some(
+                                    CowStr::new_static("AT-URI of the slice"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -519,4 +534,4 @@ fn lexicon_doc_network_slices_slice_getSparklines() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/get_sync_summary.rs b/crates/jacquard-api/src/network_slices/slice/get_sync_summary.rs
index 3e19ecd01..8c9d49ce7 100644
--- a/crates/jacquard-api/src/network_slices/slice/get_sync_summary.rs
+++ b/crates/jacquard-api/src/network_slices/slice/get_sync_summary.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::get_sync_summary;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_sync_summary;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CollectionSummary {
     pub collection: S,
     pub estimated_repos: i64,
@@ -38,11 +35,9 @@ pub struct CollectionSummary {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSyncSummary {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub collections: Option>,
@@ -53,11 +48,9 @@ pub struct GetSyncSummary {
     pub slice: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSyncSummaryOutput {
     ///The actual limit applied (user-specified or default)
     pub applied_limit: i64,
@@ -117,7 +110,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSyncSummaryRequest {
 
 pub mod collection_summary_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -174,7 +167,10 @@ pub mod collection_summary_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CollectionSummaryBuilder {
+pub struct CollectionSummaryBuilder<
+    St: collection_summary_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -182,7 +178,10 @@ pub struct CollectionSummaryBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CollectionSummaryBuilder {
+    pub fn new() -> CollectionSummaryBuilder<
+        collection_summary_state::Empty,
+        DefaultStr,
+    > {
         CollectionSummaryBuilder::new()
     }
 }
@@ -290,7 +289,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionSummary {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CollectionSummary {
         CollectionSummary {
             collection: self._fields.0.unwrap(),
             estimated_repos: self._fields.1.unwrap(),
@@ -301,10 +303,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_getSyncSummary() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.getSyncSummary"),
@@ -313,19 +315,19 @@ fn lexicon_doc_network_slices_slice_getSyncSummary() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("collectionSummary"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("collection"),
-                        SmolStr::new_static("estimatedRepos"),
-                        SmolStr::new_static("isExternal"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("collection"),
+                            SmolStr::new_static("estimatedRepos"),
+                            SmolStr::new_static("isExternal")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("collection"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("estimatedRepos"),
@@ -347,51 +349,53 @@ fn lexicon_doc_network_slices_slice_getSyncSummary() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("slice")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("collections"),
-                                LexXrpcParametersProperty::Array(LexPrimitiveArray {
-                                    items: LexPrimitiveArrayItem::String(LexString {
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("slice")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("collections"),
+                                    LexXrpcParametersProperty::Array(LexPrimitiveArray {
+                                        items: LexPrimitiveArrayItem::String(LexString {
+                                            ..Default::default()
+                                        }),
                                         ..Default::default()
                                     }),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("externalCollections"),
-                                LexXrpcParametersProperty::Array(LexPrimitiveArray {
-                                    items: LexPrimitiveArrayItem::String(LexString {
+                                );
+                                map.insert(
+                                    SmolStr::new_static("externalCollections"),
+                                    LexXrpcParametersProperty::Array(LexPrimitiveArray {
+                                        items: LexPrimitiveArrayItem::String(LexString {
+                                            ..Default::default()
+                                        }),
                                         ..Default::default()
                                     }),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repos"),
-                                LexXrpcParametersProperty::Array(LexPrimitiveArray {
-                                    items: LexPrimitiveArrayItem::String(LexString {
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repos"),
+                                    LexXrpcParametersProperty::Array(LexPrimitiveArray {
+                                        items: LexPrimitiveArrayItem::String(LexString {
+                                            ..Default::default()
+                                        }),
                                         ..Default::default()
                                     }),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("slice"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URI of the slice to sync",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("slice"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("URI of the slice to sync"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -403,7 +407,7 @@ fn lexicon_doc_network_slices_slice_getSyncSummary() -> LexiconDoc<'static> {
 
 pub mod get_sync_summary_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -434,7 +438,10 @@ pub mod get_sync_summary_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetSyncSummaryBuilder {
+pub struct GetSyncSummaryBuilder<
+    St: get_sync_summary_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>, Option>, Option),
     _type: PhantomData S>,
@@ -548,4 +555,4 @@ where
             slice: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/start_sync.rs b/crates/jacquard-api/src/network_slices/slice/start_sync.rs
index 0cae0f8dd..df2252846 100644
--- a/crates/jacquard-api/src/network_slices/slice/start_sync.rs
+++ b/crates/jacquard-api/src/network_slices/slice/start_sync.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{Did, Nsid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StartSync {
     ///List of collection NSIDs to sync (primary collections matching slice domain)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -45,11 +42,9 @@ pub struct StartSync {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StartSyncOutput {
     ///UUID of the enqueued sync job
     pub job_id: S,
@@ -72,8 +67,9 @@ impl jacquard_common::xrpc::XrpcResp for StartSyncResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for StartSync {
     const NSID: &'static str = "network.slices.slice.startSync";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = StartSyncResponse;
 }
 
@@ -83,12 +79,13 @@ Path: `/xrpc/network.slices.slice.startSync`. The request payload type is `Start
 pub struct StartSyncRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for StartSyncRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.startSync";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = StartSync;
     type Response = StartSyncResponse;
 }
 
 fn _default_start_sync_skip_validation() -> Option {
     Some(false)
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/stats.rs b/crates/jacquard-api/src/network_slices/slice/stats.rs
index 9f8947280..67c9de0ab 100644
--- a/crates/jacquard-api/src/network_slices/slice/stats.rs
+++ b/crates/jacquard-api/src/network_slices/slice/stats.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::slice::stats;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::stats;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CollectionStats {
     ///Collection NSID
     pub collection: Nsid,
@@ -42,20 +39,16 @@ pub struct CollectionStats {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Stats {
     pub slice: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StatsOutput {
     ///Per-collection statistics
     pub collection_stats: Vec>,
@@ -116,7 +109,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for StatsRequest {
 
 pub mod collection_stats_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -173,7 +166,10 @@ pub mod collection_stats_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CollectionStatsBuilder {
+pub struct CollectionStatsBuilder<
+    St: collection_stats_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -289,7 +285,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionStats {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CollectionStats {
         CollectionStats {
             collection: self._fields.0.unwrap(),
             record_count: self._fields.1.unwrap(),
@@ -300,10 +299,10 @@ where
 }
 
 fn lexicon_doc_network_slices_slice_stats() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.slice.stats"),
@@ -312,11 +311,13 @@ fn lexicon_doc_network_slices_slice_stats() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("collectionStats"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("collection"),
-                        SmolStr::new_static("recordCount"),
-                        SmolStr::new_static("uniqueActors"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("collection"),
+                            SmolStr::new_static("recordCount"),
+                            SmolStr::new_static("uniqueActors")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -348,24 +349,28 @@ fn lexicon_doc_network_slices_slice_stats() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("slice")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("slice"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT-URI of the slice to get statistics for",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("slice")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("slice"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "AT-URI of the slice to get statistics for",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -377,7 +382,7 @@ fn lexicon_doc_network_slices_slice_stats() -> LexiconDoc<'static> {
 
 pub mod stats_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -456,7 +461,10 @@ where
     St::Slice: stats_state::IsUnset,
 {
     /// Set the `slice` field (required)
-    pub fn slice(mut self, value: impl Into) -> StatsBuilder, S> {
+    pub fn slice(
+        mut self,
+        value: impl Into,
+    ) -> StatsBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         StatsBuilder {
             _state: PhantomData,
@@ -477,4 +485,4 @@ where
             slice: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/sync_user_collections.rs b/crates/jacquard-api/src/network_slices/slice/sync_user_collections.rs
index 279b30180..ee352d052 100644
--- a/crates/jacquard-api/src/network_slices/slice/sync_user_collections.rs
+++ b/crates/jacquard-api/src/network_slices/slice/sync_user_collections.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SyncUserCollections {
     ///AT-URI of the slice to sync user data into
     pub slice: S,
@@ -32,11 +29,9 @@ pub struct SyncUserCollections {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SyncUserCollectionsOutput {
     ///Number of records successfully synced
     pub records_synced: i64,
@@ -61,8 +56,9 @@ impl jacquard_common::xrpc::XrpcResp for SyncUserCollectionsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for SyncUserCollections {
     const NSID: &'static str = "network.slices.slice.syncUserCollections";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = SyncUserCollectionsResponse;
 }
 
@@ -72,12 +68,13 @@ Path: `/xrpc/network.slices.slice.syncUserCollections`. The request payload type
 pub struct SyncUserCollectionsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for SyncUserCollectionsRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.syncUserCollections";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = SyncUserCollections;
     type Response = SyncUserCollectionsResponse;
 }
 
 fn _default_sync_user_collections_timeout_seconds() -> Option {
     Some(30i64)
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/slice/update_o_auth_client.rs b/crates/jacquard-api/src/network_slices/slice/update_o_auth_client.rs
index afa1a90ef..3334d6ca0 100644
--- a/crates/jacquard-api/src/network_slices/slice/update_o_auth_client.rs
+++ b/crates/jacquard-api/src/network_slices/slice/update_o_auth_client.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::network_slices::slice::get_o_auth_clients::OauthClientDetails;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::UriValue;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::slice::get_o_auth_clients::OauthClientDetails;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateOAuthClient {
     ///OAuth client ID to update
     pub client_id: S,
@@ -51,11 +48,9 @@ pub struct UpdateOAuthClient {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateOAuthClientOutput {
     #[serde(flatten)]
     pub value: OauthClientDetails,
@@ -76,8 +71,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateOAuthClientResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpdateOAuthClient {
     const NSID: &'static str = "network.slices.slice.updateOAuthClient";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpdateOAuthClientResponse;
 }
 
@@ -87,8 +83,9 @@ Path: `/xrpc/network.slices.slice.updateOAuthClient`. The request payload type i
 pub struct UpdateOAuthClientRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpdateOAuthClientRequest {
     const PATH: &'static str = "/xrpc/network.slices.slice.updateOAuthClient";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpdateOAuthClient;
     type Response = UpdateOAuthClientResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools.rs b/crates/jacquard-api/src/network_slices/tools.rs
index 21e07b8c3..30771b3b5 100644
--- a/crates/jacquard-api/src/network_slices/tools.rs
+++ b/crates/jacquard-api/src/network_slices/tools.rs
@@ -10,12 +10,13 @@ pub mod bug;
 pub mod document;
 pub mod richtext;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,16 +27,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::tools;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::tools;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Image {
     ///Alt text description of the image, for accessibility
     pub alt: S,
@@ -44,11 +42,9 @@ pub struct Image {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Images {
     pub images: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -84,16 +80,19 @@ impl LexiconSchema for Image {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -135,7 +134,7 @@ impl LexiconSchema for Images {
 
 pub mod image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -226,7 +225,10 @@ where
     St::Alt: image_state::IsUnset,
 {
     /// Set the `alt` field (required)
-    pub fn alt(mut self, value: impl Into) -> ImageBuilder, S> {
+    pub fn alt(
+        mut self,
+        value: impl Into,
+    ) -> ImageBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ImageBuilder {
             _state: PhantomData,
@@ -280,10 +282,10 @@ where
 }
 
 fn lexicon_doc_network_slices_tools_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.tools.defs"),
@@ -292,27 +294,26 @@ fn lexicon_doc_network_slices_tools_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("image"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("image"),
-                        SmolStr::new_static("alt"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("image"), SmolStr::new_static("alt")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("alt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Alt text description of the image, for accessibility",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Alt text description of the image, for accessibility",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("image"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -350,7 +351,7 @@ fn lexicon_doc_network_slices_tools_defs() -> LexiconDoc<'static> {
 
 pub mod images_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -461,4 +462,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools/bug.rs b/crates/jacquard-api/src/network_slices/tools/bug.rs
index e68baf68a..fb8e1e83e 100644
--- a/crates/jacquard-api/src/network_slices/tools/bug.rs
+++ b/crates/jacquard-api/src/network_slices/tools/bug.rs
@@ -10,12 +10,13 @@ pub mod comment;
 pub mod issue;
 pub mod response;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -29,11 +30,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::tools::Images;
-use crate::network_slices::tools::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::tools::Images;
+use crate::network_slices::tools::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -64,6 +65,7 @@ pub struct Bug {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum BugSeverity {
     Cosmetic,
@@ -292,7 +294,7 @@ impl LexiconSchema for Bug {
 
 pub mod bug_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -522,7 +524,10 @@ where
 
 impl BugBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -539,7 +544,10 @@ where
     St::Namespace: bug_state::IsUnset,
 {
     /// Set the `namespace` field (required)
-    pub fn namespace(mut self, value: impl Into) -> BugBuilder, S> {
+    pub fn namespace(
+        mut self,
+        value: impl Into,
+    ) -> BugBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         BugBuilder {
             _state: PhantomData,
@@ -589,12 +597,18 @@ where
 
 impl BugBuilder {
     /// Set the `stepsToReproduceFacets` field (optional)
-    pub fn steps_to_reproduce_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn steps_to_reproduce_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.8 = value.into();
         self
     }
     /// Set the `stepsToReproduceFacets` field to an Option value (optional)
-    pub fn maybe_steps_to_reproduce_facets(mut self, value: Option>>) -> Self {
+    pub fn maybe_steps_to_reproduce_facets(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -606,7 +620,10 @@ where
     St::Title: bug_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> BugBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> BugBuilder, S> {
         self._fields.9 = Option::Some(value.into());
         BugBuilder {
             _state: PhantomData,
@@ -661,10 +678,10 @@ where
 }
 
 fn lexicon_doc_network_slices_tools_bug() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.tools.bug"),
@@ -675,14 +692,16 @@ fn lexicon_doc_network_slices_tools_bug() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("namespace"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("stepsToReproduce"),
-                            SmolStr::new_static("severity"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"),
+                                SmolStr::new_static("namespace"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("stepsToReproduce"),
+                                SmolStr::new_static("severity"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -696,9 +715,9 @@ fn lexicon_doc_network_slices_tools_bug() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("attachments"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    refs: vec![CowStr::new_static(
-                                        "network.slices.tools.defs#images",
-                                    )],
+                                    refs: vec![
+                                        CowStr::new_static("network.slices.tools.defs#images")
+                                    ],
                                     ..Default::default()
                                 }),
                             );
@@ -720,9 +739,11 @@ fn lexicon_doc_network_slices_tools_bug() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("descriptionFacets"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Annotations of description (mentions and links)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Annotations of description (mentions and links)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static(
                                             "network.slices.tools.richtext.facet",
@@ -735,9 +756,11 @@ fn lexicon_doc_network_slices_tools_bug() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("namespace"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Target namespace like 'social.grain' or 'app.bsky'",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Target namespace like 'social.grain' or 'app.bsky'",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -758,9 +781,11 @@ fn lexicon_doc_network_slices_tools_bug() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("stepsToReproduceFacets"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Annotations of steps to reproduce (mentions and links)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Annotations of steps to reproduce (mentions and links)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static(
                                             "network.slices.tools.richtext.facet",
@@ -789,4 +814,4 @@ fn lexicon_doc_network_slices_tools_bug() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools/bug/comment.rs b/crates/jacquard-api/src/network_slices/tools/bug/comment.rs
index ceb7ead7f..c1fe4c191 100644
--- a/crates/jacquard-api/src/network_slices/tools/bug/comment.rs
+++ b/crates/jacquard-api/src/network_slices/tools/bug/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::network_slices::tools::Images;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::network_slices::tools::Images;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -139,7 +139,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -264,7 +264,10 @@ where
     St::Body: comment_state::IsUnset,
 {
     /// Set the `body` field (required)
-    pub fn body(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn body(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -372,10 +375,10 @@ where
 }
 
 fn lexicon_doc_network_slices_tools_bug_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.tools.bug.comment"),
@@ -386,20 +389,21 @@ fn lexicon_doc_network_slices_tools_bug_comment() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("bug"),
-                            SmolStr::new_static("body"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("bug"), SmolStr::new_static("body"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("attachments"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    refs: vec![CowStr::new_static(
-                                        "network.slices.tools.defs#images",
-                                    )],
+                                    refs: vec![
+                                        CowStr::new_static("network.slices.tools.defs#images")
+                                    ],
                                     ..Default::default()
                                 }),
                             );
@@ -414,9 +418,11 @@ fn lexicon_doc_network_slices_tools_bug_comment() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("bodyFacets"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Annotations of body text (mentions and links)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Annotations of body text (mentions and links)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("app.bsky.richtext.facet"),
                                         ..Default::default()
@@ -427,9 +433,9 @@ fn lexicon_doc_network_slices_tools_bug_comment() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("bug"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Reference to the bug report",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Reference to the bug report"),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -444,9 +450,11 @@ fn lexicon_doc_network_slices_tools_bug_comment() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("parent"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional reference to parent comment for threading",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Optional reference to parent comment for threading",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -462,4 +470,4 @@ fn lexicon_doc_network_slices_tools_bug_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools/bug/issue.rs b/crates/jacquard-api/src/network_slices/tools/bug/issue.rs
index ac5002e93..39f5108e3 100644
--- a/crates/jacquard-api/src/network_slices/tools/bug/issue.rs
+++ b/crates/jacquard-api/src/network_slices/tools/bug/issue.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -106,7 +106,7 @@ impl LexiconSchema for Issue {
 
 pub mod issue_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -211,7 +211,10 @@ where
     St::Bug: issue_state::IsUnset,
 {
     /// Set the `bug` field (required)
-    pub fn bug(mut self, value: impl Into>) -> IssueBuilder, S> {
+    pub fn bug(
+        mut self,
+        value: impl Into>,
+    ) -> IssueBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         IssueBuilder {
             _state: PhantomData,
@@ -287,10 +290,10 @@ where
 }
 
 fn lexicon_doc_network_slices_tools_bug_issue() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.tools.bug.issue"),
@@ -301,20 +304,21 @@ fn lexicon_doc_network_slices_tools_bug_issue() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("bug"),
-                            SmolStr::new_static("issue"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("bug"), SmolStr::new_static("issue"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("bug"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Reference to the bug report",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Reference to the bug report"),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -329,9 +333,9 @@ fn lexicon_doc_network_slices_tools_bug_issue() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("issue"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Reference to the linked issue",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Reference to the linked issue"),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -347,4 +351,4 @@ fn lexicon_doc_network_slices_tools_bug_issue() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools/bug/response.rs b/crates/jacquard-api/src/network_slices/tools/bug/response.rs
index 15cc66598..2e96998f2 100644
--- a/crates/jacquard-api/src/network_slices/tools/bug/response.rs
+++ b/crates/jacquard-api/src/network_slices/tools/bug/response.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -51,6 +51,7 @@ pub struct Response {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ResponseStatus {
     Acknowledged,
@@ -223,7 +224,7 @@ impl LexiconSchema for Response {
 
 pub mod response_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -443,10 +444,10 @@ where
 }
 
 fn lexicon_doc_network_slices_tools_bug_response() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.tools.bug.response"),
@@ -457,20 +458,21 @@ fn lexicon_doc_network_slices_tools_bug_response() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("bug"),
-                            SmolStr::new_static("status"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("bug"), SmolStr::new_static("status"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("bug"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Reference to the bug report",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Reference to the bug report"),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -485,9 +487,9 @@ fn lexicon_doc_network_slices_tools_bug_response() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("message"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional explanation or link to fix",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Optional explanation or link to fix"),
+                                    ),
                                     max_length: Some(3000usize),
                                     max_graphemes: Some(1000usize),
                                     ..Default::default()
@@ -496,9 +498,11 @@ fn lexicon_doc_network_slices_tools_bug_response() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("messageFacets"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Annotations of message (mentions and links)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Annotations of message (mentions and links)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("app.bsky.richtext.facet"),
                                         ..Default::default()
@@ -523,4 +527,4 @@ fn lexicon_doc_network_slices_tools_bug_response() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools/document.rs b/crates/jacquard-api/src/network_slices/tools/document.rs
index 4e45ea4c2..575ced5ef 100644
--- a/crates/jacquard-api/src/network_slices/tools/document.rs
+++ b/crates/jacquard-api/src/network_slices/tools/document.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,18 +25,15 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::tools::document;
-use crate::network_slices::tools::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::tools::richtext::facet::Facet;
+use crate::network_slices::tools::document;
 /// A fenced code block
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CodeBlock {
     pub code: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -48,10 +45,7 @@ pub struct CodeBlock {
 /// A heading block (h1-h3) with optional inline formatting
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Heading {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -64,10 +58,7 @@ pub struct Heading {
 /// An embedded image with alt text
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ImageEmbed {
     ///Alt text for accessibility
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -77,6 +68,7 @@ pub struct ImageEmbed {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
     rename_all = "camelCase",
@@ -98,6 +90,7 @@ pub struct Document {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -130,10 +123,7 @@ pub struct DocumentGetRecordOutput {
 /// A paragraph block with optional inline formatting
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Paragraph {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -145,10 +135,7 @@ pub struct Paragraph {
 /// A blockquote with optional inline formatting
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Quote {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -160,10 +147,7 @@ pub struct Quote {
 /// An embedded Tangled repo card
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TangledEmbed {
     ///The repo owner's handle
     pub handle: S,
@@ -300,16 +284,19 @@ impl LexiconSchema for ImageEmbed {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -477,10 +464,10 @@ impl LexiconSchema for TangledEmbed {
 }
 
 fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.tools.document"),
@@ -516,13 +503,14 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("heading"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A heading block (h1-h3) with optional inline formatting",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("level"),
-                        SmolStr::new_static("text"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A heading block (h1-h3) with optional inline formatting",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("level"), SmolStr::new_static("text")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -561,7 +549,9 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("imageEmbed"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("An embedded image with alt text")),
+                    description: Some(
+                        CowStr::new_static("An embedded image with alt text"),
+                    ),
                     required: Some(vec![SmolStr::new_static("image")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -569,16 +559,16 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("alt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Alt text for accessibility")),
+                                description: Some(
+                                    CowStr::new_static("Alt text for accessibility"),
+                                ),
                                 max_length: Some(1000usize),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("image"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -590,21 +580,22 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("slug"),
-                            SmolStr::new_static("blocks"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"), SmolStr::new_static("slug"),
+                                SmolStr::new_static("blocks"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("blocks"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Document content as array of blocks",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Document content as array of blocks"),
+                                    ),
                                     items: LexArrayItem::Union(LexRefUnion {
                                         refs: vec![
                                             CowStr::new_static("#paragraph"),
@@ -612,7 +603,7 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
                                             CowStr::new_static("#codeBlock"),
                                             CowStr::new_static("#quote"),
                                             CowStr::new_static("#tangledEmbed"),
-                                            CowStr::new_static("#imageEmbed"),
+                                            CowStr::new_static("#imageEmbed")
                                         ],
                                         ..Default::default()
                                     }),
@@ -629,9 +620,11 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("slug"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URL-friendly identifier, unique per author",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "URL-friendly identifier, unique per author",
+                                        ),
+                                    ),
                                     max_length: Some(100usize),
                                     ..Default::default()
                                 }),
@@ -661,9 +654,11 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("paragraph"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A paragraph block with optional inline formatting",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A paragraph block with optional inline formatting",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("text")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -695,9 +690,11 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("quote"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A blockquote with optional inline formatting",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A blockquote with optional inline formatting",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("text")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -729,18 +726,21 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("tangledEmbed"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("An embedded Tangled repo card")),
-                    required: Some(vec![
-                        SmolStr::new_static("handle"),
-                        SmolStr::new_static("repo"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An embedded Tangled repo card"),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("handle"), SmolStr::new_static("repo")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("handle"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The repo owner's handle")),
+                                description: Some(
+                                    CowStr::new_static("The repo owner's handle"),
+                                ),
                                 max_length: Some(300usize),
                                 ..Default::default()
                             }),
@@ -748,7 +748,9 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("repo"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The repository name")),
+                                description: Some(
+                                    CowStr::new_static("The repository name"),
+                                ),
                                 max_length: Some(300usize),
                                 ..Default::default()
                             }),
@@ -766,7 +768,7 @@ fn lexicon_doc_network_slices_tools_document() -> LexiconDoc<'static> {
 
 pub mod heading_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -889,7 +891,10 @@ where
     St::Text: heading_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> HeadingBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> HeadingBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         HeadingBuilder {
             _state: PhantomData,
@@ -927,7 +932,7 @@ where
 
 pub mod image_embed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1046,7 +1051,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageEmbed {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ImageEmbed {
         ImageEmbed {
             alt: self._fields.0,
             image: self._fields.1.unwrap(),
@@ -1057,7 +1065,7 @@ where
 
 pub mod document_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1222,7 +1230,10 @@ where
     St::Slug: document_state::IsUnset,
 {
     /// Set the `slug` field (required)
-    pub fn slug(mut self, value: impl Into) -> DocumentBuilder, S> {
+    pub fn slug(
+        mut self,
+        value: impl Into,
+    ) -> DocumentBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         DocumentBuilder {
             _state: PhantomData,
@@ -1294,4 +1305,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools/richtext.rs b/crates/jacquard-api/src/network_slices/tools/richtext.rs
index 43945b846..0afd2e6e9 100644
--- a/crates/jacquard-api/src/network_slices/tools/richtext.rs
+++ b/crates/jacquard-api/src/network_slices/tools/richtext.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `network.slices.tools.richtext` Lexicon namespace/module.
-pub mod facet;
+pub mod facet;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/tools/richtext/facet.rs b/crates/jacquard-api/src/network_slices/tools/richtext/facet.rs
index 32198db8d..2f240f9e8 100644
--- a/crates/jacquard-api/src/network_slices/tools/richtext/facet.rs
+++ b/crates/jacquard-api/src/network_slices/tools/richtext/facet.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::network_slices::tools::richtext::facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::network_slices::tools::richtext::facet;
 /// Facet feature for bold text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Bold {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -40,10 +37,7 @@ pub struct Bold {
 /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ByteSlice {
     pub byte_end: i64,
     pub byte_start: i64,
@@ -54,10 +48,7 @@ pub struct ByteSlice {
 /// Facet feature for inline code.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Code {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -66,10 +57,7 @@ pub struct Code {
 /// Facet feature for fenced code blocks.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CodeBlock {
     ///Optional language identifier for syntax highlighting.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -81,10 +69,7 @@ pub struct CodeBlock {
 /// Facet feature for italic text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Italic {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -93,10 +78,7 @@ pub struct Italic {
 /// Facet feature for a URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Link {
     pub uri: UriValue,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -106,10 +88,7 @@ pub struct Link {
 /// Annotation of a sub-string within rich text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Facet {
     pub features: Vec>,
     pub index: facet::ByteSlice,
@@ -117,6 +96,7 @@ pub struct Facet {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -259,10 +239,10 @@ impl LexiconSchema for Facet {
 }
 
 fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.tools.richtext.facet"),
@@ -271,7 +251,9 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("bold"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for bold text.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for bold text."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -320,7 +302,9 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("code"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for inline code.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for inline code."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -333,7 +317,9 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("codeBlock"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for fenced code blocks.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for fenced code blocks."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -341,9 +327,11 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("lang"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional language identifier for syntax highlighting.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional language identifier for syntax highlighting.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -355,7 +343,9 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("italic"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for italic text.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for italic text."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -388,13 +378,16 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Annotation of a sub-string within rich text.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("index"),
-                        SmolStr::new_static("features"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Annotation of a sub-string within rich text.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("index"), SmolStr::new_static("features")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -403,11 +396,9 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
                             LexObjectProperty::Array(LexArray {
                                 items: LexArrayItem::Union(LexRefUnion {
                                     refs: vec![
-                                        CowStr::new_static("#link"),
-                                        CowStr::new_static("#bold"),
-                                        CowStr::new_static("#italic"),
-                                        CowStr::new_static("#code"),
-                                        CowStr::new_static("#codeBlock"),
+                                        CowStr::new_static("#link"), CowStr::new_static("#bold"),
+                                        CowStr::new_static("#italic"), CowStr::new_static("#code"),
+                                        CowStr::new_static("#codeBlock")
                                     ],
                                     ..Default::default()
                                 }),
@@ -434,7 +425,7 @@ fn lexicon_doc_network_slices_tools_richtext_facet() -> LexiconDoc<'static> {
 
 pub mod byte_slice_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -572,7 +563,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ByteSlice {
         ByteSlice {
             byte_end: self._fields.0.unwrap(),
             byte_start: self._fields.1.unwrap(),
@@ -583,7 +577,7 @@ where
 
 pub mod link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -662,7 +656,10 @@ where
     St::Uri: link_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> LinkBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         LinkBuilder {
             _state: PhantomData,
@@ -695,7 +692,7 @@ where
 
 pub mod facet_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -740,10 +737,7 @@ pub mod facet_state {
 /// Builder for constructing an instance of this type.
 pub struct FacetBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option>,
-    ),
+    _fields: (Option>>, Option>),
     _type: PhantomData S>,
 }
 
@@ -843,4 +837,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/waitlist.rs b/crates/jacquard-api/src/network_slices/waitlist.rs
index 083a088b9..9f36ea05b 100644
--- a/crates/jacquard-api/src/network_slices/waitlist.rs
+++ b/crates/jacquard-api/src/network_slices/waitlist.rs
@@ -9,6 +9,7 @@
 pub mod invite;
 pub mod request;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -19,23 +20,20 @@ use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::actor::ProfileViewBasic;
 /// An invite granting a DID access with profile information
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct InviteView {
     ///When this invitation was created
     pub created_at: Datetime,
@@ -59,10 +57,7 @@ pub struct InviteView {
 /// A request to join the waitlist with profile information
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RequestView {
     ///When the user joined the waitlist
     pub created_at: Datetime,
@@ -107,7 +102,7 @@ impl LexiconSchema for RequestView {
 
 pub mod invite_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -329,7 +324,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> InviteView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> InviteView {
         InviteView {
             created_at: self._fields.0.unwrap(),
             did: self._fields.1.unwrap(),
@@ -343,10 +341,10 @@ where
 }
 
 fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.waitlist.defs"),
@@ -355,23 +353,26 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("inviteView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "An invite granting a DID access with profile information",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("slice"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "An invite granting a DID access with profile information",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("did"), SmolStr::new_static("slice"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When this invitation was created",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When this invitation was created"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -379,7 +380,9 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The DID being invited")),
+                                description: Some(
+                                    CowStr::new_static("The DID being invited"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -387,9 +390,11 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("expiresAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional expiration date for this invitation",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional expiration date for this invitation",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -397,16 +402,20 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("profile"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("slice"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The AT URI of the slice this invite is for",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The AT URI of the slice this invite is for",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -414,9 +423,9 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The AT URI of this invite record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The AT URI of this invite record"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -429,22 +438,26 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("requestView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A request to join the waitlist with profile information",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("slice"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A request to join the waitlist with profile information",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("slice"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the user joined the waitlist",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the user joined the waitlist"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -452,16 +465,20 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("profile"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("slice"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The AT URI of the slice being requested access to",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The AT URI of the slice being requested access to",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -479,7 +496,7 @@ fn lexicon_doc_network_slices_waitlist_defs() -> LexiconDoc<'static> {
 
 pub mod request_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -524,11 +541,7 @@ pub mod request_view_state {
 /// Builder for constructing an instance of this type.
 pub struct RequestViewBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -635,7 +648,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RequestView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RequestView {
         RequestView {
             created_at: self._fields.0.unwrap(),
             profile: self._fields.1,
@@ -643,4 +659,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/waitlist/invite.rs b/crates/jacquard-api/src/network_slices/waitlist/invite.rs
index 089db741e..b01a3ce19 100644
--- a/crates/jacquard-api/src/network_slices/waitlist/invite.rs
+++ b/crates/jacquard-api/src/network_slices/waitlist/invite.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An invite granting a DID access, created by the slice owner
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for Invite {
 
 pub mod invite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,12 +170,7 @@ pub mod invite_state {
 /// Builder for constructing an instance of this type.
 pub struct InviteBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -240,7 +235,10 @@ where
     St::Did: invite_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> InviteBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> InviteBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         InviteBuilder {
             _state: PhantomData,
@@ -312,10 +310,10 @@ where
 }
 
 fn lexicon_doc_network_slices_waitlist_invite() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.waitlist.invite"),
@@ -324,25 +322,28 @@ fn lexicon_doc_network_slices_waitlist_invite() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An invite granting a DID access, created by the slice owner",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "An invite granting a DID access, created by the slice owner",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("did"),
-                            SmolStr::new_static("slice"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("did"), SmolStr::new_static("slice"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this invitation was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this invitation was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -350,7 +351,9 @@ fn lexicon_doc_network_slices_waitlist_invite() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("did"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("The DID being invited")),
+                                    description: Some(
+                                        CowStr::new_static("The DID being invited"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -358,9 +361,11 @@ fn lexicon_doc_network_slices_waitlist_invite() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("expiresAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional expiration date for this invitation",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Optional expiration date for this invitation",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -368,9 +373,11 @@ fn lexicon_doc_network_slices_waitlist_invite() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("slice"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The AT URI of the slice this invite is for",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The AT URI of the slice this invite is for",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -386,4 +393,4 @@ fn lexicon_doc_network_slices_waitlist_invite() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/network_slices/waitlist/request.rs b/crates/jacquard-api/src/network_slices/waitlist/request.rs
index dd869275e..7ba26d779 100644
--- a/crates/jacquard-api/src/network_slices/waitlist/request.rs
+++ b/crates/jacquard-api/src/network_slices/waitlist/request.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A request to join the waitlist
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Request {
 
 pub mod request_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_network_slices_waitlist_request() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("network.slices.waitlist.request"),
@@ -266,22 +266,26 @@ fn lexicon_doc_network_slices_waitlist_request() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A request to join the waitlist")),
+                    description: Some(
+                        CowStr::new_static("A request to join the waitlist"),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("slice"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("slice"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When the user joined the waitlist",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When the user joined the waitlist"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -289,9 +293,11 @@ fn lexicon_doc_network_slices_waitlist_request() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("slice"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The AT URI of the slice being requested access to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The AT URI of the slice being requested access to",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -307,4 +313,4 @@ fn lexicon_doc_network_slices_waitlist_request() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky.rs b/crates/jacquard-api/src/ooo_bsky.rs
index bc73d7d48..8b190101b 100644
--- a/crates/jacquard-api/src/ooo_bsky.rs
+++ b/crates/jacquard-api/src/ooo_bsky.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `ooo.bsky` Lexicon namespace/module.
 pub mod authfetch;
 pub mod hds;
-pub mod hidden;
+pub mod hidden;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch.rs b/crates/jacquard-api/src/ooo_bsky/authfetch.rs
index a5069f80f..b26765ae5 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch.rs
@@ -12,4 +12,4 @@ pub mod fetch_records;
 pub mod import_repo;
 pub mod list_records;
 pub mod put_record;
-pub mod strategy;
+pub mod strategy;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/delete_records.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/delete_records.rs
index 0e84df725..66702f56e 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/delete_records.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/delete_records.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteRecords {
     ///The AT URIs of the records to delete.
     pub uris: Vec>,
@@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteRecordsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteRecords {
     const NSID: &'static str = "ooo.bsky.authfetch.deleteRecords";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteRecordsResponse;
 }
 
@@ -53,15 +51,16 @@ Path: `/xrpc/ooo.bsky.authfetch.deleteRecords`. The request payload type is `Del
 pub struct DeleteRecordsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteRecordsRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.authfetch.deleteRecords";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteRecords;
     type Response = DeleteRecordsResponse;
 }
 
 pub mod delete_records_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -92,7 +91,10 @@ pub mod delete_records_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct DeleteRecordsBuilder {
+pub struct DeleteRecordsBuilder<
+    St: delete_records_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>,),
     _type: PhantomData S>,
@@ -166,10 +168,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteRecords {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteRecords {
         DeleteRecords {
             uris: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/describe_repo.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/describe_repo.rs
index cc1151819..cd2ee35ea 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/describe_repo.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/describe_repo.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{Did, Nsid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeRepoOutput {
     ///The list of collection NSIDs in the hidden repository.
     pub collections: Vec>,
@@ -63,4 +60,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeRepoRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = DescribeRepo;
     type Response = DescribeRepoResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/destroy_repo.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/destroy_repo.rs
index 7839d42ac..9c9ce3db2 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/destroy_repo.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/destroy_repo.rs
@@ -10,11 +10,11 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /** Request marker for the `ooo.bsky.authfetch.destroyRepo` procedure.
 
 This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/
@@ -34,8 +34,9 @@ impl jacquard_common::xrpc::XrpcResp for DestroyRepoResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DestroyRepo {
     const NSID: &'static str = "ooo.bsky.authfetch.destroyRepo";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DestroyRepoResponse;
 }
 
@@ -45,8 +46,9 @@ Path: `/xrpc/ooo.bsky.authfetch.destroyRepo`. The request payload type is `Destr
 pub struct DestroyRepoRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DestroyRepoRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.authfetch.destroyRepo";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DestroyRepo;
     type Response = DestroyRepoResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/export_repo.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/export_repo.rs
index fafd10ca9..78d694585 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/export_repo.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/export_repo.rs
@@ -10,12 +10,12 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -74,4 +74,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ExportRepoRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = ExportRepo;
     type Response = ExportRepoResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/fetch_records.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/fetch_records.rs
index 126a3fa02..ddbdfdcc3 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/fetch_records.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/fetch_records.rs
@@ -21,26 +21,21 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::ooo_bsky::authfetch::fetch_records;
-use crate::ooo_bsky::authfetch::strategy::Strategy;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::ooo_bsky::authfetch::strategy::Strategy;
+use crate::ooo_bsky::authfetch::fetch_records;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FetchRecords {
     pub uris: Vec>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FetchRecordsOutput {
     ///The results of the queries. Missing results indicate an error. For privacy, the error is not returned.
     pub results: Vec>,
@@ -51,10 +46,7 @@ pub struct FetchRecordsOutput {
 /// Successful result, with the record value.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FetchRecordsResult {
     ///The stored private record value.
     pub record: Data,
@@ -111,7 +103,7 @@ impl LexiconSchema for FetchRecordsResult {
 
 pub mod fetch_records_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -218,7 +210,7 @@ where
 
 pub mod fetch_records_result_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -275,8 +267,10 @@ pub mod fetch_records_result_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct FetchRecordsResultBuilder
-{
+pub struct FetchRecordsResultBuilder<
+    St: fetch_records_result_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>, Option>),
     _type: PhantomData S>,
@@ -284,7 +278,10 @@ pub struct FetchRecordsResultBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> FetchRecordsResultBuilder {
+    pub fn new() -> FetchRecordsResultBuilder<
+        fetch_records_result_state::Empty,
+        DefaultStr,
+    > {
         FetchRecordsResultBuilder::new()
     }
 }
@@ -392,7 +389,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> FetchRecordsResult {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> FetchRecordsResult {
         FetchRecordsResult {
             record: self._fields.0.unwrap(),
             strategy: self._fields.1.unwrap(),
@@ -403,10 +403,10 @@ where
 }
 
 fn lexicon_doc_ooo_bsky_authfetch_fetchRecords() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.authfetch.fetchRecords"),
@@ -415,41 +415,44 @@ fn lexicon_doc_ooo_bsky_authfetch_fetchRecords() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("uris")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("uris"),
-                                LexXrpcParametersProperty::Array(LexPrimitiveArray {
-                                    items: LexPrimitiveArrayItem::String(LexString {
-                                        format: Some(LexStringFormat::AtUri),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("uris")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("uris"),
+                                    LexXrpcParametersProperty::Array(LexPrimitiveArray {
+                                        items: LexPrimitiveArrayItem::String(LexString {
+                                            format: Some(LexStringFormat::AtUri),
+                                            ..Default::default()
+                                        }),
+                                        min_length: Some(1usize),
+                                        max_length: Some(50usize),
                                         ..Default::default()
                                     }),
-                                    min_length: Some(1usize),
-                                    max_length: Some(50usize),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("result"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Successful result, with the record value.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("strategy"),
-                        SmolStr::new_static("record"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Successful result, with the record value."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("strategy"),
+                            SmolStr::new_static("record")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -469,7 +472,9 @@ fn lexicon_doc_ooo_bsky_authfetch_fetchRecords() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The AT URI of the record.")),
+                                description: Some(
+                                    CowStr::new_static("The AT URI of the record."),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -483,4 +488,4 @@ fn lexicon_doc_ooo_bsky_authfetch_fetchRecords() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/import_repo.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/import_repo.rs
index 281ed76e6..0dd772c23 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/import_repo.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/import_repo.rs
@@ -10,12 +10,12 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -36,16 +36,22 @@ impl jacquard_common::xrpc::XrpcResp for ImportRepoResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ImportRepo {
     const NSID: &'static str = "ooo.bsky.authfetch.importRepo";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/vnd.ipld.car",
+    );
     type Response = ImportRepoResponse;
-    fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError>
+    fn encode_body(
+        &self,
+        buffer: &mut Vec,
+    ) -> Result<(), jacquard_common::xrpc::EncodeError>
     where
         Self: Serialize,
     {
         Ok(buffer.copy_from_slice(self.body.as_ref()))
     }
-    fn decode_body<'de>(body: &'de [u8]) -> Result
+    fn decode_body<'de>(
+        body: &'de [u8],
+    ) -> Result
     where
         Self: Deserialize<'de>,
     {
@@ -61,8 +67,9 @@ Path: `/xrpc/ooo.bsky.authfetch.importRepo`. The request payload type is `Import
 pub struct ImportRepoRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ImportRepoRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.authfetch.importRepo";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/vnd.ipld.car",
+    );
     type Request = ImportRepo;
     type Response = ImportRepoResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/list_records.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/list_records.rs
index 0fd52ed97..0eafc2ebd 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/list_records.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/list_records.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::ooo_bsky::authfetch::list_records;
-use crate::ooo_bsky::authfetch::strategy::Strategy;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::ooo_bsky::authfetch::strategy::Strategy;
+use crate::ooo_bsky::authfetch::list_records;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRecords {
     pub collection: Nsid,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -44,11 +41,9 @@ pub struct ListRecords {
     pub reverse: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRecordsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,10 +55,7 @@ pub struct ListRecordsOutput {
 /// A record in the hidden repository.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Record {
     ///The strategy used to authenticate fetch requests for this record.
     pub strategy: Strategy,
@@ -124,7 +116,7 @@ fn _default_limit() -> Option {
 
 pub mod list_records_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -273,7 +265,7 @@ where
 
 pub mod record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -397,7 +389,10 @@ where
     St::Uri: record_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> RecordBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> RecordBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         RecordBuilder {
             _state: PhantomData,
@@ -454,10 +449,10 @@ where
 }
 
 fn lexicon_doc_ooo_bsky_authfetch_listRecords() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.authfetch.listRecords"),
@@ -466,55 +461,60 @@ fn lexicon_doc_ooo_bsky_authfetch_listRecords() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("collection")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("collection"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The NSID of the record collection.",
-                                    )),
-                                    format: Some(LexStringFormat::Nsid),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("reverse"),
-                                LexXrpcParametersProperty::Boolean(LexBoolean {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("collection")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("collection"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("The NSID of the record collection."),
+                                        ),
+                                        format: Some(LexStringFormat::Nsid),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("reverse"),
+                                    LexXrpcParametersProperty::Boolean(LexBoolean {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("record"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A record in the hidden repository.")),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("strategy"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A record in the hidden repository."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("strategy"),
+                            SmolStr::new_static("value")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -528,7 +528,9 @@ fn lexicon_doc_ooo_bsky_authfetch_listRecords() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The AT URI of the record.")),
+                                description: Some(
+                                    CowStr::new_static("The AT URI of the record."),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -548,4 +550,4 @@ fn lexicon_doc_ooo_bsky_authfetch_listRecords() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/put_record.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/put_record.rs
index 36043a5c8..5ec7163a9 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/put_record.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/put_record.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::ooo_bsky::authfetch::strategy::Strategy;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{AtUri, Nsid, RecordKey, Rkey};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::ooo_bsky::authfetch::strategy::Strategy;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutRecord {
     ///The NSID of the record collection.
     pub collection: Nsid,
@@ -36,11 +33,9 @@ pub struct PutRecord {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutRecordOutput {
     ///The AT URI of the stored record.
     pub uri: AtUri,
@@ -61,8 +56,9 @@ impl jacquard_common::xrpc::XrpcResp for PutRecordResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutRecord {
     const NSID: &'static str = "ooo.bsky.authfetch.putRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutRecordResponse;
 }
 
@@ -72,15 +68,16 @@ Path: `/xrpc/ooo.bsky.authfetch.putRecord`. The request payload type is `PutReco
 pub struct PutRecordRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutRecordRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.authfetch.putRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutRecord;
     type Response = PutRecordResponse;
 }
 
 pub mod put_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -295,7 +292,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PutRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PutRecord {
         PutRecord {
             collection: self._fields.0.unwrap(),
             record: self._fields.1.unwrap(),
@@ -304,4 +304,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/authfetch/strategy.rs b/crates/jacquard-api/src/ooo_bsky/authfetch/strategy.rs
index 607f24f46..3033b8314 100644
--- a/crates/jacquard-api/src/ooo_bsky/authfetch/strategy.rs
+++ b/crates/jacquard-api/src/ooo_bsky/authfetch/strategy.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,29 +19,26 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// The strategy used to authenticate fetch requests for private records in a hidden repository.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Strategy {
     /**The name that identifies the strategy. The following strategies are supported:
-    1. `nobody` - Only the author
-    2. `author-follows` - Accounts the author follows
-    3. `following-author` - Accounts following the author
-    4. `mutuals` - Accounts that both the author follows and are following the author
-    5. `mentioned` - The author, along with any accounts "mentioned", including in-text or via reply/embed/etc. links
-    6. `threadgate` - Uses the public post's existing `app.bsky.feed.threadgate` record to determine visibility
-    7. `circle` - Implementation-defined, generally a configurable per-author list of accounts
-    8. `inherit` - Implementation-defined, generally used for replies, allows the set of accounts that the parent record allows, plus the author of the reply record
+1. `nobody` - Only the author
+2. `author-follows` - Accounts the author follows
+3. `following-author` - Accounts following the author
+4. `mutuals` - Accounts that both the author follows and are following the author
+5. `mentioned` - The author, along with any accounts "mentioned", including in-text or via reply/embed/etc. links
+6. `threadgate` - Uses the public post's existing `app.bsky.feed.threadgate` record to determine visibility
+7. `circle` - Implementation-defined, generally a configurable per-author list of accounts
+8. `inherit` - Implementation-defined, generally used for replies, allows the set of accounts that the parent record allows, plus the author of the reply record
 
-    When fetching a private record from the hidden repository, the server will check the record's strategy, and if the requesting account is not allowed, the server will act as if the record does not exist.
+When fetching a private record from the hidden repository, the server will check the record's strategy, and if the requesting account is not allowed, the server will act as if the record does not exist.
 
-    Of course, many of these strategies depend on the specifics of `app.bsky.graph.follow` / `app.bsky.feed.post` or similar implementation-defined records. You might need to write some code to get support for non-bsky apps.
-    */
+Of course, many of these strategies depend on the specifics of `app.bsky.graph.follow` / `app.bsky.feed.post` or similar implementation-defined records. You might need to write some code to get support for non-bsky apps.
+*/
     pub name: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -63,10 +60,10 @@ impl LexiconSchema for Strategy {
 }
 
 fn lexicon_doc_ooo_bsky_authfetch_strategy() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.authfetch.strategy"),
@@ -104,4 +101,4 @@ fn lexicon_doc_ooo_bsky_authfetch_strategy() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds.rs b/crates/jacquard-api/src/ooo_bsky/hds.rs
index 4dc4eb840..96a2213e4 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds.rs
@@ -13,4 +13,4 @@ pub mod get_records;
 pub mod import_account;
 pub mod list_records;
 pub mod put_record;
-pub mod server;
+pub mod server;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/create_record.rs b/crates/jacquard-api/src/ooo_bsky/hds/create_record.rs
index 8553abc68..f91dc3b66 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/create_record.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/create_record.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
-use jacquard_common::types::string::{Cid, Nsid, RecordKey, Rkey, UriValue};
+use jacquard_common::types::string::{Nsid, Cid, RecordKey, Rkey, UriValue};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateRecord {
     pub collection: Nsid,
     pub gate_uri: UriValue,
@@ -36,11 +33,9 @@ pub struct CreateRecord {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateRecordOutput {
     pub cid: Cid,
     pub uri: UriValue,
@@ -49,19 +44,25 @@ pub struct CreateRecordOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreateRecordError {
     #[serde(rename = "AlreadyExists")]
     AlreadyExists(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreateRecordError {
@@ -98,8 +99,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateRecordResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateRecord {
     const NSID: &'static str = "ooo.bsky.hds.createRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateRecordResponse;
 }
 
@@ -109,15 +111,16 @@ Path: `/xrpc/ooo.bsky.hds.createRecord`. The request payload type is `CreateReco
 pub struct CreateRecordRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateRecordRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.hds.createRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateRecord;
     type Response = CreateRecordResponse;
 }
 
 pub mod create_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -362,7 +365,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateRecord {
         CreateRecord {
             collection: self._fields.0.unwrap(),
             gate_uri: self._fields.1.unwrap(),
@@ -373,4 +379,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/delete_account.rs b/crates/jacquard-api/src/ooo_bsky/hds/delete_account.rs
index 7e505c4c8..88e3dc2ce 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/delete_account.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/delete_account.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteAccount {
     pub repo: AtIdentifier,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -41,8 +38,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteAccountResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteAccount {
     const NSID: &'static str = "ooo.bsky.hds.deleteAccount";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteAccountResponse;
 }
 
@@ -52,15 +50,16 @@ Path: `/xrpc/ooo.bsky.hds.deleteAccount`. The request payload type is `DeleteAcc
 pub struct DeleteAccountRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteAccountRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.hds.deleteAccount";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteAccount;
     type Response = DeleteAccountResponse;
 }
 
 pub mod delete_account_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -91,7 +90,10 @@ pub mod delete_account_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct DeleteAccountBuilder {
+pub struct DeleteAccountBuilder<
+    St: delete_account_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -165,10 +167,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteAccount {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteAccount {
         DeleteAccount {
             repo: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/delete_record.rs b/crates/jacquard-api/src/ooo_bsky/hds/delete_record.rs
index 12e6d9695..a0a3d4820 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/delete_record.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/delete_record.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
-use jacquard_common::types::string::{Cid, Nsid, RecordKey, Rkey};
+use jacquard_common::types::string::{Nsid, Cid, RecordKey, Rkey};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteRecord {
     pub collection: Nsid,
     pub repo: AtIdentifier,
@@ -33,19 +30,25 @@ pub struct DeleteRecord {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteRecordError {
     #[serde(rename = "InvalidSwap")]
     InvalidSwap(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteRecordError {
@@ -82,8 +85,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteRecordResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteRecord {
     const NSID: &'static str = "ooo.bsky.hds.deleteRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteRecordResponse;
 }
 
@@ -93,15 +97,16 @@ Path: `/xrpc/ooo.bsky.hds.deleteRecord`. The request payload type is `DeleteReco
 pub struct DeleteRecordRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteRecordRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.hds.deleteRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteRecord;
     type Response = DeleteRecordResponse;
 }
 
 pub mod delete_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -293,7 +298,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteRecord {
         DeleteRecord {
             collection: self._fields.0.unwrap(),
             repo: self._fields.1.unwrap(),
@@ -302,4 +310,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/describe_account.rs b/crates/jacquard-api/src/ooo_bsky/hds/describe_account.rs
index dc5267341..2854f905a 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/describe_account.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/describe_account.rs
@@ -10,28 +10,23 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::{Did, Nsid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeAccount {
     pub repo: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeAccountOutput {
     pub collections: Vec>,
     pub did: Did,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeAccountRequest {
 
 pub mod describe_account_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -100,7 +95,10 @@ pub mod describe_account_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct DescribeAccountBuilder {
+pub struct DescribeAccountBuilder<
+    St: describe_account_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -172,4 +170,4 @@ where
             repo: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/export_account.rs b/crates/jacquard-api/src/ooo_bsky/hds/export_account.rs
index 25edcf980..f8acf5183 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/export_account.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/export_account.rs
@@ -10,12 +10,12 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -61,8 +61,9 @@ impl jacquard_common::xrpc::XrpcResp for ExportAccountResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ExportAccount {
     const NSID: &'static str = "ooo.bsky.hds.exportAccount";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ExportAccountResponse;
 }
 
@@ -72,8 +73,9 @@ Path: `/xrpc/ooo.bsky.hds.exportAccount`. The request payload type is `ExportAcc
 pub struct ExportAccountRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ExportAccountRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.hds.exportAccount";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ExportAccount;
     type Response = ExportAccountResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/get_records.rs b/crates/jacquard-api/src/ooo_bsky/hds/get_records.rs
index d0ea05aa6..a41c7773b 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/get_records.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/get_records.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::ooo_bsky::hidden::r#box::HiddenBox;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::UriValue;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::ooo_bsky::hidden::r#box::HiddenBox;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecords {
     pub uris: Vec>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecordsOutput {
     pub boxes: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecordsRequest {
 
 pub mod get_records_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -171,4 +166,4 @@ where
             uris: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/import_account.rs b/crates/jacquard-api/src/ooo_bsky/hds/import_account.rs
index a6072407b..42fb8b2d3 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/import_account.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/import_account.rs
@@ -10,12 +10,12 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -36,16 +36,22 @@ impl jacquard_common::xrpc::XrpcResp for ImportAccountResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ImportAccount {
     const NSID: &'static str = "ooo.bsky.hds.importAccount";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/vnd.ipld.car",
+    );
     type Response = ImportAccountResponse;
-    fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError>
+    fn encode_body(
+        &self,
+        buffer: &mut Vec,
+    ) -> Result<(), jacquard_common::xrpc::EncodeError>
     where
         Self: Serialize,
     {
         Ok(buffer.copy_from_slice(self.body.as_ref()))
     }
-    fn decode_body<'de>(body: &'de [u8]) -> Result
+    fn decode_body<'de>(
+        body: &'de [u8],
+    ) -> Result
     where
         Self: Deserialize<'de>,
     {
@@ -61,8 +67,9 @@ Path: `/xrpc/ooo.bsky.hds.importAccount`. The request payload type is `ImportAcc
 pub struct ImportAccountRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ImportAccountRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.hds.importAccount";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/vnd.ipld.car",
+    );
     type Request = ImportAccount;
     type Response = ImportAccountResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/list_records.rs b/crates/jacquard-api/src/ooo_bsky/hds/list_records.rs
index 352032578..c9948fd8f 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/list_records.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/list_records.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::ooo_bsky::hidden::r#box::HiddenBox;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::Nsid;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::ooo_bsky::hidden::r#box::HiddenBox;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRecords {
     pub collection: Nsid,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -35,11 +32,9 @@ pub struct ListRecords {
     pub repo: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRecordsOutput {
     pub boxes: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -82,7 +77,7 @@ fn _default_limit() -> Option {
 
 pub mod list_records_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -127,12 +122,7 @@ pub mod list_records_state {
 /// Builder for constructing an instance of this type.
 pub struct ListRecordsBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -251,4 +241,4 @@ where
             repo: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/put_record.rs b/crates/jacquard-api/src/ooo_bsky/hds/put_record.rs
index 6a1d9803c..70d3d32b8 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/put_record.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/put_record.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
-use jacquard_common::types::string::{Cid, Nsid, RecordKey, Rkey, UriValue};
+use jacquard_common::types::string::{Nsid, Cid, RecordKey, Rkey, UriValue};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutRecord {
     pub collection: Nsid,
     pub gate_uri: UriValue,
@@ -37,11 +34,9 @@ pub struct PutRecord {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutRecordOutput {
     pub cid: Cid,
     pub uri: UriValue,
@@ -50,19 +45,25 @@ pub struct PutRecordOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum PutRecordError {
     #[serde(rename = "InvalidSwap")]
     InvalidSwap(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for PutRecordError {
@@ -99,8 +100,9 @@ impl jacquard_common::xrpc::XrpcResp for PutRecordResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutRecord {
     const NSID: &'static str = "ooo.bsky.hds.putRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutRecordResponse;
 }
 
@@ -110,15 +112,16 @@ Path: `/xrpc/ooo.bsky.hds.putRecord`. The request payload type is `PutRecord`
 pub struct PutRecordRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutRecordRequest {
     const PATH: &'static str = "/xrpc/ooo.bsky.hds.putRecord";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutRecord;
     type Response = PutRecordResponse;
 }
 
 pub mod put_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -403,7 +406,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PutRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PutRecord {
         PutRecord {
             collection: self._fields.0.unwrap(),
             gate_uri: self._fields.1.unwrap(),
@@ -415,4 +421,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/server.rs b/crates/jacquard-api/src/ooo_bsky/hds/server.rs
index 5619061aa..993bb2740 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/server.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/server.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `ooo.bsky.hds.server` Lexicon namespace/module.
-pub mod describe_server;
+pub mod describe_server;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hds/server/describe_server.rs b/crates/jacquard-api/src/ooo_bsky/hds/server/describe_server.rs
index 1eb4d89a8..c7bfe4623 100644
--- a/crates/jacquard-api/src/ooo_bsky/hds/server/describe_server.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hds/server/describe_server.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::ooo_bsky::hds::server::describe_server;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::ooo_bsky::hds::server::describe_server;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Contact {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub email: Option,
@@ -40,11 +37,9 @@ pub struct Contact {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Links {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub privacy_policy: Option>,
@@ -54,11 +49,9 @@ pub struct Links {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeServerOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub contact: Option>,
@@ -136,10 +129,10 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeServerRequest {
 }
 
 fn lexicon_doc_ooo_bsky_hds_server_describeServer() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.hds.server.describeServer"),
@@ -153,9 +146,7 @@ fn lexicon_doc_ooo_bsky_hds_server_describeServer() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("email"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("url"),
@@ -205,4 +196,4 @@ fn lexicon_doc_ooo_bsky_hds_server_describeServer() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hidden.rs b/crates/jacquard-api/src/ooo_bsky/hidden.rs
index 3fe514cec..4a56a0c78 100644
--- a/crates/jacquard-api/src/ooo_bsky/hidden.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hidden.rs
@@ -7,4 +7,4 @@
 pub mod r#box;
 pub mod encrypted_blob_keys;
 pub mod encrypted_blobs;
-pub mod r#ref;
+pub mod r#ref;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hidden/box.rs b/crates/jacquard-api/src/ooo_bsky/hidden/box.rs
index a78c2fa23..44c0bb7d5 100644
--- a/crates/jacquard-api/src/ooo_bsky/hidden/box.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hidden/box.rs
@@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HiddenBox {
     pub cid: Cid,
     pub gate_uri: UriValue,
@@ -56,7 +53,7 @@ impl LexiconSchema for HiddenBox {
 
 pub mod hidden_box_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -131,12 +128,7 @@ pub mod hidden_box_state {
 /// Builder for constructing an instance of this type.
 pub struct HiddenBoxBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -271,7 +263,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> HiddenBox {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> HiddenBox {
         HiddenBox {
             cid: self._fields.0.unwrap(),
             gate_uri: self._fields.1.unwrap(),
@@ -283,10 +278,10 @@ where
 }
 
 fn lexicon_doc_ooo_bsky_hidden_box() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.hidden.box"),
@@ -295,12 +290,12 @@ fn lexicon_doc_ooo_bsky_hidden_box() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("gateUri"),
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("gateUri"), SmolStr::new_static("uri"),
+                            SmolStr::new_static("cid"), SmolStr::new_static("value")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -340,4 +335,4 @@ fn lexicon_doc_ooo_bsky_hidden_box() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blob_keys.rs b/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blob_keys.rs
index d381bde27..b69881dee 100644
--- a/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blob_keys.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blob_keys.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::ooo_bsky::hidden::encrypted_blob_keys;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::ooo_bsky::hidden::encrypted_blob_keys;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Key {
     pub age_identity: S,
     pub r#ref: CidLink,
@@ -38,11 +35,9 @@ pub struct Key {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EncryptedBlobKeys {
     pub blob_keys: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -81,7 +76,7 @@ impl LexiconSchema for EncryptedBlobKeys {
 
 pub mod key_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -191,7 +186,10 @@ where
     St::Ref: key_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into>) -> KeyBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into>,
+    ) -> KeyBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         KeyBuilder {
             _state: PhantomData,
@@ -226,10 +224,10 @@ where
 }
 
 fn lexicon_doc_ooo_bsky_hidden_encryptedBlobKeys() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.hidden.encryptedBlobKeys"),
@@ -238,18 +236,18 @@ fn lexicon_doc_ooo_bsky_hidden_encryptedBlobKeys() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("key"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("ref"),
-                        SmolStr::new_static("ageIdentity"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("ref"),
+                            SmolStr::new_static("ageIdentity")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("ageIdentity"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("ref"),
@@ -292,7 +290,7 @@ fn lexicon_doc_ooo_bsky_hidden_encryptedBlobKeys() -> LexiconDoc<'static> {
 
 pub mod encrypted_blob_keys_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -323,7 +321,10 @@ pub mod encrypted_blob_keys_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EncryptedBlobKeysBuilder {
+pub struct EncryptedBlobKeysBuilder<
+    St: encrypted_blob_keys_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>,),
     _type: PhantomData S>,
@@ -331,7 +332,10 @@ pub struct EncryptedBlobKeysBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> EncryptedBlobKeysBuilder {
+    pub fn new() -> EncryptedBlobKeysBuilder<
+        encrypted_blob_keys_state::Empty,
+        DefaultStr,
+    > {
         EncryptedBlobKeysBuilder::new()
     }
 }
@@ -397,10 +401,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EncryptedBlobKeys {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EncryptedBlobKeys {
         EncryptedBlobKeys {
             blob_keys: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blobs.rs b/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blobs.rs
index adea546c8..92f7e7858 100644
--- a/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blobs.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hidden/encrypted_blobs.rs
@@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EncryptedBlobs {
     pub blobs: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -53,7 +50,7 @@ impl LexiconSchema for EncryptedBlobs {
 
 pub mod encrypted_blobs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -84,7 +81,10 @@ pub mod encrypted_blobs_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EncryptedBlobsBuilder {
+pub struct EncryptedBlobsBuilder<
+    St: encrypted_blobs_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>,),
     _type: PhantomData S>,
@@ -158,7 +158,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EncryptedBlobs {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EncryptedBlobs {
         EncryptedBlobs {
             blobs: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -167,10 +170,10 @@ where
 }
 
 fn lexicon_doc_ooo_bsky_hidden_encryptedBlobs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.hidden.encryptedBlobs"),
@@ -186,9 +189,7 @@ fn lexicon_doc_ooo_bsky_hidden_encryptedBlobs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("blobs"),
                             LexObjectProperty::Array(LexArray {
-                                items: LexArrayItem::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                items: LexArrayItem::Blob(LexBlob { ..Default::default() }),
                                 ..Default::default()
                             }),
                         );
@@ -201,4 +202,4 @@ fn lexicon_doc_ooo_bsky_hidden_encryptedBlobs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/ooo_bsky/hidden/ref.rs b/crates/jacquard-api/src/ooo_bsky/hidden/ref.rs
index 388f74006..7d0e7efa1 100644
--- a/crates/jacquard-api/src/ooo_bsky/hidden/ref.rs
+++ b/crates/jacquard-api/src/ooo_bsky/hidden/ref.rs
@@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Ref {
     pub box_uri: UriValue,
     pub value_cid: Cid,
@@ -54,7 +51,7 @@ impl LexiconSchema for Ref {
 
 pub mod ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -202,10 +199,10 @@ where
 }
 
 fn lexicon_doc_ooo_bsky_hidden_ref() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("ooo.bsky.hidden.ref"),
@@ -214,10 +211,12 @@ fn lexicon_doc_ooo_bsky_hidden_ref() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("boxUri"),
-                        SmolStr::new_static("valueCid"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("boxUri"),
+                            SmolStr::new_static("valueCid")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -244,4 +243,4 @@ fn lexicon_doc_ooo_bsky_hidden_ref() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atpodcasting.rs b/crates/jacquard-api/src/org_atpodcasting.rs
index 20e5ac56b..f002f7a8a 100644
--- a/crates/jacquard-api/src/org_atpodcasting.rs
+++ b/crates/jacquard-api/src/org_atpodcasting.rs
@@ -11,9 +11,10 @@ pub mod follow;
 pub mod like;
 pub mod podcast;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,14 +27,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A podcast category from the Apple Podcasts taxonomy.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AppleCategory {
     ///The category value. Subcategories use the format 'Category > Subcategory'.
     pub value: AppleCategoryValue,
@@ -190,7 +188,9 @@ impl AppleCategoryValue {
             Self::FictionScienceFiction => "Fiction > Science Fiction",
             Self::Government => "Government",
             Self::HealthFitness => "Health & Fitness",
-            Self::HealthFitnessAlternativeHealth => "Health & Fitness > Alternative Health",
+            Self::HealthFitnessAlternativeHealth => {
+                "Health & Fitness > Alternative Health"
+            }
             Self::HealthFitnessFitness => "Health & Fitness > Fitness",
             Self::HealthFitnessMedicine => "Health & Fitness > Medicine",
             Self::HealthFitnessMentalHealth => "Health & Fitness > Mental Health",
@@ -225,12 +225,16 @@ impl AppleCategoryValue {
             Self::NewsTechNews => "News > Tech News",
             Self::ReligionSpirituality => "Religion & Spirituality",
             Self::ReligionSpiritualityBuddhism => "Religion & Spirituality > Buddhism",
-            Self::ReligionSpiritualityChristianity => "Religion & Spirituality > Christianity",
+            Self::ReligionSpiritualityChristianity => {
+                "Religion & Spirituality > Christianity"
+            }
             Self::ReligionSpiritualityHinduism => "Religion & Spirituality > Hinduism",
             Self::ReligionSpiritualityIslam => "Religion & Spirituality > Islam",
             Self::ReligionSpiritualityJudaism => "Religion & Spirituality > Judaism",
             Self::ReligionSpiritualityReligion => "Religion & Spirituality > Religion",
-            Self::ReligionSpiritualitySpirituality => "Religion & Spirituality > Spirituality",
+            Self::ReligionSpiritualitySpirituality => {
+                "Religion & Spirituality > Spirituality"
+            }
             Self::Science => "Science",
             Self::ScienceAstronomy => "Science > Astronomy",
             Self::ScienceChemistry => "Science > Chemistry",
@@ -243,7 +247,9 @@ impl AppleCategoryValue {
             Self::ScienceSocialSciences => "Science > Social Sciences",
             Self::SocietyCulture => "Society & Culture",
             Self::SocietyCultureDocumentary => "Society & Culture > Documentary",
-            Self::SocietyCulturePersonalJournals => "Society & Culture > Personal Journals",
+            Self::SocietyCulturePersonalJournals => {
+                "Society & Culture > Personal Journals"
+            }
             Self::SocietyCulturePhilosophy => "Society & Culture > Philosophy",
             Self::SocietyCulturePlacesTravel => "Society & Culture > Places & Travel",
             Self::SocietyCultureRelationships => "Society & Culture > Relationships",
@@ -306,7 +312,9 @@ impl AppleCategoryValue {
             "Fiction > Science Fiction" => Self::FictionScienceFiction,
             "Government" => Self::Government,
             "Health & Fitness" => Self::HealthFitness,
-            "Health & Fitness > Alternative Health" => Self::HealthFitnessAlternativeHealth,
+            "Health & Fitness > Alternative Health" => {
+                Self::HealthFitnessAlternativeHealth
+            }
             "Health & Fitness > Fitness" => Self::HealthFitnessFitness,
             "Health & Fitness > Medicine" => Self::HealthFitnessMedicine,
             "Health & Fitness > Mental Health" => Self::HealthFitnessMentalHealth,
@@ -341,12 +349,16 @@ impl AppleCategoryValue {
             "News > Tech News" => Self::NewsTechNews,
             "Religion & Spirituality" => Self::ReligionSpirituality,
             "Religion & Spirituality > Buddhism" => Self::ReligionSpiritualityBuddhism,
-            "Religion & Spirituality > Christianity" => Self::ReligionSpiritualityChristianity,
+            "Religion & Spirituality > Christianity" => {
+                Self::ReligionSpiritualityChristianity
+            }
             "Religion & Spirituality > Hinduism" => Self::ReligionSpiritualityHinduism,
             "Religion & Spirituality > Islam" => Self::ReligionSpiritualityIslam,
             "Religion & Spirituality > Judaism" => Self::ReligionSpiritualityJudaism,
             "Religion & Spirituality > Religion" => Self::ReligionSpiritualityReligion,
-            "Religion & Spirituality > Spirituality" => Self::ReligionSpiritualitySpirituality,
+            "Religion & Spirituality > Spirituality" => {
+                Self::ReligionSpiritualitySpirituality
+            }
             "Science" => Self::Science,
             "Science > Astronomy" => Self::ScienceAstronomy,
             "Science > Chemistry" => Self::ScienceChemistry,
@@ -359,7 +371,9 @@ impl AppleCategoryValue {
             "Science > Social Sciences" => Self::ScienceSocialSciences,
             "Society & Culture" => Self::SocietyCulture,
             "Society & Culture > Documentary" => Self::SocietyCultureDocumentary,
-            "Society & Culture > Personal Journals" => Self::SocietyCulturePersonalJournals,
+            "Society & Culture > Personal Journals" => {
+                Self::SocietyCulturePersonalJournals
+            }
             "Society & Culture > Philosophy" => Self::SocietyCulturePhilosophy,
             "Society & Culture > Places & Travel" => Self::SocietyCulturePlacesTravel,
             "Society & Culture > Relationships" => Self::SocietyCultureRelationships,
@@ -440,19 +454,31 @@ where
             AppleCategoryValue::Arts => AppleCategoryValue::Arts,
             AppleCategoryValue::ArtsBooks => AppleCategoryValue::ArtsBooks,
             AppleCategoryValue::ArtsDesign => AppleCategoryValue::ArtsDesign,
-            AppleCategoryValue::ArtsFashionBeauty => AppleCategoryValue::ArtsFashionBeauty,
+            AppleCategoryValue::ArtsFashionBeauty => {
+                AppleCategoryValue::ArtsFashionBeauty
+            }
             AppleCategoryValue::ArtsFood => AppleCategoryValue::ArtsFood,
-            AppleCategoryValue::ArtsPerformingArts => AppleCategoryValue::ArtsPerformingArts,
+            AppleCategoryValue::ArtsPerformingArts => {
+                AppleCategoryValue::ArtsPerformingArts
+            }
             AppleCategoryValue::ArtsVisualArts => AppleCategoryValue::ArtsVisualArts,
             AppleCategoryValue::Business => AppleCategoryValue::Business,
             AppleCategoryValue::BusinessCareers => AppleCategoryValue::BusinessCareers,
             AppleCategoryValue::BusinessEntrepreneurship => {
                 AppleCategoryValue::BusinessEntrepreneurship
             }
-            AppleCategoryValue::BusinessInvesting => AppleCategoryValue::BusinessInvesting,
-            AppleCategoryValue::BusinessManagement => AppleCategoryValue::BusinessManagement,
-            AppleCategoryValue::BusinessMarketing => AppleCategoryValue::BusinessMarketing,
-            AppleCategoryValue::BusinessNonProfit => AppleCategoryValue::BusinessNonProfit,
+            AppleCategoryValue::BusinessInvesting => {
+                AppleCategoryValue::BusinessInvesting
+            }
+            AppleCategoryValue::BusinessManagement => {
+                AppleCategoryValue::BusinessManagement
+            }
+            AppleCategoryValue::BusinessMarketing => {
+                AppleCategoryValue::BusinessMarketing
+            }
+            AppleCategoryValue::BusinessNonProfit => {
+                AppleCategoryValue::BusinessNonProfit
+            }
             AppleCategoryValue::Comedy => AppleCategoryValue::Comedy,
             AppleCategoryValue::ComedyComedyInterviews => {
                 AppleCategoryValue::ComedyComedyInterviews
@@ -469,16 +495,24 @@ where
                 AppleCategoryValue::EducationSelfImprovement
             }
             AppleCategoryValue::Fiction => AppleCategoryValue::Fiction,
-            AppleCategoryValue::FictionComedyFiction => AppleCategoryValue::FictionComedyFiction,
+            AppleCategoryValue::FictionComedyFiction => {
+                AppleCategoryValue::FictionComedyFiction
+            }
             AppleCategoryValue::FictionDrama => AppleCategoryValue::FictionDrama,
-            AppleCategoryValue::FictionScienceFiction => AppleCategoryValue::FictionScienceFiction,
+            AppleCategoryValue::FictionScienceFiction => {
+                AppleCategoryValue::FictionScienceFiction
+            }
             AppleCategoryValue::Government => AppleCategoryValue::Government,
             AppleCategoryValue::HealthFitness => AppleCategoryValue::HealthFitness,
             AppleCategoryValue::HealthFitnessAlternativeHealth => {
                 AppleCategoryValue::HealthFitnessAlternativeHealth
             }
-            AppleCategoryValue::HealthFitnessFitness => AppleCategoryValue::HealthFitnessFitness,
-            AppleCategoryValue::HealthFitnessMedicine => AppleCategoryValue::HealthFitnessMedicine,
+            AppleCategoryValue::HealthFitnessFitness => {
+                AppleCategoryValue::HealthFitnessFitness
+            }
+            AppleCategoryValue::HealthFitnessMedicine => {
+                AppleCategoryValue::HealthFitnessMedicine
+            }
             AppleCategoryValue::HealthFitnessMentalHealth => {
                 AppleCategoryValue::HealthFitnessMentalHealth
             }
@@ -493,33 +527,57 @@ where
             AppleCategoryValue::KidsFamilyEducationForKids => {
                 AppleCategoryValue::KidsFamilyEducationForKids
             }
-            AppleCategoryValue::KidsFamilyParenting => AppleCategoryValue::KidsFamilyParenting,
-            AppleCategoryValue::KidsFamilyPetsAnimals => AppleCategoryValue::KidsFamilyPetsAnimals,
+            AppleCategoryValue::KidsFamilyParenting => {
+                AppleCategoryValue::KidsFamilyParenting
+            }
+            AppleCategoryValue::KidsFamilyPetsAnimals => {
+                AppleCategoryValue::KidsFamilyPetsAnimals
+            }
             AppleCategoryValue::KidsFamilyStoriesForKids => {
                 AppleCategoryValue::KidsFamilyStoriesForKids
             }
             AppleCategoryValue::Leisure => AppleCategoryValue::Leisure,
-            AppleCategoryValue::LeisureAnimationManga => AppleCategoryValue::LeisureAnimationManga,
-            AppleCategoryValue::LeisureAutomotive => AppleCategoryValue::LeisureAutomotive,
+            AppleCategoryValue::LeisureAnimationManga => {
+                AppleCategoryValue::LeisureAnimationManga
+            }
+            AppleCategoryValue::LeisureAutomotive => {
+                AppleCategoryValue::LeisureAutomotive
+            }
             AppleCategoryValue::LeisureAviation => AppleCategoryValue::LeisureAviation,
             AppleCategoryValue::LeisureCrafts => AppleCategoryValue::LeisureCrafts,
             AppleCategoryValue::LeisureGames => AppleCategoryValue::LeisureGames,
             AppleCategoryValue::LeisureHobbies => AppleCategoryValue::LeisureHobbies,
-            AppleCategoryValue::LeisureHomeGarden => AppleCategoryValue::LeisureHomeGarden,
-            AppleCategoryValue::LeisureVideoGames => AppleCategoryValue::LeisureVideoGames,
+            AppleCategoryValue::LeisureHomeGarden => {
+                AppleCategoryValue::LeisureHomeGarden
+            }
+            AppleCategoryValue::LeisureVideoGames => {
+                AppleCategoryValue::LeisureVideoGames
+            }
             AppleCategoryValue::Music => AppleCategoryValue::Music,
-            AppleCategoryValue::MusicMusicCommentary => AppleCategoryValue::MusicMusicCommentary,
-            AppleCategoryValue::MusicMusicHistory => AppleCategoryValue::MusicMusicHistory,
-            AppleCategoryValue::MusicMusicInterviews => AppleCategoryValue::MusicMusicInterviews,
+            AppleCategoryValue::MusicMusicCommentary => {
+                AppleCategoryValue::MusicMusicCommentary
+            }
+            AppleCategoryValue::MusicMusicHistory => {
+                AppleCategoryValue::MusicMusicHistory
+            }
+            AppleCategoryValue::MusicMusicInterviews => {
+                AppleCategoryValue::MusicMusicInterviews
+            }
             AppleCategoryValue::News => AppleCategoryValue::News,
             AppleCategoryValue::NewsBusinessNews => AppleCategoryValue::NewsBusinessNews,
             AppleCategoryValue::NewsDailyNews => AppleCategoryValue::NewsDailyNews,
-            AppleCategoryValue::NewsEntertainmentNews => AppleCategoryValue::NewsEntertainmentNews,
-            AppleCategoryValue::NewsNewsCommentary => AppleCategoryValue::NewsNewsCommentary,
+            AppleCategoryValue::NewsEntertainmentNews => {
+                AppleCategoryValue::NewsEntertainmentNews
+            }
+            AppleCategoryValue::NewsNewsCommentary => {
+                AppleCategoryValue::NewsNewsCommentary
+            }
             AppleCategoryValue::NewsPolitics => AppleCategoryValue::NewsPolitics,
             AppleCategoryValue::NewsSportsNews => AppleCategoryValue::NewsSportsNews,
             AppleCategoryValue::NewsTechNews => AppleCategoryValue::NewsTechNews,
-            AppleCategoryValue::ReligionSpirituality => AppleCategoryValue::ReligionSpirituality,
+            AppleCategoryValue::ReligionSpirituality => {
+                AppleCategoryValue::ReligionSpirituality
+            }
             AppleCategoryValue::ReligionSpiritualityBuddhism => {
                 AppleCategoryValue::ReligionSpiritualityBuddhism
             }
@@ -544,15 +602,23 @@ where
             AppleCategoryValue::Science => AppleCategoryValue::Science,
             AppleCategoryValue::ScienceAstronomy => AppleCategoryValue::ScienceAstronomy,
             AppleCategoryValue::ScienceChemistry => AppleCategoryValue::ScienceChemistry,
-            AppleCategoryValue::ScienceEarthSciences => AppleCategoryValue::ScienceEarthSciences,
-            AppleCategoryValue::ScienceLifeSciences => AppleCategoryValue::ScienceLifeSciences,
-            AppleCategoryValue::ScienceMathematics => AppleCategoryValue::ScienceMathematics,
+            AppleCategoryValue::ScienceEarthSciences => {
+                AppleCategoryValue::ScienceEarthSciences
+            }
+            AppleCategoryValue::ScienceLifeSciences => {
+                AppleCategoryValue::ScienceLifeSciences
+            }
+            AppleCategoryValue::ScienceMathematics => {
+                AppleCategoryValue::ScienceMathematics
+            }
             AppleCategoryValue::ScienceNaturalSciences => {
                 AppleCategoryValue::ScienceNaturalSciences
             }
             AppleCategoryValue::ScienceNature => AppleCategoryValue::ScienceNature,
             AppleCategoryValue::SciencePhysics => AppleCategoryValue::SciencePhysics,
-            AppleCategoryValue::ScienceSocialSciences => AppleCategoryValue::ScienceSocialSciences,
+            AppleCategoryValue::ScienceSocialSciences => {
+                AppleCategoryValue::ScienceSocialSciences
+            }
             AppleCategoryValue::SocietyCulture => AppleCategoryValue::SocietyCulture,
             AppleCategoryValue::SocietyCultureDocumentary => {
                 AppleCategoryValue::SocietyCultureDocumentary
@@ -573,7 +639,9 @@ where
             AppleCategoryValue::SportsBaseball => AppleCategoryValue::SportsBaseball,
             AppleCategoryValue::SportsBasketball => AppleCategoryValue::SportsBasketball,
             AppleCategoryValue::SportsCricket => AppleCategoryValue::SportsCricket,
-            AppleCategoryValue::SportsFantasySports => AppleCategoryValue::SportsFantasySports,
+            AppleCategoryValue::SportsFantasySports => {
+                AppleCategoryValue::SportsFantasySports
+            }
             AppleCategoryValue::SportsFootball => AppleCategoryValue::SportsFootball,
             AppleCategoryValue::SportsGolf => AppleCategoryValue::SportsGolf,
             AppleCategoryValue::SportsHockey => AppleCategoryValue::SportsHockey,
@@ -589,9 +657,15 @@ where
             AppleCategoryValue::TrueCrime => AppleCategoryValue::TrueCrime,
             AppleCategoryValue::TvFilm => AppleCategoryValue::TvFilm,
             AppleCategoryValue::TvFilmAfterShows => AppleCategoryValue::TvFilmAfterShows,
-            AppleCategoryValue::TvFilmFilmHistory => AppleCategoryValue::TvFilmFilmHistory,
-            AppleCategoryValue::TvFilmFilmInterviews => AppleCategoryValue::TvFilmFilmInterviews,
-            AppleCategoryValue::TvFilmFilmReviews => AppleCategoryValue::TvFilmFilmReviews,
+            AppleCategoryValue::TvFilmFilmHistory => {
+                AppleCategoryValue::TvFilmFilmHistory
+            }
+            AppleCategoryValue::TvFilmFilmInterviews => {
+                AppleCategoryValue::TvFilmFilmInterviews
+            }
+            AppleCategoryValue::TvFilmFilmReviews => {
+                AppleCategoryValue::TvFilmFilmReviews
+            }
             AppleCategoryValue::TvFilmTvReviews => AppleCategoryValue::TvFilmTvReviews,
             AppleCategoryValue::Other(v) => AppleCategoryValue::Other(v.into_static()),
         }
@@ -601,10 +675,7 @@ where
 /// Identifies a podcast episode by its podcast GUID and feed item identifier, independent of which repository currently holds the record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EpisodeRef {
     ///The original feed item identifier. Must match the  element of the corresponding RSS feed item.
     pub feed_item_guid: S,
@@ -620,10 +691,7 @@ pub struct EpisodeRef {
 /// Identifies a podcast by its Podcasting 2.0 GUID, independent of which repository currently holds the record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PodcastRef {
     ///URL of the podcast's RSS feed.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -713,10 +781,10 @@ impl LexiconSchema for PodcastRef {
 }
 
 fn lexicon_doc_org_atpodcasting_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atpodcasting.defs"),
@@ -849,4 +917,4 @@ fn lexicon_doc_org_atpodcasting_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atpodcasting/episode.rs b/crates/jacquard-api/src/org_atpodcasting/episode.rs
index be7486e29..19889cb5e 100644
--- a/crates/jacquard-api/src/org_atpodcasting/episode.rs
+++ b/crates/jacquard-api/src/org_atpodcasting/episode.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,18 +25,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_atpodcasting::PodcastRef;
-use crate::org_atpodcasting::episode;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_atpodcasting::PodcastRef;
+use crate::org_atpodcasting::episode;
 /// Reference to an externally hosted chapters file.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ChaptersRef {
     ///MIME type of the chapters file (e.g. application/json+chapters).
     pub mime_type: S,
@@ -201,10 +198,7 @@ pub struct EpisodeGetRecordOutput {
 /// Reference to an externally hosted media file.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MediaRef {
     ///MIME type of the media file (e.g. audio/mpeg, video/mp4).
     pub mime_type: S,
@@ -217,10 +211,7 @@ pub struct MediaRef {
 /// Reference to an externally hosted transcript file.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TranscriptRef {
     ///Language of the transcript (ISO 639-1 two-letter code, e.g. 'en', 'es', 'pt').
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -318,20 +309,25 @@ impl LexiconSchema for Episode {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("artwork"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -443,7 +439,7 @@ impl LexiconSchema for TranscriptRef {
 
 pub mod chapters_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -581,7 +577,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ChaptersRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ChaptersRef {
         ChaptersRef {
             mime_type: self._fields.0.unwrap(),
             url: self._fields.1.unwrap(),
@@ -591,10 +590,10 @@ where
 }
 
 fn lexicon_doc_org_atpodcasting_episode() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atpodcasting.episode"),
@@ -834,29 +833,34 @@ fn lexicon_doc_org_atpodcasting_episode() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("mediaRef"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Reference to an externally hosted media file.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("url"),
-                        SmolStr::new_static("mimeType"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Reference to an externally hosted media file.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("url"), SmolStr::new_static("mimeType")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("mimeType"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "MIME type of the media file (e.g. audio/mpeg, video/mp4).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "MIME type of the media file (e.g. audio/mpeg, video/mp4).",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("URL of the media file.")),
+                                description: Some(
+                                    CowStr::new_static("URL of the media file."),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -926,7 +930,7 @@ fn lexicon_doc_org_atpodcasting_episode() -> LexiconDoc<'static> {
 
 pub mod episode_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1103,8 +1107,23 @@ impl EpisodeBuilder {
         EpisodeBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1117,8 +1136,23 @@ impl EpisodeBuilder {
         EpisodeBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1127,12 +1161,18 @@ impl EpisodeBuilder {
 
 impl EpisodeBuilder {
     /// Set the `alternateMedia` field (optional)
-    pub fn alternate_media(mut self, value: impl Into>>>) -> Self {
+    pub fn alternate_media(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `alternateMedia` field to an Option value (optional)
-    pub fn maybe_alternate_media(mut self, value: Option>>) -> Self {
+    pub fn maybe_alternate_media(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -1153,7 +1193,10 @@ impl EpisodeBuilder {
 
 impl EpisodeBuilder {
     /// Set the `chapters` field (optional)
-    pub fn chapters(mut self, value: impl Into>>) -> Self {
+    pub fn chapters(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -1230,7 +1273,10 @@ impl EpisodeBuilder {
 
 impl EpisodeBuilder {
     /// Set the `episodeType` field (optional)
-    pub fn episode_type(mut self, value: impl Into>>) -> Self {
+    pub fn episode_type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.7 = value.into();
         self
     }
@@ -1362,7 +1408,10 @@ where
     St::Title: episode_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> EpisodeBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> EpisodeBuilder, S> {
         self._fields.15 = Option::Some(value.into());
         EpisodeBuilder {
             _state: PhantomData,
@@ -1374,12 +1423,18 @@ where
 
 impl EpisodeBuilder {
     /// Set the `transcript` field (optional)
-    pub fn transcript(mut self, value: impl Into>>>) -> Self {
+    pub fn transcript(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.16 = value.into();
         self
     }
     /// Set the `transcript` field to an Option value (optional)
-    pub fn maybe_transcript(mut self, value: Option>>) -> Self {
+    pub fn maybe_transcript(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.16 = value;
         self
     }
@@ -1446,7 +1501,7 @@ where
 
 pub mod media_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1595,7 +1650,7 @@ where
 
 pub mod transcript_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1638,7 +1693,10 @@ pub mod transcript_ref_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TranscriptRefBuilder {
+pub struct TranscriptRefBuilder<
+    St: transcript_ref_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -1747,7 +1805,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TranscriptRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TranscriptRef {
         TranscriptRef {
             language: self._fields.0,
             mime_type: self._fields.1.unwrap(),
@@ -1755,4 +1816,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atpodcasting/follow.rs b/crates/jacquard-api/src/org_atpodcasting/follow.rs
index 94b7c9def..86c3c3149 100644
--- a/crates/jacquard-api/src/org_atpodcasting/follow.rs
+++ b/crates/jacquard-api/src/org_atpodcasting/follow.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_atpodcasting::PodcastRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_atpodcasting::PodcastRef;
 /// A personal expression of interest in a podcast, stored in the follower's own repository and portable across applications. This record does not define notification behavior, feed inclusion, ranking, or metrics — it captures follow intent only.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Follow {
 
 pub mod follow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_org_atpodcasting_follow() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atpodcasting.follow"),
@@ -313,4 +313,4 @@ fn lexicon_doc_org_atpodcasting_follow() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atpodcasting/like.rs b/crates/jacquard-api/src/org_atpodcasting/like.rs
index b700acb1f..3b263004e 100644
--- a/crates/jacquard-api/src/org_atpodcasting/like.rs
+++ b/crates/jacquard-api/src/org_atpodcasting/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_atpodcasting::EpisodeRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_atpodcasting::EpisodeRef;
 /// A personal expression of appreciation for a podcast episode, stored in the liker's own repository and portable across applications. This record does not define notification behavior, ranking, or metrics — it captures like intent only.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_org_atpodcasting_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atpodcasting.like"),
@@ -313,4 +313,4 @@ fn lexicon_doc_org_atpodcasting_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atpodcasting/podcast.rs b/crates/jacquard-api/src/org_atpodcasting/podcast.rs
index be21a610c..5f8a4fd4e 100644
--- a/crates/jacquard-api/src/org_atpodcasting/podcast.rs
+++ b/crates/jacquard-api/src/org_atpodcasting/podcast.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_atpodcasting::AppleCategory;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_atpodcasting::AppleCategory;
 /// A podcast feed/show. Record key is the podcast's Podcasting 2.0 UUIDv5 GUID, enabling direct lookup from RSS feed metadata.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -141,20 +141,25 @@ impl LexiconSchema for Podcast {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("artwork"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -210,7 +215,7 @@ impl LexiconSchema for Podcast {
 
 pub mod podcast_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -404,9 +409,7 @@ impl PodcastBuilder {
     pub fn new() -> Self {
         PodcastBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -417,9 +420,7 @@ impl PodcastBuilder {
     pub fn builder() -> Self {
         PodcastBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -539,7 +540,10 @@ where
     St::Guid: podcast_state::IsUnset,
 {
     /// Set the `guid` field (required)
-    pub fn guid(mut self, value: impl Into) -> PodcastBuilder, S> {
+    pub fn guid(
+        mut self,
+        value: impl Into,
+    ) -> PodcastBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         PodcastBuilder {
             _state: PhantomData,
@@ -600,7 +604,10 @@ where
     St::Title: podcast_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> PodcastBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> PodcastBuilder, S> {
         self._fields.10 = Option::Some(value.into());
         PodcastBuilder {
             _state: PhantomData,
@@ -659,10 +666,10 @@ where
 }
 
 fn lexicon_doc_org_atpodcasting_podcast() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atpodcasting.podcast"),
@@ -818,4 +825,4 @@ fn lexicon_doc_org_atpodcasting_podcast() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui.rs b/crates/jacquard-api/src/org_atsui.rs
index ee512e9d7..b37f23484 100644
--- a/crates/jacquard-api/src/org_atsui.rs
+++ b/crates/jacquard-api/src/org_atsui.rs
@@ -21,4 +21,4 @@ pub mod stack;
 pub mod tabs;
 pub mod text;
 pub mod timestamp;
-pub mod title;
+pub mod title;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/avatar.rs b/crates/jacquard-api/src/org_atsui/avatar.rs
index ac7c2a330..65faa2017 100644
--- a/crates/jacquard-api/src/org_atsui/avatar.rs
+++ b/crates/jacquard-api/src/org_atsui/avatar.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Avatar {
     ///DID of the blob owner. Used to resolve blob URLs.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -126,11 +123,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AvatarOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -151,8 +146,9 @@ impl jacquard_common::xrpc::XrpcResp for AvatarResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Avatar {
     const NSID: &'static str = "org.atsui.Avatar";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = AvatarResponse;
 }
 
@@ -162,15 +158,16 @@ Path: `/xrpc/org.atsui.Avatar`. The request payload type is `Avatar`; send th
 pub struct AvatarRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for AvatarRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Avatar";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Avatar;
     type Response = AvatarResponse;
 }
 
 pub mod avatar_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -203,12 +200,7 @@ pub mod avatar_state {
 /// Builder for constructing an instance of this type.
 pub struct AvatarBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -293,7 +285,10 @@ where
     St::Src: avatar_state::IsUnset,
 {
     /// Set the `src` field (required)
-    pub fn src(mut self, value: impl Into>) -> AvatarBuilder, S> {
+    pub fn src(
+        mut self,
+        value: impl Into>,
+    ) -> AvatarBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         AvatarBuilder {
             _state: PhantomData,
@@ -328,4 +323,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/blob.rs b/crates/jacquard-api/src/org_atsui/blob.rs
index d0aeeab33..79a8ad33f 100644
--- a/crates/jacquard-api/src/org_atsui/blob.rs
+++ b/crates/jacquard-api/src/org_atsui/blob.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::at_inlay::Response;
-use crate::org_atsui::blob;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
+use crate::org_atsui::blob;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AspectRatio {
     pub height: i64,
     pub width: i64,
@@ -39,11 +36,9 @@ pub struct AspectRatio {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Blob {
     ///DID of the blob owner. Used to resolve blob URLs.
     pub did: Did,
@@ -59,11 +54,9 @@ pub struct Blob {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlobOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -119,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for BlobResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Blob {
     const NSID: &'static str = "org.atsui.Blob";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = BlobResponse;
 }
 
@@ -130,15 +124,16 @@ Path: `/xrpc/org.atsui.Blob`. The request payload type is `Blob`; send that r
 pub struct BlobRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for BlobRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Blob";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Blob;
     type Response = BlobResponse;
 }
 
 pub mod aspect_ratio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -276,7 +271,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AspectRatio {
         AspectRatio {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -286,10 +284,10 @@ where
 }
 
 fn lexicon_doc_org_atsui_Blob() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atsui.Blob"),
@@ -298,10 +296,9 @@ fn lexicon_doc_org_atsui_Blob() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("aspectRatio"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("width"),
-                        SmolStr::new_static("height"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("width"), SmolStr::new_static("height")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -392,7 +389,7 @@ fn lexicon_doc_org_atsui_Blob() -> LexiconDoc<'static> {
 
 pub mod blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -437,12 +434,7 @@ pub mod blob_state {
 /// Builder for constructing an instance of this type.
 pub struct BlobBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -488,7 +480,10 @@ where
     St::Did: blob_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> BlobBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> BlobBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -530,7 +525,10 @@ where
     St::Src: blob_state::IsUnset,
 {
     /// Set the `src` field (required)
-    pub fn src(mut self, value: impl Into>) -> BlobBuilder, S> {
+    pub fn src(
+        mut self,
+        value: impl Into>,
+    ) -> BlobBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -566,4 +564,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/caption.rs b/crates/jacquard-api/src/org_atsui/caption.rs
index 07560415b..3bf8dcaea 100644
--- a/crates/jacquard-api/src/org_atsui/caption.rs
+++ b/crates/jacquard-api/src/org_atsui/caption.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Caption {
     pub children: Data,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CaptionOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for CaptionResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Caption {
     const NSID: &'static str = "org.atsui.Caption";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CaptionResponse;
 }
 
@@ -64,15 +60,16 @@ Path: `/xrpc/org.atsui.Caption`. The request payload type is `Caption`; send
 pub struct CaptionRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CaptionRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Caption";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Caption;
     type Response = CaptionResponse;
 }
 
 pub mod caption_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -183,4 +180,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/clip.rs b/crates/jacquard-api/src/org_atsui/clip.rs
index e55187f18..83cd54877 100644
--- a/crates/jacquard-api/src/org_atsui/clip.rs
+++ b/crates/jacquard-api/src/org_atsui/clip.rs
@@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::at_inlay::Response;
-use crate::org_atsui::clip;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
+use crate::org_atsui::clip;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AspectRatio {
     pub height: i64,
     pub width: i64,
@@ -38,11 +35,9 @@ pub struct AspectRatio {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Clip {
     pub children: Data,
     ///Maximum box proportions (tallest allowed shape). E.g. {width:1, height:2} means at most twice as tall as wide.
@@ -55,11 +50,9 @@ pub struct Clip {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ClipOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -115,8 +108,9 @@ impl jacquard_common::xrpc::XrpcResp for ClipResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Clip {
     const NSID: &'static str = "org.atsui.Clip";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ClipResponse;
 }
 
@@ -126,15 +120,16 @@ Path: `/xrpc/org.atsui.Clip`. The request payload type is `Clip`; send that r
 pub struct ClipRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ClipRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Clip";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Clip;
     type Response = ClipResponse;
 }
 
 pub mod aspect_ratio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -272,7 +267,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AspectRatio {
         AspectRatio {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -282,10 +280,10 @@ where
 }
 
 fn lexicon_doc_org_atsui_Clip() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atsui.Clip"),
@@ -294,10 +292,9 @@ fn lexicon_doc_org_atsui_Clip() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("aspectRatio"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("width"),
-                        SmolStr::new_static("height"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("width"), SmolStr::new_static("height")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -325,35 +322,37 @@ fn lexicon_doc_org_atsui_Clip() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![SmolStr::new_static("children")]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("children"),
-                                    LexObjectProperty::Unknown(LexUnknown {
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("max"),
-                                    LexObjectProperty::Ref(LexRef {
-                                        r#ref: CowStr::new_static("#aspectRatio"),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("min"),
-                                    LexObjectProperty::Ref(LexRef {
-                                        r#ref: CowStr::new_static("#aspectRatio"),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(vec![SmolStr::new_static("children")]),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("children"),
+                                        LexObjectProperty::Unknown(LexUnknown {
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("max"),
+                                        LexObjectProperty::Ref(LexRef {
+                                            r#ref: CowStr::new_static("#aspectRatio"),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("min"),
+                                        LexObjectProperty::Ref(LexRef {
+                                            r#ref: CowStr::new_static("#aspectRatio"),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -367,7 +366,7 @@ fn lexicon_doc_org_atsui_Clip() -> LexiconDoc<'static> {
 
 pub mod clip_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -512,4 +511,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/cover.rs b/crates/jacquard-api/src/org_atsui/cover.rs
index fd66cc4e6..665b488b1 100644
--- a/crates/jacquard-api/src/org_atsui/cover.rs
+++ b/crates/jacquard-api/src/org_atsui/cover.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Cover {
     ///DID of the blob owner. Used to resolve blob URLs.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -33,11 +30,9 @@ pub struct Cover {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CoverOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -58,8 +53,9 @@ impl jacquard_common::xrpc::XrpcResp for CoverResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Cover {
     const NSID: &'static str = "org.atsui.Cover";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CoverResponse;
 }
 
@@ -69,15 +65,16 @@ Path: `/xrpc/org.atsui.Cover`. The request payload type is `Cover`; send that
 pub struct CoverRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CoverRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Cover";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Cover;
     type Response = CoverResponse;
 }
 
 pub mod cover_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -169,7 +166,10 @@ where
     St::Src: cover_state::IsUnset,
 {
     /// Set the `src` field (required)
-    pub fn src(mut self, value: impl Into>) -> CoverBuilder, S> {
+    pub fn src(
+        mut self,
+        value: impl Into>,
+    ) -> CoverBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         CoverBuilder {
             _state: PhantomData,
@@ -200,4 +200,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/editor.rs b/crates/jacquard-api/src/org_atsui/editor.rs
index 1c7abb504..d7195e8da 100644
--- a/crates/jacquard-api/src/org_atsui/editor.rs
+++ b/crates/jacquard-api/src/org_atsui/editor.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Editor {
     ///AT-URI of the component record to edit
     pub uri: AtUri,
@@ -30,11 +27,9 @@ pub struct Editor {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EditorOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for EditorResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Editor {
     const NSID: &'static str = "org.atsui.Editor";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = EditorResponse;
 }
 
@@ -66,15 +62,16 @@ Path: `/xrpc/org.atsui.Editor`. The request payload type is `Editor`; send th
 pub struct EditorRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for EditorRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Editor";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Editor;
     type Response = EditorResponse;
 }
 
 pub mod editor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -153,7 +150,10 @@ where
     St::Uri: editor_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> EditorBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> EditorBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         EditorBuilder {
             _state: PhantomData,
@@ -182,4 +182,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/fill.rs b/crates/jacquard-api/src/org_atsui/fill.rs
index f69e0610e..9e3fcca38 100644
--- a/crates/jacquard-api/src/org_atsui/fill.rs
+++ b/crates/jacquard-api/src/org_atsui/fill.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Fill {
     pub children: Data,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FillOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for FillResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Fill {
     const NSID: &'static str = "org.atsui.Fill";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = FillResponse;
 }
 
@@ -64,15 +60,16 @@ Path: `/xrpc/org.atsui.Fill`. The request payload type is `Fill`; send that r
 pub struct FillRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for FillRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Fill";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Fill;
     type Response = FillResponse;
 }
 
 pub mod fill_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -183,4 +180,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/grid.rs b/crates/jacquard-api/src/org_atsui/grid.rs
index 3220b0203..2fcc4f75f 100644
--- a/crates/jacquard-api/src/org_atsui/grid.rs
+++ b/crates/jacquard-api/src/org_atsui/grid.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Grid {
     pub children: Data,
     ///Number of equal columns.  Defaults to `3`.
@@ -122,11 +119,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GridOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -147,8 +142,9 @@ impl jacquard_common::xrpc::XrpcResp for GridResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Grid {
     const NSID: &'static str = "org.atsui.Grid";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = GridResponse;
 }
 
@@ -158,8 +154,9 @@ Path: `/xrpc/org.atsui.Grid`. The request payload type is `Grid`; send that r
 pub struct GridRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for GridRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Grid";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Grid;
     type Response = GridResponse;
 }
@@ -170,7 +167,7 @@ fn _default_grid_columns() -> Option {
 
 pub mod grid_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -311,4 +308,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/heading.rs b/crates/jacquard-api/src/org_atsui/heading.rs
index d56d6316e..c9967862b 100644
--- a/crates/jacquard-api/src/org_atsui/heading.rs
+++ b/crates/jacquard-api/src/org_atsui/heading.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Heading {
     pub children: Data,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HeadingOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for HeadingResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Heading {
     const NSID: &'static str = "org.atsui.Heading";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = HeadingResponse;
 }
 
@@ -64,15 +60,16 @@ Path: `/xrpc/org.atsui.Heading`. The request payload type is `Heading`; send
 pub struct HeadingRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for HeadingRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Heading";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Heading;
     type Response = HeadingResponse;
 }
 
 pub mod heading_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -183,4 +180,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/link.rs b/crates/jacquard-api/src/org_atsui/link.rs
index 4db9e5377..99a78d65f 100644
--- a/crates/jacquard-api/src/org_atsui/link.rs
+++ b/crates/jacquard-api/src/org_atsui/link.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::UriValue;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Link {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub children: Option>,
@@ -33,6 +30,7 @@ pub struct Link {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum LinkDecoration {
     None,
@@ -110,11 +108,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LinkOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -135,8 +131,9 @@ impl jacquard_common::xrpc::XrpcResp for LinkResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Link {
     const NSID: &'static str = "org.atsui.Link";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = LinkResponse;
 }
 
@@ -146,15 +143,16 @@ Path: `/xrpc/org.atsui.Link`. The request payload type is `Link`; send that r
 pub struct LinkRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for LinkRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Link";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Link;
     type Response = LinkResponse;
 }
 
 pub mod link_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -187,11 +185,7 @@ pub mod link_state {
 /// Builder for constructing an instance of this type.
 pub struct LinkBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -263,7 +257,10 @@ where
     St::Uri: link_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> LinkBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         LinkBuilder {
             _state: PhantomData,
@@ -296,4 +293,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/list.rs b/crates/jacquard-api/src/org_atsui/list.rs
index 1a609a08f..85246be44 100644
--- a/crates/jacquard-api/src/org_atsui/list.rs
+++ b/crates/jacquard-api/src/org_atsui/list.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::at_inlay::Element;
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Element;
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct List {
     ///DID of the service that implements the query.
     pub did: Did,
@@ -44,11 +41,9 @@ pub struct List {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -59,10 +54,7 @@ pub struct ListOutput {
 /// Response shape from a List data source query.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Page {
     ///Opaque pagination token. Absent means no more items.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -86,8 +78,9 @@ impl jacquard_common::xrpc::XrpcResp for ListResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for List {
     const NSID: &'static str = "org.atsui.List";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ListResponse;
 }
 
@@ -97,8 +90,9 @@ Path: `/xrpc/org.atsui.List`. The request payload type is `List`; send that r
 pub struct ListRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ListRequest {
     const PATH: &'static str = "/xrpc/org.atsui.List";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = List;
     type Response = ListResponse;
 }
@@ -130,7 +124,7 @@ impl LexiconSchema for Page {
 
 pub mod list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -221,7 +215,10 @@ where
     St::Did: list_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> ListBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> ListBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ListBuilder {
             _state: PhantomData,
@@ -250,7 +247,10 @@ where
     St::Query: list_state::IsUnset,
 {
     /// Set the `query` field (required)
-    pub fn query(mut self, value: impl Into>) -> ListBuilder, S> {
+    pub fn query(
+        mut self,
+        value: impl Into>,
+    ) -> ListBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ListBuilder {
             _state: PhantomData,
@@ -288,7 +288,7 @@ where
 
 pub mod page_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -417,10 +417,10 @@ where
 }
 
 fn lexicon_doc_org_atsui_List() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atsui.List"),
@@ -431,44 +431,49 @@ fn lexicon_doc_org_atsui_List() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![
-                                SmolStr::new_static("query"),
-                                SmolStr::new_static("did"),
-                            ]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("did"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "DID of the service that implements the query.",
-                                        )),
-                                        format: Some(LexStringFormat::Did),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("input"),
-                                    LexObjectProperty::Unknown(LexUnknown {
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("query"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "XRPC query to call for pages of items.",
-                                        )),
-                                        format: Some(LexStringFormat::Nsid),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(
+                                    vec![
+                                        SmolStr::new_static("query"), SmolStr::new_static("did")
+                                    ],
+                                ),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("did"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "DID of the service that implements the query.",
+                                                ),
+                                            ),
+                                            format: Some(LexStringFormat::Did),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("input"),
+                                        LexObjectProperty::Unknown(LexUnknown {
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("query"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("XRPC query to call for pages of items."),
+                                            ),
+                                            format: Some(LexStringFormat::Nsid),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -477,9 +482,11 @@ fn lexicon_doc_org_atsui_List() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("page"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Response shape from a List data source query.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Response shape from a List data source query.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("items")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -487,9 +494,11 @@ fn lexicon_doc_org_atsui_List() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("cursor"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Opaque pagination token. Absent means no more items.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Opaque pagination token. Absent means no more items.",
+                                    ),
+                                ),
                                 max_length: Some(512usize),
                                 ..Default::default()
                             }),
@@ -497,9 +506,9 @@ fn lexicon_doc_org_atsui_List() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("items"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Elements to render as list rows.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Elements to render as list rows."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("at.inlay.defs#element"),
                                     ..Default::default()
@@ -516,4 +525,4 @@ fn lexicon_doc_org_atsui_List() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/record.rs b/crates/jacquard-api/src/org_atsui/record.rs
index 7da96b6c4..19f933b5b 100644
--- a/crates/jacquard-api/src/org_atsui/record.rs
+++ b/crates/jacquard-api/src/org_atsui/record.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Record {
     ///AT-URI of the record to display
     pub uri: AtUri,
@@ -30,11 +27,9 @@ pub struct Record {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RecordOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for RecordResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Record {
     const NSID: &'static str = "org.atsui.Record";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RecordResponse;
 }
 
@@ -66,15 +62,16 @@ Path: `/xrpc/org.atsui.Record`. The request payload type is `Record`; send th
 pub struct RecordRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RecordRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Record";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Record;
     type Response = RecordResponse;
 }
 
 pub mod record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -153,7 +150,10 @@ where
     St::Uri: record_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> RecordBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> RecordBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         RecordBuilder {
             _state: PhantomData,
@@ -182,4 +182,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/row.rs b/crates/jacquard-api/src/org_atsui/row.rs
index fd5ec75cc..c1457a9b0 100644
--- a/crates/jacquard-api/src/org_atsui/row.rs
+++ b/crates/jacquard-api/src/org_atsui/row.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Row {
     ///Cross-axis (vertical) alignment of children.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -307,11 +304,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RowOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -332,8 +327,9 @@ impl jacquard_common::xrpc::XrpcResp for RowResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Row {
     const NSID: &'static str = "org.atsui.Row";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RowResponse;
 }
 
@@ -343,15 +339,16 @@ Path: `/xrpc/org.atsui.Row`. The request payload type is `Row`; send that req
 pub struct RowRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RowRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Row";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Row;
     type Response = RowResponse;
 }
 
 pub mod row_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -560,4 +557,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/stack.rs b/crates/jacquard-api/src/org_atsui/stack.rs
index cd2822a8b..e5bc3cad8 100644
--- a/crates/jacquard-api/src/org_atsui/stack.rs
+++ b/crates/jacquard-api/src/org_atsui/stack.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Stack {
     ///Cross-axis alignment of children.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -310,11 +307,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StackOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -335,8 +330,9 @@ impl jacquard_common::xrpc::XrpcResp for StackResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Stack {
     const NSID: &'static str = "org.atsui.Stack";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = StackResponse;
 }
 
@@ -346,15 +342,16 @@ Path: `/xrpc/org.atsui.Stack`. The request payload type is `Stack`; send that
 pub struct StackRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for StackRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Stack";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Stack;
     type Response = StackResponse;
 }
 
 pub mod stack_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -579,4 +576,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/tabs.rs b/crates/jacquard-api/src/org_atsui/tabs.rs
index c225775c5..387912a62 100644
--- a/crates/jacquard-api/src/org_atsui/tabs.rs
+++ b/crates/jacquard-api/src/org_atsui/tabs.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,18 +20,15 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::at_inlay::Element;
 use crate::at_inlay::Response;
 use crate::org_atsui::tabs;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tabs {
     ///Tabs to display.
     pub items: Vec>,
@@ -39,11 +36,9 @@ pub struct Tabs {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TabsOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -51,11 +46,9 @@ pub struct TabsOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tab {
     ///Element to render as tab content.
     pub content: Element,
@@ -80,8 +73,9 @@ impl jacquard_common::xrpc::XrpcResp for TabsResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Tabs {
     const NSID: &'static str = "org.atsui.Tabs";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = TabsResponse;
 }
 
@@ -91,8 +85,9 @@ Path: `/xrpc/org.atsui.Tabs`. The request payload type is `Tabs`; send that r
 pub struct TabsRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for TabsRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Tabs";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Tabs;
     type Response = TabsResponse;
 }
@@ -136,7 +131,7 @@ impl LexiconSchema for Tab {
 
 pub mod tabs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -251,7 +246,7 @@ where
 
 pub mod tab_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -391,7 +386,10 @@ where
     St::Label: tab_state::IsUnset,
 {
     /// Set the `label` field (required)
-    pub fn label(mut self, value: impl Into) -> TabBuilder, S> {
+    pub fn label(
+        mut self,
+        value: impl Into,
+    ) -> TabBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         TabBuilder {
             _state: PhantomData,
@@ -429,10 +427,10 @@ where
 }
 
 fn lexicon_doc_org_atsui_Tabs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.atsui.Tabs"),
@@ -443,26 +441,28 @@ fn lexicon_doc_org_atsui_Tabs() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![SmolStr::new_static("items")]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("items"),
-                                    LexObjectProperty::Array(LexArray {
-                                        description: Some(CowStr::new_static("Tabs to display.")),
-                                        items: LexArrayItem::Ref(LexRef {
-                                            r#ref: CowStr::new_static("#tab"),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(vec![SmolStr::new_static("items")]),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("items"),
+                                        LexObjectProperty::Array(LexArray {
+                                            description: Some(CowStr::new_static("Tabs to display.")),
+                                            items: LexArrayItem::Ref(LexRef {
+                                                r#ref: CowStr::new_static("#tab"),
+                                                ..Default::default()
+                                            }),
                                             ..Default::default()
                                         }),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -471,11 +471,12 @@ fn lexicon_doc_org_atsui_Tabs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("tab"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("key"),
-                        SmolStr::new_static("label"),
-                        SmolStr::new_static("content"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("key"), SmolStr::new_static("label"),
+                            SmolStr::new_static("content")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -489,9 +490,11 @@ fn lexicon_doc_org_atsui_Tabs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("key"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Stable key that identifies the tab among its siblings.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Stable key that identifies the tab among its siblings.",
+                                    ),
+                                ),
                                 max_length: Some(64usize),
                                 ..Default::default()
                             }),
@@ -499,7 +502,9 @@ fn lexicon_doc_org_atsui_Tabs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("label"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Display label for the tab.")),
+                                description: Some(
+                                    CowStr::new_static("Display label for the tab."),
+                                ),
                                 max_length: Some(128usize),
                                 ..Default::default()
                             }),
@@ -513,4 +518,4 @@ fn lexicon_doc_org_atsui_Tabs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/text.rs b/crates/jacquard-api/src/org_atsui/text.rs
index b89391aa7..47fb1be04 100644
--- a/crates/jacquard-api/src/org_atsui/text.rs
+++ b/crates/jacquard-api/src/org_atsui/text.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Text {
     pub children: Data,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TextOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for TextResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Text {
     const NSID: &'static str = "org.atsui.Text";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = TextResponse;
 }
 
@@ -64,15 +60,16 @@ Path: `/xrpc/org.atsui.Text`. The request payload type is `Text`; send that r
 pub struct TextRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for TextRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Text";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Text;
     type Response = TextResponse;
 }
 
 pub mod text_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -183,4 +180,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/timestamp.rs b/crates/jacquard-api/src/org_atsui/timestamp.rs
index 2e7141ce8..ebb43df3d 100644
--- a/crates/jacquard-api/src/org_atsui/timestamp.rs
+++ b/crates/jacquard-api/src/org_atsui/timestamp.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Timestamp {
     pub value: Datetime,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TimestampOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for TimestampResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Timestamp {
     const NSID: &'static str = "org.atsui.Timestamp";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = TimestampResponse;
 }
 
@@ -65,15 +61,16 @@ Path: `/xrpc/org.atsui.Timestamp`. The request payload type is `Timestamp`; s
 pub struct TimestampRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for TimestampRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Timestamp";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Timestamp;
     type Response = TimestampResponse;
 }
 
 pub mod timestamp_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -178,10 +175,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Timestamp {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Timestamp {
         Timestamp {
             value: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_atsui/title.rs b/crates/jacquard-api/src/org_atsui/title.rs
index a0567fc79..81624d3ca 100644
--- a/crates/jacquard-api/src/org_atsui/title.rs
+++ b/crates/jacquard-api/src/org_atsui/title.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::at_inlay::Response;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::at_inlay::Response;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Title {
     pub children: Data,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TitleOutput {
     #[serde(flatten)]
     pub value: Response,
@@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for TitleResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Title {
     const NSID: &'static str = "org.atsui.Title";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = TitleResponse;
 }
 
@@ -64,15 +60,16 @@ Path: `/xrpc/org.atsui.Title`. The request payload type is `Title`; send that
 pub struct TitleRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for TitleRequest {
     const PATH: &'static str = "/xrpc/org.atsui.Title";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Title;
     type Response = TitleResponse;
 }
 
 pub mod title_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -183,4 +180,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_custorium.rs b/crates/jacquard-api/src/org_custorium.rs
index 971561e03..e3e7acba8 100644
--- a/crates/jacquard-api/src/org_custorium.rs
+++ b/crates/jacquard-api/src/org_custorium.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.custorium` Lexicon namespace/module.
-pub mod temp;
+pub mod temp;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_custorium/temp.rs b/crates/jacquard-api/src/org_custorium/temp.rs
index 444e767fd..48d6cd272 100644
--- a/crates/jacquard-api/src/org_custorium/temp.rs
+++ b/crates/jacquard-api/src/org_custorium/temp.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.custorium.temp` Lexicon namespace/module.
-pub mod jsonfg;
+pub mod jsonfg;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_custorium/temp/jsonfg.rs b/crates/jacquard-api/src/org_custorium/temp/jsonfg.rs
index f231ba54f..2029b4385 100644
--- a/crates/jacquard-api/src/org_custorium/temp/jsonfg.rs
+++ b/crates/jacquard-api/src/org_custorium/temp/jsonfg.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `org.custorium.temp.jsonfg` Lexicon namespace/module.
 pub mod coord_ref_sys;
-pub mod test_record;
+pub mod test_record;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_custorium/temp/jsonfg/coord_ref_sys.rs b/crates/jacquard-api/src/org_custorium/temp/jsonfg/coord_ref_sys.rs
index 8c7ff44dc..8709b8a49 100644
--- a/crates/jacquard-api/src/org_custorium/temp/jsonfg/coord_ref_sys.rs
+++ b/crates/jacquard-api/src/org_custorium/temp/jsonfg/coord_ref_sys.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_custorium::temp::jsonfg::coord_ref_sys;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_custorium::temp::jsonfg::coord_ref_sys;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MultiRefSys {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub ref_sys: Option>>,
@@ -38,11 +35,9 @@ pub struct MultiRefSys {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RefSysByRef {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub epoch: Option,
@@ -51,11 +46,9 @@ pub struct RefSysByRef {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RefSysCustom {
     ///Value should not be reference
     pub r#type: S,
@@ -63,11 +56,9 @@ pub struct RefSysCustom {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RefSysSimpleRef {
     ///The value is either a URI or a CURIE.
     pub uri: S,
@@ -75,17 +66,16 @@ pub struct RefSysSimpleRef {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SingleRefSys {
     pub ref_sys: SingleRefSysRefSys,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -184,10 +174,10 @@ impl LexiconSchema for SingleRefSys {
 }
 
 fn lexicon_doc_org_custorium_temp_jsonfg_coordRefSys() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.custorium.temp.jsonfg.coordRefSys"),
@@ -250,9 +240,9 @@ fn lexicon_doc_org_custorium_temp_jsonfg_coordRefSys() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("type"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Value should not be reference",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Value should not be reference"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -271,9 +261,9 @@ fn lexicon_doc_org_custorium_temp_jsonfg_coordRefSys() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The value is either a URI or a CURIE.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The value is either a URI or a CURIE."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -295,7 +285,7 @@ fn lexicon_doc_org_custorium_temp_jsonfg_coordRefSys() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("#refSysSimpleRef"),
                                     CowStr::new_static("#refSysByRef"),
-                                    CowStr::new_static("#refSysCustom"),
+                                    CowStr::new_static("#refSysCustom")
                                 ],
                                 ..Default::default()
                             }),
@@ -313,7 +303,7 @@ fn lexicon_doc_org_custorium_temp_jsonfg_coordRefSys() -> LexiconDoc<'static> {
 
 pub mod ref_sys_by_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -432,7 +422,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RefSysByRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RefSysByRef {
         RefSysByRef {
             epoch: self._fields.0,
             href: self._fields.1.unwrap(),
@@ -443,7 +436,7 @@ where
 
 pub mod single_ref_sys_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -548,10 +541,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SingleRefSys {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SingleRefSys {
         SingleRefSys {
             ref_sys: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_custorium/temp/jsonfg/test_record.rs b/crates/jacquard-api/src/org_custorium/temp/jsonfg/test_record.rs
index cec5f5b3f..e11096a43 100644
--- a/crates/jacquard-api/src/org_custorium/temp/jsonfg/test_record.rs
+++ b/crates/jacquard-api/src/org_custorium/temp/jsonfg/test_record.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A test record type for geometries
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -43,6 +43,7 @@ pub struct TestRecord {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -119,7 +120,7 @@ impl LexiconSchema for TestRecord {
 
 pub mod test_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -257,7 +258,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TestRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TestRecord {
         TestRecord {
             geometry: self._fields.0.unwrap(),
             text: self._fields.1.unwrap(),
@@ -267,10 +271,10 @@ where
 }
 
 fn lexicon_doc_org_custorium_temp_jsonfg_testRecord() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.custorium.temp.jsonfg.testRecord"),
@@ -324,4 +328,4 @@ fn lexicon_doc_org_custorium_temp_jsonfg_testRecord() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_devcon.rs b/crates/jacquard-api/src/org_devcon.rs
index b1171740a..ad0960945 100644
--- a/crates/jacquard-api/src/org_devcon.rs
+++ b/crates/jacquard-api/src/org_devcon.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.devcon` Lexicon namespace/module.
-pub mod event;
+pub mod event;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_devcon/event.rs b/crates/jacquard-api/src/org_devcon/event.rs
index bf7062e19..231a95358 100644
--- a/crates/jacquard-api/src/org_devcon/event.rs
+++ b/crates/jacquard-api/src/org_devcon/event.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.devcon.event` Lexicon namespace/module.
-pub mod test;
+pub mod test;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_devcon/event/test.rs b/crates/jacquard-api/src/org_devcon/event/test.rs
index 1d389af14..58a28a49d 100644
--- a/crates/jacquard-api/src/org_devcon/event/test.rs
+++ b/crates/jacquard-api/src/org_devcon/event/test.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -118,7 +118,7 @@ impl LexiconSchema for Test {
 
 pub mod test_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -257,7 +257,10 @@ where
     St::End: test_state::IsUnset,
 {
     /// Set the `end` field (required)
-    pub fn end(mut self, value: impl Into) -> TestBuilder, S> {
+    pub fn end(
+        mut self,
+        value: impl Into,
+    ) -> TestBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         TestBuilder {
             _state: PhantomData,
@@ -286,7 +289,10 @@ where
     St::Start: test_state::IsUnset,
 {
     /// Set the `start` field (required)
-    pub fn start(mut self, value: impl Into) -> TestBuilder, S> {
+    pub fn start(
+        mut self,
+        value: impl Into,
+    ) -> TestBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         TestBuilder {
             _state: PhantomData,
@@ -302,7 +308,10 @@ where
     St::Title: test_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> TestBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> TestBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         TestBuilder {
             _state: PhantomData,
@@ -361,10 +370,10 @@ where
 }
 
 fn lexicon_doc_org_devcon_event_test() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.devcon.event.test"),
@@ -375,11 +384,12 @@ fn lexicon_doc_org_devcon_event_test() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("start"),
-                            SmolStr::new_static("end"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("title"), SmolStr::new_static("start"),
+                                SmolStr::new_static("end")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -393,16 +403,18 @@ fn lexicon_doc_org_devcon_event_test() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Description of the event",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Description of the event"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("end"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("End time of the event")),
+                                    description: Some(
+                                        CowStr::new_static("End time of the event"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -410,16 +422,18 @@ fn lexicon_doc_org_devcon_event_test() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("location"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Location of the event")),
+                                    description: Some(
+                                        CowStr::new_static("Location of the event"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("start"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Start time of the event",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Start time of the event"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -449,4 +463,4 @@ fn lexicon_doc_org_devcon_event_test() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_farmapps.rs b/crates/jacquard-api/src/org_farmapps.rs
index 1e958eccd..07a521b02 100644
--- a/crates/jacquard-api/src/org_farmapps.rs
+++ b/crates/jacquard-api/src/org_farmapps.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.farmapps` Lexicon namespace/module.
-pub mod temp;
+pub mod temp;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_farmapps/temp.rs b/crates/jacquard-api/src/org_farmapps/temp.rs
index acfb18386..195bd039a 100644
--- a/crates/jacquard-api/src/org_farmapps/temp.rs
+++ b/crates/jacquard-api/src/org_farmapps/temp.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `org.farmapps.temp` Lexicon namespace/module.
 pub mod agroconnect;
-pub mod ecrop;
+pub mod ecrop;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_farmapps/temp/agroconnect.rs b/crates/jacquard-api/src/org_farmapps/temp/agroconnect.rs
index c03a97f9c..8c7950d31 100644
--- a/crates/jacquard-api/src/org_farmapps/temp/agroconnect.rs
+++ b/crates/jacquard-api/src/org_farmapps/temp/agroconnect.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.farmapps.temp.agroconnect` Lexicon namespace/module.
-pub mod cl022;
+pub mod cl022;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_farmapps/temp/agroconnect/cl022.rs b/crates/jacquard-api/src/org_farmapps/temp/agroconnect/cl022.rs
index 6d76924e5..bf4fe72cf 100644
--- a/crates/jacquard-api/src/org_farmapps/temp/agroconnect/cl022.rs
+++ b/crates/jacquard-api/src/org_farmapps/temp/agroconnect/cl022.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_farmapps::temp::ecrop::CodeType;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_farmapps::temp::ecrop::CodeType;
 /// Fertilizer codelist
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -170,7 +170,7 @@ impl LexiconSchema for Cl022 {
 
 pub mod cl022_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -250,9 +250,7 @@ impl Cl022Builder {
     pub fn new() -> Self {
         Cl022Builder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -263,9 +261,7 @@ impl Cl022Builder {
     pub fn builder() -> Self {
         Cl022Builder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -335,7 +331,10 @@ where
     St::Id: cl022_state::IsUnset,
 {
     /// Set the `id` field (required)
-    pub fn id(mut self, value: impl Into>) -> Cl022Builder, S> {
+    pub fn id(
+        mut self,
+        value: impl Into>,
+    ) -> Cl022Builder, S> {
         self._fields.4 = Option::Some(value.into());
         Cl022Builder {
             _state: PhantomData,
@@ -466,10 +465,10 @@ where
 }
 
 fn lexicon_doc_org_farmapps_temp_agroconnect_cl022() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.farmapps.temp.agroconnect.cl022"),
@@ -482,19 +481,21 @@ fn lexicon_doc_org_farmapps_temp_agroconnect_cl022() -> LexiconDoc<'static> {
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
                         description: Some(CowStr::new_static("Codelist ferilizers")),
-                        required: Some(vec![
-                            SmolStr::new_static("id"),
-                            SmolStr::new_static("description"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("id"),
+                                SmolStr::new_static("description")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("added"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Date when added to the list",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Date when added to the list"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -516,9 +517,9 @@ fn lexicon_doc_org_farmapps_temp_agroconnect_cl022() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Description / name of the fertilizer",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Description / name of the fertilizer"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -585,4 +586,4 @@ fn lexicon_doc_org_farmapps_temp_agroconnect_cl022() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_farmapps/temp/ecrop.rs b/crates/jacquard-api/src/org_farmapps/temp/ecrop.rs
index 813df34b5..b1f698e35 100644
--- a/crates/jacquard-api/src/org_farmapps/temp/ecrop.rs
+++ b/crates/jacquard-api/src/org_farmapps/temp/ecrop.rs
@@ -23,14 +23,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Generic class to represent the code list and code that is used
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CodeType {
     pub code: RecordKey>,
     ///Identifier of the standard code list that contains the allowed codes.
@@ -56,7 +53,7 @@ impl LexiconSchema for CodeType {
 
 pub mod code_type_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -204,10 +201,10 @@ where
 }
 
 fn lexicon_doc_org_farmapps_temp_ecrop_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.farmapps.temp.ecrop.defs"),
@@ -255,4 +252,4 @@ fn lexicon_doc_org_farmapps_temp_ecrop_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hyperboards.rs b/crates/jacquard-api/src/org_hyperboards.rs
index d1e37096d..5258bfd22 100644
--- a/crates/jacquard-api/src/org_hyperboards.rs
+++ b/crates/jacquard-api/src/org_hyperboards.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `org.hyperboards` Lexicon namespace/module.
 pub mod board;
 pub mod contributor;
-pub mod display_profile;
+pub mod display_profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hyperboards/board.rs b/crates/jacquard-api/src/org_hyperboards/board.rs
index 18c8eaba6..141902100 100644
--- a/crates/jacquard-api/src/org_hyperboards/board.rs
+++ b/crates/jacquard-api/src/org_hyperboards/board.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::org_hyperboards::board;
 use crate::org_hypercerts::SmallImage;
 use crate::org_hypercerts::SmallVideo;
 use crate::org_hypercerts::Uri;
 use crate::org_hypercerts::claim::activity::ContributorIdentity;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::org_hyperboards::board;
 /// Visual configuration for a hyperboard's background, colors, and layout.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BoardConfig {
     ///Display aspect ratio of the board.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -153,11 +150,14 @@ where
             BoardConfigAspectRatio::_169 => BoardConfigAspectRatio::_169,
             BoardConfigAspectRatio::_43 => BoardConfigAspectRatio::_43,
             BoardConfigAspectRatio::_11 => BoardConfigAspectRatio::_11,
-            BoardConfigAspectRatio::Other(v) => BoardConfigAspectRatio::Other(v.into_static()),
+            BoardConfigAspectRatio::Other(v) => {
+                BoardConfigAspectRatio::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -216,7 +216,8 @@ impl Serialize for BoardConfigBackgroundType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for BoardConfigBackgroundType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for BoardConfigBackgroundType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -323,7 +324,9 @@ where
         match self {
             BoardConfigImageShape::Circular => BoardConfigImageShape::Circular,
             BoardConfigImageShape::Square => BoardConfigImageShape::Square,
-            BoardConfigImageShape::Other(v) => BoardConfigImageShape::Other(v.into_static()),
+            BoardConfigImageShape::Other(v) => {
+                BoardConfigImageShape::Other(v.into_static())
+            }
         }
     }
 }
@@ -331,10 +334,7 @@ where
 /// Configuration for a specific contributor within a board. Values serve as fallbacks when the contributor has not defined them on their profile. It can also be used to override contributor settings on this board without changing their global profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContributorConfig {
     ///Identifies the contributor being styled. A strong reference to an org.hypercerts.claim.contributorInformation record, or a contributorIdentity (DID or identifier string) for contributors without a dedicated record.
     pub contributor: ContributorConfigContributor,
@@ -363,6 +363,7 @@ pub struct ContributorConfig {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -373,6 +374,7 @@ pub enum ContributorConfigContributor {
     ActivityContributorIdentity(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -383,6 +385,7 @@ pub enum ContributorConfigHoverImage {
     SmallImage(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -393,6 +396,7 @@ pub enum ContributorConfigImage {
     SmallImage(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -647,10 +651,10 @@ impl LexiconSchema for Board {
 }
 
 fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hyperboards.board"),
@@ -659,18 +663,20 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("boardConfig"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Visual configuration for a hyperboard's background, colors, and layout.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Visual configuration for a hyperboard's background, colors, and layout.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("aspectRatio"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Display aspect ratio of the board.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Display aspect ratio of the board."),
+                                ),
                                 max_length: Some(10usize),
                                 ..Default::default()
                             }),
@@ -678,9 +684,11 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("backgroundColor"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Background color as a hex string (e.g. '#ffffff').",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Background color as a hex string (e.g. '#ffffff').",
+                                    ),
+                                ),
                                 max_length: Some(20usize),
                                 ..Default::default()
                             }),
@@ -694,9 +702,9 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("backgroundIframeUrl"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URI of the background iframe.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("URI of the background iframe."),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 max_length: Some(2048usize),
                                 ..Default::default()
@@ -705,12 +713,14 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("backgroundImage"),
                             LexObjectProperty::Union(LexRefUnion {
-                                description: Some(CowStr::new_static(
-                                    "Background image as a URI or image blob.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Background image as a URI or image blob.",
+                                    ),
+                                ),
                                 refs: vec![
                                     CowStr::new_static("org.hypercerts.defs#uri"),
-                                    CowStr::new_static("org.hypercerts.defs#smallImage"),
+                                    CowStr::new_static("org.hypercerts.defs#smallImage")
                                 ],
                                 ..Default::default()
                             }),
@@ -726,9 +736,9 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("backgroundType"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Type of background content.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Type of background content."),
+                                ),
                                 max_length: Some(10usize),
                                 ..Default::default()
                             }),
@@ -736,9 +746,11 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("borderColor"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Border color as a hex string (e.g. '#000000').",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Border color as a hex string (e.g. '#000000').",
+                                    ),
+                                ),
                                 max_length: Some(20usize),
                                 ..Default::default()
                             }),
@@ -752,9 +764,11 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("imageShape"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Shape used to crop contributor images on this board.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Shape used to crop contributor images on this board.",
+                                    ),
+                                ),
                                 max_length: Some(20usize),
                                 ..Default::default()
                             }),
@@ -962,7 +976,7 @@ fn lexicon_doc_org_hyperboards_board() -> LexiconDoc<'static> {
 
 pub mod contributor_config_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -993,7 +1007,10 @@ pub mod contributor_config_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ContributorConfigBuilder {
+pub struct ContributorConfigBuilder<
+    St: contributor_config_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1010,7 +1027,10 @@ pub struct ContributorConfigBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ContributorConfigBuilder {
+    pub fn new() -> ContributorConfigBuilder<
+        contributor_config_state::Empty,
+        DefaultStr,
+    > {
         ContributorConfigBuilder::new()
     }
 }
@@ -1091,12 +1111,18 @@ impl ContributorConfigBuilder ContributorConfigBuilder {
     /// Set the `hoverImage` field (optional)
-    pub fn hover_image(mut self, value: impl Into>>) -> Self {
+    pub fn hover_image(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `hoverImage` field to an Option value (optional)
-    pub fn maybe_hover_image(mut self, value: Option>) -> Self {
+    pub fn maybe_hover_image(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -1174,7 +1200,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ContributorConfig {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ContributorConfig {
         ContributorConfig {
             contributor: self._fields.0.unwrap(),
             display_name: self._fields.1,
@@ -1191,7 +1220,7 @@ where
 
 pub mod board_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1377,4 +1406,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hyperboards/contributor.rs b/crates/jacquard-api/src/org_hyperboards/contributor.rs
index 41ec5f130..96608305a 100644
--- a/crates/jacquard-api/src/org_hyperboards/contributor.rs
+++ b/crates/jacquard-api/src/org_hyperboards/contributor.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Per-contributor presentation defaults, reusable across boards.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -122,7 +122,7 @@ impl LexiconSchema for Contributor {
 
 pub mod contributor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -338,7 +338,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Contributor {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Contributor {
         Contributor {
             circular_image: self._fields.0,
             contributor_ref: self._fields.1.unwrap(),
@@ -353,10 +356,10 @@ where
 }
 
 fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hyperboards.contributor"),
@@ -365,15 +368,19 @@ fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Per-contributor presentation defaults, reusable across boards.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Per-contributor presentation defaults, reusable across boards.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("contributorRef"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("contributorRef"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -393,9 +400,11 @@ fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the contributor record was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when the contributor record was created",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -403,7 +412,9 @@ fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("hoverIframeUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Iframe shown on hover")),
+                                    description: Some(
+                                        CowStr::new_static("Iframe shown on hover"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -411,9 +422,9 @@ fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("hoverImageUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Image overlay shown on hover",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Image overlay shown on hover"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -421,9 +432,9 @@ fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("url"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Link URL for this contributor",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Link URL for this contributor"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -431,9 +442,9 @@ fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("videoUrl"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Direct video or Instagram URL",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Direct video or Instagram URL"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -449,4 +460,4 @@ fn lexicon_doc_org_hyperboards_contributor() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hyperboards/display_profile.rs b/crates/jacquard-api/src/org_hyperboards/display_profile.rs
index c46c60d14..c8ffe13f6 100644
--- a/crates/jacquard-api/src/org_hyperboards/display_profile.rs
+++ b/crates/jacquard-api/src/org_hyperboards/display_profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::org_hypercerts::SmallImage;
 use crate::org_hypercerts::SmallVideo;
 use crate::org_hypercerts::Uri;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// User-declared visual presentation defaults for how a contributor appears on hyperboards. Stored in the contributor's own PDS and reusable across multiple boards.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -64,6 +64,7 @@ pub struct DisplayProfile {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -74,6 +75,7 @@ pub enum DisplayProfileHoverImage {
     SmallImage(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -84,6 +86,7 @@ pub enum DisplayProfileImage {
     SmallImage(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -197,7 +200,7 @@ impl LexiconSchema for DisplayProfile {
 
 pub mod display_profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -228,7 +231,10 @@ pub mod display_profile_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct DisplayProfileBuilder {
+pub struct DisplayProfileBuilder<
+    St: display_profile_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -325,12 +331,18 @@ impl DisplayProfileBuilder {
 
 impl DisplayProfileBuilder {
     /// Set the `hoverImage` field (optional)
-    pub fn hover_image(mut self, value: impl Into>>) -> Self {
+    pub fn hover_image(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `hoverImage` field to an Option value (optional)
-    pub fn maybe_hover_image(mut self, value: Option>) -> Self {
+    pub fn maybe_hover_image(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -394,7 +406,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DisplayProfile {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DisplayProfile {
         DisplayProfile {
             created_at: self._fields.0.unwrap(),
             display_name: self._fields.1,
@@ -409,10 +424,10 @@ where
 }
 
 fn lexicon_doc_org_hyperboards_displayProfile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hyperboards.displayProfile"),
@@ -539,4 +554,4 @@ fn lexicon_doc_org_hyperboards_displayProfile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts.rs b/crates/jacquard-api/src/org_hypercerts.rs
index feab43910..8a5299c4d 100644
--- a/crates/jacquard-api/src/org_hypercerts.rs
+++ b/crates/jacquard-api/src/org_hypercerts.rs
@@ -13,6 +13,7 @@ pub mod funding;
 pub mod helper;
 pub mod workscope;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -32,14 +33,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Object containing a blob to external data
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LargeBlob {
     ///Blob to external data (up to 100MB)
     pub blob: BlobRef,
@@ -50,10 +48,7 @@ pub struct LargeBlob {
 /// Object containing a large image
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LargeImage {
     ///Image (up to 10MB)
     pub image: BlobRef,
@@ -64,10 +59,7 @@ pub struct LargeImage {
 /// Object containing a blob to external data
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SmallBlob {
     ///Blob to external data (up to 10MB)
     pub blob: BlobRef,
@@ -78,10 +70,7 @@ pub struct SmallBlob {
 /// Object containing a small image
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SmallImage {
     ///Image (up to 5MB)
     pub image: BlobRef,
@@ -92,10 +81,7 @@ pub struct SmallImage {
 /// Object containing a small video
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SmallVideo {
     ///Video (up to 20MB)
     pub video: BlobRef,
@@ -106,10 +92,7 @@ pub struct SmallVideo {
 /// Object containing a URI to external data
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Uri {
     ///URI to external data
     pub uri: UriValue,
@@ -146,16 +129,19 @@ impl LexiconSchema for LargeBlob {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -197,25 +183,31 @@ impl LexiconSchema for LargeImage {
             let value = &self.image;
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/jpeg", "image/jpg", "image/png", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/jpeg",
+                    "image/jpg",
+                    "image/png",
+                    "image/webp",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
                         accepted: vec![
-                            "image/jpeg".to_string(),
-                            "image/jpg".to_string(),
-                            "image/png".to_string(),
-                            "image/webp".to_string(),
+                            "image/jpeg".to_string(), "image/jpg".to_string(),
+                            "image/png".to_string(), "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -255,16 +247,19 @@ impl LexiconSchema for SmallBlob {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -306,25 +301,31 @@ impl LexiconSchema for SmallImage {
             let value = &self.image;
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/jpeg", "image/jpg", "image/png", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/jpeg",
+                    "image/jpg",
+                    "image/png",
+                    "image/webp",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
                         accepted: vec![
-                            "image/jpeg".to_string(),
-                            "image/jpg".to_string(),
-                            "image/png".to_string(),
-                            "image/webp".to_string(),
+                            "image/jpeg".to_string(), "image/jpg".to_string(),
+                            "image/png".to_string(), "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -364,20 +365,25 @@ impl LexiconSchema for SmallVideo {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["video/mp4", "video/webm"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("video"),
-                        accepted: vec!["video/mp4".to_string(), "video/webm".to_string()],
+                        accepted: vec![
+                            "video/mp4".to_string(), "video/webm".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -404,7 +410,7 @@ impl LexiconSchema for Uri {
 
 pub mod large_blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -509,7 +515,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LargeBlob {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LargeBlob {
         LargeBlob {
             blob: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -518,10 +527,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.defs"),
@@ -530,18 +539,16 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("largeBlob"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Object containing a blob to external data",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Object containing a blob to external data"),
+                    ),
                     required: Some(vec![SmolStr::new_static("blob")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -551,16 +558,16 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("largeImage"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Object containing a large image")),
+                    description: Some(
+                        CowStr::new_static("Object containing a large image"),
+                    ),
                     required: Some(vec![SmolStr::new_static("image")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("image"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -570,18 +577,16 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("smallBlob"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Object containing a blob to external data",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Object containing a blob to external data"),
+                    ),
                     required: Some(vec![SmolStr::new_static("blob")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -591,16 +596,16 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("smallImage"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Object containing a small image")),
+                    description: Some(
+                        CowStr::new_static("Object containing a small image"),
+                    ),
                     required: Some(vec![SmolStr::new_static("image")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("image"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -610,16 +615,16 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("smallVideo"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Object containing a small video")),
+                    description: Some(
+                        CowStr::new_static("Object containing a small video"),
+                    ),
                     required: Some(vec![SmolStr::new_static("video")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("video"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -629,9 +634,9 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("uri"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Object containing a URI to external data",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Object containing a URI to external data"),
+                    ),
                     required: Some(vec![SmolStr::new_static("uri")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -639,7 +644,9 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("URI to external data")),
+                                description: Some(
+                                    CowStr::new_static("URI to external data"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -657,7 +664,7 @@ fn lexicon_doc_org_hypercerts_defs() -> LexiconDoc<'static> {
 
 pub mod large_image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -762,7 +769,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LargeImage {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LargeImage {
         LargeImage {
             image: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -772,7 +782,7 @@ where
 
 pub mod small_blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -877,7 +887,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SmallBlob {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SmallBlob {
         SmallBlob {
             blob: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -887,7 +900,7 @@ where
 
 pub mod small_image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -992,7 +1005,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SmallImage {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SmallImage {
         SmallImage {
             image: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -1002,7 +1018,7 @@ where
 
 pub mod small_video_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1107,7 +1123,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SmallVideo {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SmallVideo {
         SmallVideo {
             video: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -1117,7 +1136,7 @@ where
 
 pub mod uri_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1196,7 +1215,10 @@ where
     St::Uri: uri_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> UriBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> UriBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         UriBuilder {
             _state: PhantomData,
@@ -1225,4 +1247,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/claim.rs b/crates/jacquard-api/src/org_hypercerts/claim.rs
index 38fea153e..3ffebd416 100644
--- a/crates/jacquard-api/src/org_hypercerts/claim.rs
+++ b/crates/jacquard-api/src/org_hypercerts/claim.rs
@@ -7,4 +7,4 @@
 pub mod activity;
 pub mod contribution;
 pub mod contributor_information;
-pub mod rights;
+pub mod rights;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/claim/activity.rs b/crates/jacquard-api/src/org_hypercerts/claim/activity.rs
index ed7788d24..00e2d6724 100644
--- a/crates/jacquard-api/src/org_hypercerts/claim/activity.rs
+++ b/crates/jacquard-api/src/org_hypercerts/claim/activity.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::Facet;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_hypercerts::SmallImage;
 use crate::org_hypercerts::Uri;
-use crate::org_hypercerts::claim::activity;
 use crate::org_hypercerts::workscope::cel::Cel;
 use crate::pub_leaflet::pages::linear_document::LinearDocument;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::org_hypercerts::claim::activity;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Contributor {
     ///Inline contribution role object with a role string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -53,6 +50,7 @@ pub struct Contributor {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -63,6 +61,7 @@ pub enum ContributorContributionDetails {
     StrongRef(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -76,10 +75,7 @@ pub enum ContributorContributorIdentity {
 /// Contributor information as a string (DID or identifier).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContributorIdentity {
     ///The contributor identity string (DID or identifier).
     pub identity: S,
@@ -90,10 +86,7 @@ pub struct ContributorIdentity {
 /// Contribution details as a string.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContributorRole {
     ///The contribution role or details.
     pub role: S,
@@ -148,6 +141,7 @@ pub struct Activity {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -158,6 +152,7 @@ pub enum ActivityImage {
     SmallImage(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -182,10 +177,7 @@ pub struct ActivityGetRecordOutput {
 /// A free-form string describing the work scope for simple or legacy scopes.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct WorkScopeString {
     ///The work scope description string.
     pub scope: S,
@@ -440,7 +432,7 @@ impl LexiconSchema for WorkScopeString {
 
 pub mod contributor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -583,7 +575,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Contributor {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Contributor {
         Contributor {
             contribution_details: self._fields.0,
             contribution_weight: self._fields.1,
@@ -594,10 +589,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.claim.activity"),
@@ -660,9 +655,11 @@ fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("contributorIdentity"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Contributor information as a string (DID or identifier).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Contributor information as a string (DID or identifier).",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("identity")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -670,9 +667,11 @@ fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("identity"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The contributor identity string (DID or identifier).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The contributor identity string (DID or identifier).",
+                                    ),
+                                ),
                                 max_length: Some(1000usize),
                                 max_graphemes: Some(100usize),
                                 ..Default::default()
@@ -686,7 +685,9 @@ fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("contributorRole"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Contribution details as a string.")),
+                    description: Some(
+                        CowStr::new_static("Contribution details as a string."),
+                    ),
                     required: Some(vec![SmolStr::new_static("role")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -694,9 +695,9 @@ fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("role"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The contribution role or details.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The contribution role or details."),
+                                ),
                                 max_length: Some(1000usize),
                                 max_graphemes: Some(100usize),
                                 ..Default::default()
@@ -885,9 +886,11 @@ fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("workScopeString"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A free-form string describing the work scope for simple or legacy scopes.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A free-form string describing the work scope for simple or legacy scopes.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("scope")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -895,9 +898,9 @@ fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("scope"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The work scope description string.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The work scope description string."),
+                                ),
                                 max_length: Some(1000usize),
                                 max_graphemes: Some(100usize),
                                 ..Default::default()
@@ -916,7 +919,7 @@ fn lexicon_doc_org_hypercerts_claim_activity() -> LexiconDoc<'static> {
 
 pub mod activity_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1012,7 +1015,18 @@ impl ActivityBuilder {
         ActivityBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1025,7 +1039,18 @@ impl ActivityBuilder {
         ActivityBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1034,12 +1059,18 @@ impl ActivityBuilder {
 
 impl ActivityBuilder {
     /// Set the `contributors` field (optional)
-    pub fn contributors(mut self, value: impl Into>>>) -> Self {
+    pub fn contributors(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `contributors` field to an Option value (optional)
-    pub fn maybe_contributors(mut self, value: Option>>) -> Self {
+    pub fn maybe_contributors(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -1150,12 +1181,18 @@ where
 
 impl ActivityBuilder {
     /// Set the `shortDescriptionFacets` field (optional)
-    pub fn short_description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn short_description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.8 = value.into();
         self
     }
     /// Set the `shortDescriptionFacets` field to an Option value (optional)
-    pub fn maybe_short_description_facets(mut self, value: Option>>) -> Self {
+    pub fn maybe_short_description_facets(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -1249,4 +1286,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/claim/contribution.rs b/crates/jacquard-api/src/org_hypercerts/claim/contribution.rs
index 2d4fb21fd..743ae6168 100644
--- a/crates/jacquard-api/src/org_hypercerts/claim/contribution.rs
+++ b/crates/jacquard-api/src/org_hypercerts/claim/contribution.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Details about a specific contribution including role, description, and timeframe.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -148,7 +148,7 @@ impl LexiconSchema for Contribution {
 
 pub mod contribution_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -315,7 +315,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Contribution {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Contribution {
         Contribution {
             contribution_description: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -328,10 +331,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_claim_contribution() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.claim.contribution"),
@@ -421,4 +424,4 @@ fn lexicon_doc_org_hypercerts_claim_contribution() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/claim/contributor_information.rs b/crates/jacquard-api/src/org_hypercerts/claim/contributor_information.rs
index 5d7fdf885..a7842cec9 100644
--- a/crates/jacquard-api/src/org_hypercerts/claim/contributor_information.rs
+++ b/crates/jacquard-api/src/org_hypercerts/claim/contributor_information.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_hypercerts::SmallImage;
-use crate::org_hypercerts::Uri;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_hypercerts::SmallImage;
+use crate::org_hypercerts::Uri;
 /// Contributor information including identifier, display name, and image.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -54,6 +54,7 @@ pub struct ContributorInformation {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -92,7 +93,8 @@ impl XrpcResp for ContributorInformationRecord {
     type Err = RecordError;
 }
 
-impl From> for ContributorInformation {
+impl From>
+for ContributorInformation {
     fn from(output: ContributorInformationGetRecordOutput) -> Self {
         output.value
     }
@@ -145,7 +147,7 @@ impl LexiconSchema for ContributorInformation {
 
 pub mod contributor_information_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -192,15 +194,20 @@ pub struct ContributorInformationBuilder<
 
 impl ContributorInformation {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ContributorInformationBuilder
-    {
+    pub fn new() -> ContributorInformationBuilder<
+        contributor_information_state::Empty,
+        DefaultStr,
+    > {
         ContributorInformationBuilder::new()
     }
 }
 
 impl ContributorInformation {
     /// Create a new builder for this type
-    pub fn builder() -> ContributorInformationBuilder {
+    pub fn builder() -> ContributorInformationBuilder<
+        contributor_information_state::Empty,
+        S,
+    > {
         ContributorInformationBuilder::builder()
     }
 }
@@ -236,7 +243,10 @@ where
     pub fn created_at(
         mut self,
         value: impl Into,
-    ) -> ContributorInformationBuilder, S> {
+    ) -> ContributorInformationBuilder<
+        contributor_information_state::SetCreatedAt,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         ContributorInformationBuilder {
             _state: PhantomData,
@@ -246,7 +256,10 @@ where
     }
 }
 
-impl ContributorInformationBuilder {
+impl<
+    St: contributor_information_state::State,
+    S: BosStr,
+> ContributorInformationBuilder {
     /// Set the `displayName` field (optional)
     pub fn display_name(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -259,7 +272,10 @@ impl ContributorInformation
     }
 }
 
-impl ContributorInformationBuilder {
+impl<
+    St: contributor_information_state::State,
+    S: BosStr,
+> ContributorInformationBuilder {
     /// Set the `identifier` field (optional)
     pub fn identifier(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -272,9 +288,15 @@ impl ContributorInformation
     }
 }
 
-impl ContributorInformationBuilder {
+impl<
+    St: contributor_information_state::State,
+    S: BosStr,
+> ContributorInformationBuilder {
     /// Set the `image` field (optional)
-    pub fn image(mut self, value: impl Into>>) -> Self {
+    pub fn image(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -316,10 +338,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_claim_contributorInformation() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.claim.contributorInformation"),
@@ -401,4 +423,4 @@ fn lexicon_doc_org_hypercerts_claim_contributorInformation() -> LexiconDoc<'stat
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/claim/rights.rs b/crates/jacquard-api/src/org_hypercerts/claim/rights.rs
index 94c4b2ef4..813d95df7 100644
--- a/crates/jacquard-api/src/org_hypercerts/claim/rights.rs
+++ b/crates/jacquard-api/src/org_hypercerts/claim/rights.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_hypercerts::SmallBlob;
-use crate::org_hypercerts::Uri;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_hypercerts::SmallBlob;
+use crate::org_hypercerts::Uri;
 /// Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -54,6 +54,7 @@ pub struct Rights {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -171,7 +172,7 @@ impl LexiconSchema for Rights {
 
 pub mod rights_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -414,10 +415,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_claim_rights() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.claim.rights"),
@@ -519,4 +520,4 @@ fn lexicon_doc_org_hypercerts_claim_rights() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/collection.rs b/crates/jacquard-api/src/org_hypercerts/collection.rs
index c4e46446a..04149e6b1 100644
--- a/crates/jacquard-api/src/org_hypercerts/collection.rs
+++ b/crates/jacquard-api/src/org_hypercerts/collection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,21 +24,18 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_hypercerts::LargeImage;
 use crate::org_hypercerts::SmallImage;
 use crate::org_hypercerts::Uri;
-use crate::org_hypercerts::collection;
 use crate::pub_leaflet::pages::linear_document::LinearDocument;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::org_hypercerts::collection;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Item {
     ///Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection).
     pub item_identifier: StrongRef,
@@ -88,6 +85,7 @@ pub struct Collection {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -98,6 +96,7 @@ pub enum CollectionAvatar {
     SmallImage(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -260,7 +259,7 @@ impl LexiconSchema for Collection {
 
 pub mod item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -389,10 +388,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_collection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.collection"),
@@ -575,7 +574,7 @@ fn lexicon_doc_org_hypercerts_collection() -> LexiconDoc<'static> {
 
 pub mod collection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -821,7 +820,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collection {
         Collection {
             avatar: self._fields.0,
             banner: self._fields.1,
@@ -835,4 +837,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/context.rs b/crates/jacquard-api/src/org_hypercerts/context.rs
index 88550c412..2d8d720c3 100644
--- a/crates/jacquard-api/src/org_hypercerts/context.rs
+++ b/crates/jacquard-api/src/org_hypercerts/context.rs
@@ -7,4 +7,4 @@
 pub mod acknowledgement;
 pub mod attachment;
 pub mod evaluation;
-pub mod measurement;
+pub mod measurement;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/context/acknowledgement.rs b/crates/jacquard-api/src/org_hypercerts/context/acknowledgement.rs
index 89cd2df36..1bbffa5ef 100644
--- a/crates/jacquard-api/src/org_hypercerts/context/acknowledgement.rs
+++ b/crates/jacquard-api/src/org_hypercerts/context/acknowledgement.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::org_hypercerts::Uri;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::org_hypercerts::Uri;
 /// Acknowledges a record (subject) or its relationship in a context. Created in the acknowledging actor's repo to form a bidirectional link. Examples: a contributor acknowledging inclusion in an activity, an activity owner acknowledging inclusion in a collection, or a record owner acknowledging an evaluation.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -55,6 +55,7 @@ pub struct Acknowledgement {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -148,7 +149,7 @@ impl LexiconSchema for Acknowledgement {
 
 pub mod acknowledgement_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -205,7 +206,10 @@ pub mod acknowledgement_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct AcknowledgementBuilder {
+pub struct AcknowledgementBuilder<
+    St: acknowledgement_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -287,7 +291,10 @@ impl AcknowledgementBuilder
 
 impl AcknowledgementBuilder {
     /// Set the `context` field (optional)
-    pub fn context(mut self, value: impl Into>>) -> Self {
+    pub fn context(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -355,7 +362,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Acknowledgement {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Acknowledgement {
         Acknowledgement {
             acknowledged: self._fields.0.unwrap(),
             comment: self._fields.1,
@@ -368,10 +378,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_context_acknowledgement() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.context.acknowledgement"),
@@ -461,4 +471,4 @@ fn lexicon_doc_org_hypercerts_context_acknowledgement() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/context/attachment.rs b/crates/jacquard-api/src/org_hypercerts/context/attachment.rs
index 3134953e8..eff189bda 100644
--- a/crates/jacquard-api/src/org_hypercerts/context/attachment.rs
+++ b/crates/jacquard-api/src/org_hypercerts/context/attachment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,14 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::Facet;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_hypercerts::SmallBlob;
 use crate::org_hypercerts::Uri;
 use crate::pub_leaflet::pages::linear_document::LinearDocument;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -71,6 +71,7 @@ pub struct Attachment {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -205,7 +206,7 @@ impl LexiconSchema for Attachment {
 
 pub mod attachment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -302,12 +303,18 @@ impl AttachmentBuilder {
 
 impl AttachmentBuilder {
     /// Set the `content` field (optional)
-    pub fn content(mut self, value: impl Into>>>) -> Self {
+    pub fn content(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `content` field to an Option value (optional)
-    pub fn maybe_content(mut self, value: Option>>) -> Self {
+    pub fn maybe_content(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -386,12 +393,18 @@ impl AttachmentBuilder {
 
 impl AttachmentBuilder {
     /// Set the `shortDescriptionFacets` field (optional)
-    pub fn short_description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn short_description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
     /// Set the `shortDescriptionFacets` field to an Option value (optional)
-    pub fn maybe_short_description_facets(mut self, value: Option>>) -> Self {
+    pub fn maybe_short_description_facets(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.6 = value;
         self
     }
@@ -451,7 +464,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Attachment {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Attachment {
         Attachment {
             content: self._fields.0,
             content_type: self._fields.1,
@@ -468,10 +484,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_context_attachment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.context.attachment"),
@@ -622,4 +638,4 @@ fn lexicon_doc_org_hypercerts_context_attachment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/context/evaluation.rs b/crates/jacquard-api/src/org_hypercerts/context/evaluation.rs
index 9b5587b71..ea1f79a4e 100644
--- a/crates/jacquard-api/src/org_hypercerts/context/evaluation.rs
+++ b/crates/jacquard-api/src/org_hypercerts/context/evaluation.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,14 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_certified::Did;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_hypercerts::SmallBlob;
 use crate::org_hypercerts::Uri;
 use crate::org_hypercerts::context::evaluation;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// An evaluation of a hypercert record (e.g. an activity and its impact).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -67,6 +67,7 @@ pub struct Evaluation {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -91,10 +92,7 @@ pub struct EvaluationGetRecordOutput {
 /// Overall score for an evaluation on a numeric scale.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Score {
     ///Maximum value of the scale, e.g. 5 or 10.
     pub max: i64,
@@ -226,7 +224,7 @@ impl LexiconSchema for Score {
 
 pub mod evaluation_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -336,12 +334,18 @@ impl EvaluationBuilder {
 
 impl EvaluationBuilder {
     /// Set the `content` field (optional)
-    pub fn content(mut self, value: impl Into>>>) -> Self {
+    pub fn content(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `content` field to an Option value (optional)
-    pub fn maybe_content(mut self, value: Option>>) -> Self {
+    pub fn maybe_content(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -478,7 +482,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Evaluation {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Evaluation {
         Evaluation {
             content: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -494,10 +501,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_context_evaluation() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.context.evaluation"),
@@ -626,14 +633,17 @@ fn lexicon_doc_org_hypercerts_context_evaluation() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("score"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Overall score for an evaluation on a numeric scale.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("min"),
-                        SmolStr::new_static("max"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Overall score for an evaluation on a numeric scale.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("min"), SmolStr::new_static("max"),
+                            SmolStr::new_static("value")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -668,7 +678,7 @@ fn lexicon_doc_org_hypercerts_context_evaluation() -> LexiconDoc<'static> {
 
 pub mod score_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -773,7 +783,10 @@ where
     St::Max: score_state::IsUnset,
 {
     /// Set the `max` field (required)
-    pub fn max(mut self, value: impl Into) -> ScoreBuilder, S> {
+    pub fn max(
+        mut self,
+        value: impl Into,
+    ) -> ScoreBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ScoreBuilder {
             _state: PhantomData,
@@ -789,7 +802,10 @@ where
     St::Min: score_state::IsUnset,
 {
     /// Set the `min` field (required)
-    pub fn min(mut self, value: impl Into) -> ScoreBuilder, S> {
+    pub fn min(
+        mut self,
+        value: impl Into,
+    ) -> ScoreBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         ScoreBuilder {
             _state: PhantomData,
@@ -805,7 +821,10 @@ where
     St::Value: score_state::IsUnset,
 {
     /// Set the `value` field (required)
-    pub fn value(mut self, value: impl Into) -> ScoreBuilder, S> {
+    pub fn value(
+        mut self,
+        value: impl Into,
+    ) -> ScoreBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ScoreBuilder {
             _state: PhantomData,
@@ -840,4 +859,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/context/measurement.rs b/crates/jacquard-api/src/org_hypercerts/context/measurement.rs
index 7deb3cc1e..f77125eb4 100644
--- a/crates/jacquard-api/src/org_hypercerts/context/measurement.rs
+++ b/crates/jacquard-api/src/org_hypercerts/context/measurement.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::Facet;
 use crate::app_certified::Did;
 use crate::com_atproto::repo::strong_ref::StrongRef;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Measurement data related to one or more records (e.g. activities, projects, etc.).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -248,7 +248,7 @@ impl LexiconSchema for Measurement {
 
 pub mod measurement_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -362,7 +362,20 @@ impl MeasurementBuilder {
         MeasurementBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -375,7 +388,20 @@ impl MeasurementBuilder {
         MeasurementBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -617,7 +643,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Measurement {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Measurement {
         Measurement {
             comment: self._fields.0,
             comment_facets: self._fields.1,
@@ -639,10 +668,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_context_measurement() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.context.measurement"),
@@ -867,4 +896,4 @@ fn lexicon_doc_org_hypercerts_context_measurement() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/funding.rs b/crates/jacquard-api/src/org_hypercerts/funding.rs
index 39f7cfe80..5fff66235 100644
--- a/crates/jacquard-api/src/org_hypercerts/funding.rs
+++ b/crates/jacquard-api/src/org_hypercerts/funding.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.hypercerts.funding` Lexicon namespace/module.
-pub mod receipt;
+pub mod receipt;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/funding/receipt.rs b/crates/jacquard-api/src/org_hypercerts/funding/receipt.rs
index 8e97777db..3c08ff049 100644
--- a/crates/jacquard-api/src/org_hypercerts/funding/receipt.rs
+++ b/crates/jacquard-api/src/org_hypercerts/funding/receipt.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_certified::Did;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_certified::Did;
 /// Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -204,7 +204,7 @@ impl LexiconSchema for Receipt {
 
 pub mod receipt_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -332,9 +332,7 @@ impl ReceiptBuilder {
     pub fn new() -> Self {
         ReceiptBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -345,9 +343,7 @@ impl ReceiptBuilder {
     pub fn builder() -> Self {
         ReceiptBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -500,7 +496,10 @@ where
     St::To: receipt_state::IsUnset,
 {
     /// Set the `to` field (required)
-    pub fn to(mut self, value: impl Into) -> ReceiptBuilder, S> {
+    pub fn to(
+        mut self,
+        value: impl Into,
+    ) -> ReceiptBuilder, S> {
         self._fields.9 = Option::Some(value.into());
         ReceiptBuilder {
             _state: PhantomData,
@@ -569,10 +568,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_funding_receipt() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.funding.receipt"),
@@ -735,4 +734,4 @@ fn lexicon_doc_org_hypercerts_funding_receipt() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/helper.rs b/crates/jacquard-api/src/org_hypercerts/helper.rs
index 40cf41398..7a31ccb78 100644
--- a/crates/jacquard-api/src/org_hypercerts/helper.rs
+++ b/crates/jacquard-api/src/org_hypercerts/helper.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.hypercerts.helper` Lexicon namespace/module.
-pub mod work_scope_tag;
+pub mod work_scope_tag;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/helper/work_scope_tag.rs b/crates/jacquard-api/src/org_hypercerts/helper/work_scope_tag.rs
index 5fdd024d6..54a2eba83 100644
--- a/crates/jacquard-api/src/org_hypercerts/helper/work_scope_tag.rs
+++ b/crates/jacquard-api/src/org_hypercerts/helper/work_scope_tag.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_hypercerts::SmallBlob;
 use crate::org_hypercerts::Uri;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -65,6 +65,7 @@ pub struct WorkScopeTag {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -200,7 +201,7 @@ impl LexiconSchema for WorkScopeTag {
 
 pub mod work_scope_tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -458,7 +459,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> WorkScopeTag {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> WorkScopeTag {
         WorkScopeTag {
             aliases: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -474,10 +478,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_helper_workScopeTag() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.helper.workScopeTag"),
@@ -610,4 +614,4 @@ fn lexicon_doc_org_hypercerts_helper_workScopeTag() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/workscope.rs b/crates/jacquard-api/src/org_hypercerts/workscope.rs
index 0270123b9..2c3a47cea 100644
--- a/crates/jacquard-api/src/org_hypercerts/workscope.rs
+++ b/crates/jacquard-api/src/org_hypercerts/workscope.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `org.hypercerts.workscope` Lexicon namespace/module.
 pub mod cel;
-pub mod tag;
+pub mod tag;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/workscope/cel.rs b/crates/jacquard-api/src/org_hypercerts/workscope/cel.rs
index e8acae93d..a17188511 100644
--- a/crates/jacquard-api/src/org_hypercerts/workscope/cel.rs
+++ b/crates/jacquard-api/src/org_hypercerts/workscope/cel.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A structured, machine-evaluable work scope definition using CEL (Common Expression Language). Tags referenced in the expression correspond to org.hypercerts.workscope.tag keys. See https://github.com/google/cel-spec. Note: this is intentionally type 'object' (not 'record') so it can be directly embedded inline in union types (e.g., activity.workScope) without requiring a separate collection or strongRef indirection.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Cel {
     ///Client-declared timestamp when this expression was originally created.
     pub created_at: Datetime,
@@ -183,7 +180,7 @@ impl LexiconSchema for Cel {
 
 pub mod cel_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -410,10 +407,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_workscope_cel() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.workscope.cel"),
@@ -498,4 +495,4 @@ fn lexicon_doc_org_hypercerts_workscope_cel() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_hypercerts/workscope/tag.rs b/crates/jacquard-api/src/org_hypercerts/workscope/tag.rs
index 90c41d547..e4c712da4 100644
--- a/crates/jacquard-api/src/org_hypercerts/workscope/tag.rs
+++ b/crates/jacquard-api/src/org_hypercerts/workscope/tag.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_hypercerts::SmallBlob;
 use crate::org_hypercerts::Uri;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels. Tags are composed into structured expressions via CEL (Common Expression Language) on activity records.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -161,6 +161,7 @@ where
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -399,7 +400,7 @@ impl LexiconSchema for Tag {
 
 pub mod tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -493,9 +494,7 @@ impl TagBuilder {
     pub fn new() -> Self {
         TagBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -506,9 +505,7 @@ impl TagBuilder {
     pub fn builder() -> Self {
         TagBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -619,12 +616,18 @@ impl TagBuilder {
 
 impl TagBuilder {
     /// Set the `referenceDocument` field (optional)
-    pub fn reference_document(mut self, value: impl Into>>) -> Self {
+    pub fn reference_document(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.7 = value.into();
         self
     }
     /// Set the `referenceDocument` field to an Option value (optional)
-    pub fn maybe_reference_document(mut self, value: Option>) -> Self {
+    pub fn maybe_reference_document(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.7 = value;
         self
     }
@@ -713,10 +716,10 @@ where
 }
 
 fn lexicon_doc_org_hypercerts_workscope_tag() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.hypercerts.workscope.tag"),
@@ -883,4 +886,4 @@ fn lexicon_doc_org_hypercerts_workscope_tag() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_impactindexer.rs b/crates/jacquard-api/src/org_impactindexer.rs
index a2abeda8b..7cc541304 100644
--- a/crates/jacquard-api/src/org_impactindexer.rs
+++ b/crates/jacquard-api/src/org_impactindexer.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `org.impactindexer` Lexicon namespace/module.
 pub mod link;
-pub mod review;
+pub mod review;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_impactindexer/link.rs b/crates/jacquard-api/src/org_impactindexer/link.rs
index 22bbf10d1..4430e6aa5 100644
--- a/crates/jacquard-api/src/org_impactindexer/link.rs
+++ b/crates/jacquard-api/src/org_impactindexer/link.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.impactindexer.link` Lexicon namespace/module.
-pub mod attestation;
+pub mod attestation;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_impactindexer/link/attestation.rs b/crates/jacquard-api/src/org_impactindexer/link/attestation.rs
index 948f990d4..950a30b88 100644
--- a/crates/jacquard-api/src/org_impactindexer/link/attestation.rs
+++ b/crates/jacquard-api/src/org_impactindexer/link/attestation.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_impactindexer::link::attestation;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_impactindexer::link::attestation;
 /// The EIP-712 typed data message structure
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Eip712Message {
     ///The chain ID as a string (for bigint compatibility, max uint256)
     pub chain_id: S,
@@ -127,7 +124,8 @@ impl Serialize for AttestationSignatureType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for AttestationSignatureType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for AttestationSignatureType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -154,7 +152,9 @@ where
             AttestationSignatureType::Eoa => AttestationSignatureType::Eoa,
             AttestationSignatureType::Erc1271 => AttestationSignatureType::Erc1271,
             AttestationSignatureType::Erc6492 => AttestationSignatureType::Erc6492,
-            AttestationSignatureType::Other(v) => AttestationSignatureType::Other(v.into_static()),
+            AttestationSignatureType::Other(v) => {
+                AttestationSignatureType::Other(v.into_static())
+            }
         }
     }
 }
@@ -365,10 +365,10 @@ impl LexiconSchema for Attestation {
 }
 
 fn lexicon_doc_org_impactindexer_link_attestation() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.impactindexer.link.attestation"),
@@ -558,7 +558,7 @@ fn lexicon_doc_org_impactindexer_link_attestation() -> LexiconDoc<'static> {
 
 pub mod attestation_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -855,7 +855,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Attestation {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Attestation {
         Attestation {
             address: self._fields.0.unwrap(),
             chain_id: self._fields.1.unwrap(),
@@ -866,4 +869,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_impactindexer/review.rs b/crates/jacquard-api/src/org_impactindexer/review.rs
index 6b332b47f..e782b0898 100644
--- a/crates/jacquard-api/src/org_impactindexer/review.rs
+++ b/crates/jacquard-api/src/org_impactindexer/review.rs
@@ -9,12 +9,13 @@
 pub mod comment;
 pub mod like;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +25,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_impactindexer::review;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_impactindexer::review;
 /// Reference to the subject being reviewed.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SubjectRef {
     ///Optional CID for record subjects to pin to a specific version.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -166,7 +164,7 @@ impl LexiconSchema for SubjectRef {
 
 pub mod subject_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -318,7 +316,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SubjectRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SubjectRef {
         SubjectRef {
             cid: self._fields.0,
             r#type: self._fields.1.unwrap(),
@@ -329,10 +330,10 @@ where
 }
 
 fn lexicon_doc_org_impactindexer_review_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.impactindexer.review.defs"),
@@ -389,7 +390,9 @@ fn lexicon_doc_org_impactindexer_review_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("subjectType"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static("The type of subject being reviewed.")),
+                    description: Some(
+                        CowStr::new_static("The type of subject being reviewed."),
+                    ),
                     max_length: Some(32usize),
                     ..Default::default()
                 }),
@@ -398,4 +401,4 @@ fn lexicon_doc_org_impactindexer_review_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_impactindexer/review/comment.rs b/crates/jacquard-api/src/org_impactindexer/review/comment.rs
index a990ac55b..fe73c91f2 100644
--- a/crates/jacquard-api/src/org_impactindexer/review/comment.rs
+++ b/crates/jacquard-api/src/org_impactindexer/review/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_impactindexer::review::SubjectRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_impactindexer::review::SubjectRef;
 /// A text comment on a subject.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -136,7 +136,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -195,12 +195,7 @@ pub mod comment_state {
 /// Builder for constructing an instance of this type.
 pub struct CommentBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -297,7 +292,10 @@ where
     St::Text: comment_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -337,10 +335,10 @@ where
 }
 
 fn lexicon_doc_org_impactindexer_review_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.impactindexer.review.comment"),
@@ -416,4 +414,4 @@ fn lexicon_doc_org_impactindexer_review_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_impactindexer/review/like.rs b/crates/jacquard-api/src/org_impactindexer/review/like.rs
index 3f2102025..a27c22cb7 100644
--- a/crates/jacquard-api/src/org_impactindexer/review/like.rs
+++ b/crates/jacquard-api/src/org_impactindexer/review/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_impactindexer::review::SubjectRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_impactindexer::review::SubjectRef;
 /// A like on a subject. Create to like, delete to remove like.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_org_impactindexer_review_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.impactindexer.review.like"),
@@ -267,24 +267,28 @@ fn lexicon_doc_org_impactindexer_review_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A like on a subject. Create to like, delete to remove like.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A like on a subject. Create to like, delete to remove like.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the like was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when the like was created."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -309,4 +313,4 @@ fn lexicon_doc_org_impactindexer_review_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary.rs b/crates/jacquard-api/src/org_okazu_diary.rs
index 8af8287d2..4a939930c 100644
--- a/crates/jacquard-api/src/org_okazu_diary.rs
+++ b/crates/jacquard-api/src/org_okazu_diary.rs
@@ -7,4 +7,4 @@
 pub mod actor;
 pub mod embed;
 pub mod feed;
-pub mod material;
+pub mod material;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/actor.rs b/crates/jacquard-api/src/org_okazu_diary/actor.rs
index 1961b1885..1fa04b5cd 100644
--- a/crates/jacquard-api/src/org_okazu_diary/actor.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/actor.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.okazu.diary.actor` Lexicon namespace/module.
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/actor/profile.rs b/crates/jacquard-api/src/org_okazu_diary/actor/profile.rs
index 4cfe71ac3..29cdf8421 100644
--- a/crates/jacquard-api/src/org_okazu_diary/actor/profile.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::label::SelfLabels;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::label::SelfLabels;
 /// A declaration of an Okazu-Diary.org profile. If the repository has an `app.bsky.actor.profile` record, the application can substitute omitted properties of this record with the counterpart properties from that record, except for the `createdAt` and `labels` properties.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -129,20 +129,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -198,7 +203,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -374,10 +379,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.actor.profile"),
@@ -458,4 +463,4 @@ fn lexicon_doc_org_okazu_diary_actor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/embed.rs b/crates/jacquard-api/src/org_okazu_diary/embed.rs
index ce6e317f6..7501b0b2f 100644
--- a/crates/jacquard-api/src/org_okazu_diary/embed.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/embed.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `org.okazu.diary.embed` Lexicon namespace/module.
 pub mod external;
-pub mod record;
+pub mod record;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/embed/external.rs b/crates/jacquard-api/src/org_okazu_diary/embed/external.rs
index 0a8e70191..dc789c002 100644
--- a/crates/jacquard-api/src/org_okazu_diary/embed/external.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/embed/external.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_okazu_diary::embed::external;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_okazu_diary::embed::external;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct External {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub description: Option,
@@ -43,11 +40,9 @@ pub struct External {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Thumb {
     pub cid: Cid,
     pub uri: UriValue,
@@ -87,7 +82,7 @@ impl LexiconSchema for Thumb {
 
 pub mod external_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -120,12 +115,7 @@ pub mod external_state {
 /// Builder for constructing an instance of this type.
 pub struct ExternalBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -251,10 +241,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_embed_external() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.embed.external"),
@@ -269,9 +259,7 @@ fn lexicon_doc_org_okazu_diary_embed_external() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("thumb"),
@@ -282,9 +270,7 @@ fn lexicon_doc_org_okazu_diary_embed_external() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -301,7 +287,9 @@ fn lexicon_doc_org_okazu_diary_embed_external() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("thumb"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("cid"), SmolStr::new_static("uri")]),
+                    required: Some(
+                        vec![SmolStr::new_static("cid"), SmolStr::new_static("uri")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -332,7 +320,7 @@ fn lexicon_doc_org_okazu_diary_embed_external() -> LexiconDoc<'static> {
 
 pub mod thumb_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -423,7 +411,10 @@ where
     St::Cid: thumb_state::IsUnset,
 {
     /// Set the `cid` field (required)
-    pub fn cid(mut self, value: impl Into>) -> ThumbBuilder, S> {
+    pub fn cid(
+        mut self,
+        value: impl Into>,
+    ) -> ThumbBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ThumbBuilder {
             _state: PhantomData,
@@ -474,4 +465,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/embed/record.rs b/crates/jacquard-api/src/org_okazu_diary/embed/record.rs
index 6ba22ab4c..f0e6b14e9 100644
--- a/crates/jacquard-api/src/org_okazu_diary/embed/record.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/embed/record.rs
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Record {
     pub record: StrongRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -53,7 +50,7 @@ impl LexiconSchema for Record {
 
 pub mod record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -167,10 +164,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_embed_record() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.embed.record"),
@@ -199,4 +196,4 @@ fn lexicon_doc_org_okazu_diary_embed_record() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/feed.rs b/crates/jacquard-api/src/org_okazu_diary/feed.rs
index 07689d190..0f1107953 100644
--- a/crates/jacquard-api/src/org_okazu_diary/feed.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/feed.rs
@@ -11,12 +11,13 @@ pub mod collection_item;
 pub mod entry;
 pub mod like;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,19 +27,16 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::label::SelfLabels;
 use crate::org_okazu_diary::embed::external::External;
 use crate::org_okazu_diary::embed::record::Record;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A descriptor of a material used to help self-gratification.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Subject {
     ///User-specified self-label values for the material. The Lexicon by its nature assumes the material to be possibly sensitive by default, so the explicit label values are intended to signal that a warning should be put on the material even for the Okazu-Diary.org application users who are willing to see mature contents in general.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -48,6 +46,7 @@ pub struct Subject {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -58,11 +57,9 @@ pub enum SubjectValue {
     Record(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tag {
     pub value: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -123,7 +120,7 @@ impl LexiconSchema for Tag {
 
 pub mod subject_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -252,10 +249,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_feed_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.feed.defs"),
@@ -326,4 +323,4 @@ fn lexicon_doc_org_okazu_diary_feed_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/feed/collection.rs b/crates/jacquard-api/src/org_okazu_diary/feed/collection.rs
index 78c141fa7..493c4be10 100644
--- a/crates/jacquard-api/src/org_okazu_diary/feed/collection.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/feed/collection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::label::SelfLabels;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::label::SelfLabels;
 /// Record representing a user-curated colleciton of materials.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -154,7 +154,7 @@ impl LexiconSchema for Collection {
 
 pub mod collection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -187,12 +187,7 @@ pub mod collection_state {
 /// Builder for constructing an instance of this type.
 pub struct CollectionBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -306,7 +301,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collection {
         Collection {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -318,10 +316,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_feed_collection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.feed.collection"),
@@ -392,4 +390,4 @@ fn lexicon_doc_org_okazu_diary_feed_collection() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/feed/collection_item.rs b/crates/jacquard-api/src/org_okazu_diary/feed/collection_item.rs
index d8dc5159d..c59a69cba 100644
--- a/crates/jacquard-api/src/org_okazu_diary/feed/collection_item.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/feed/collection_item.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,13 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::label::SelfLabels;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_okazu_diary::feed::Subject;
 use crate::org_okazu_diary::feed::Tag;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Record declaring the inclusion of a single material or a set of materials in a specific collection.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -152,7 +152,7 @@ impl LexiconSchema for CollectionItem {
 
 pub mod collection_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -209,7 +209,10 @@ pub mod collection_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CollectionItemBuilder {
+pub struct CollectionItemBuilder<
+    St: collection_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -374,7 +377,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CollectionItem {
         CollectionItem {
             collection: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -388,10 +394,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_feed_collectionItem() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.feed.collectionItem"),
@@ -503,4 +509,4 @@ fn lexicon_doc_org_okazu_diary_feed_collectionItem() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/feed/entry.rs b/crates/jacquard-api/src/org_okazu_diary/feed/entry.rs
index 115e2d529..521659eaf 100644
--- a/crates/jacquard-api/src/org_okazu_diary/feed/entry.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/feed/entry.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::label::SelfLabels;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_okazu_diary::material::Tag;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A diary entry to record a self-gratification activity.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -254,7 +254,7 @@ fn _default_entry_had_hiatus() -> Option {
 
 pub mod entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -482,10 +482,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_feed_entry() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.feed.entry"),
@@ -608,4 +608,4 @@ fn lexicon_doc_org_okazu_diary_feed_entry() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/feed/like.rs b/crates/jacquard-api/src/org_okazu_diary/feed/like.rs
index beec33e22..714c73c99 100644
--- a/crates/jacquard-api/src/org_okazu_diary/feed/like.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/feed/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record declaring a 'like' of a piece of subject activity.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -270,10 +270,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_feed_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.feed.like"),
@@ -282,15 +282,19 @@ fn lexicon_doc_org_okazu_diary_feed_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a 'like' of a piece of subject activity.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a 'like' of a piece of subject activity.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -326,4 +330,4 @@ fn lexicon_doc_org_okazu_diary_feed_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/material.rs b/crates/jacquard-api/src/org_okazu_diary/material.rs
index b8911cc95..a5a9e217e 100644
--- a/crates/jacquard-api/src/org_okazu_diary/material.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/material.rs
@@ -10,9 +10,10 @@ pub mod collection;
 pub mod collection_item;
 pub mod external;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,13 +25,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tag {
     pub value: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -75,10 +73,10 @@ impl LexiconSchema for Tag {
 }
 
 fn lexicon_doc_org_okazu_diary_material_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.material.defs"),
@@ -108,4 +106,4 @@ fn lexicon_doc_org_okazu_diary_material_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/material/collection.rs b/crates/jacquard-api/src/org_okazu_diary/material/collection.rs
index 24cdea7d0..d632da0b6 100644
--- a/crates/jacquard-api/src/org_okazu_diary/material/collection.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/material/collection.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::label::SelfLabels;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::label::SelfLabels;
 /// Record representing a user-curated colleciton of materials.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -154,7 +154,7 @@ impl LexiconSchema for Collection {
 
 pub mod collection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -187,12 +187,7 @@ pub mod collection_state {
 /// Builder for constructing an instance of this type.
 pub struct CollectionBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -306,7 +301,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collection {
         Collection {
             created_at: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -318,10 +316,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_material_collection() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.material.collection"),
@@ -392,4 +390,4 @@ fn lexicon_doc_org_okazu_diary_material_collection() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/material/collection_item.rs b/crates/jacquard-api/src/org_okazu_diary/material/collection_item.rs
index 9859dcbe0..8a5e9f041 100644
--- a/crates/jacquard-api/src/org_okazu_diary/material/collection_item.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/material/collection_item.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record declaring the inclusion of a single material or a set of materials in a specific collection.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -158,7 +158,7 @@ impl LexiconSchema for CollectionItem {
 
 pub mod collection_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,7 +215,10 @@ pub mod collection_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CollectionItemBuilder {
+pub struct CollectionItemBuilder<
+    St: collection_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -365,7 +368,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CollectionItem {
         CollectionItem {
             collection: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -378,10 +384,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_material_collectionItem() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.material.collectionItem"),
@@ -472,4 +478,4 @@ fn lexicon_doc_org_okazu_diary_material_collectionItem() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_okazu_diary/material/external.rs b/crates/jacquard-api/src/org_okazu_diary/material/external.rs
index b66d2c648..72723857a 100644
--- a/crates/jacquard-api/src/org_okazu_diary/material/external.rs
+++ b/crates/jacquard-api/src/org_okazu_diary/material/external.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,13 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::label::SelfLabels;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::org_okazu_diary::material::Tag;
 use crate::org_okazu_diary::material::external;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A descriptor of a pornographic material.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -83,11 +83,9 @@ pub struct ExternalGetRecordOutput {
     pub value: External,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Thumb {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -171,7 +169,7 @@ impl LexiconSchema for Thumb {
 
 pub mod external_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -395,10 +393,10 @@ where
 }
 
 fn lexicon_doc_org_okazu_diary_material_external() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.okazu-diary.material.external"),
@@ -555,7 +553,7 @@ fn lexicon_doc_org_okazu_diary_material_external() -> LexiconDoc<'static> {
 
 pub mod thumb_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -681,4 +679,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads.rs b/crates/jacquard-api/src/org_passingreads.rs
index 26494c2fc..7d844e307 100644
--- a/crates/jacquard-api/src/org_passingreads.rs
+++ b/crates/jacquard-api/src/org_passingreads.rs
@@ -9,12 +9,13 @@
 pub mod actor;
 pub mod book;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,14 +28,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Basic actor information for embedding in responses
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Actor {
     pub did: Did,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -48,10 +46,7 @@ pub struct Actor {
 /// width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any unit.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AspectRatio {
     pub height: i64,
     pub width: i64,
@@ -62,10 +57,7 @@ pub struct AspectRatio {
 /// Book ID entry for SSG
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BookIdEntry {
     pub id: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -75,10 +67,7 @@ pub struct BookIdEntry {
 /// Location entry with book count for SSG
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LocationEntry {
     pub book_count: i64,
     pub h3: S,
@@ -178,7 +167,7 @@ impl LexiconSchema for LocationEntry {
 
 pub mod actor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -257,7 +246,10 @@ where
     St::Did: actor_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> ActorBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> ActorBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ActorBuilder {
             _state: PhantomData,
@@ -319,10 +311,10 @@ where
 }
 
 fn lexicon_doc_org_passingreads_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.passingreads.defs"),
@@ -331,9 +323,11 @@ fn lexicon_doc_org_passingreads_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("actor"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Basic actor information for embedding in responses",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Basic actor information for embedding in responses",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("did")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -407,9 +401,7 @@ fn lexicon_doc_org_passingreads_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -419,11 +411,12 @@ fn lexicon_doc_org_passingreads_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("locationEntry"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Location entry with book count for SSG")),
-                    required: Some(vec![
-                        SmolStr::new_static("h3"),
-                        SmolStr::new_static("bookCount"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Location entry with book count for SSG"),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("h3"), SmolStr::new_static("bookCount")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -435,9 +428,7 @@ fn lexicon_doc_org_passingreads_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("h3"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -452,7 +443,7 @@ fn lexicon_doc_org_passingreads_defs() -> LexiconDoc<'static> {
 
 pub mod aspect_ratio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -590,7 +581,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AspectRatio {
         AspectRatio {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -601,7 +595,7 @@ where
 
 pub mod location_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -644,7 +638,10 @@ pub mod location_entry_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct LocationEntryBuilder {
+pub struct LocationEntryBuilder<
+    St: location_entry_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -739,11 +736,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LocationEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LocationEntry {
         LocationEntry {
             book_count: self._fields.0.unwrap(),
             h3: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/actor.rs b/crates/jacquard-api/src/org_passingreads/actor.rs
index ba7abf264..7fe741242 100644
--- a/crates/jacquard-api/src/org_passingreads/actor.rs
+++ b/crates/jacquard-api/src/org_passingreads/actor.rs
@@ -10,12 +10,13 @@ pub mod get_profile;
 pub mod list_profiles;
 pub mod profile;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,17 +27,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
 /// Profile view of a user for API responses. Based on the actor.profile record but with resolved avatar URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileView {
     ///Alt text for the avatar image
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -104,7 +102,7 @@ impl LexiconSchema for ProfileView {
 
 pub mod profile_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -238,7 +236,10 @@ impl ProfileViewBuilder {
 
 impl ProfileViewBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -320,7 +321,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileView {
         ProfileView {
             avatar_alt: self._fields.0,
             avatar_url: self._fields.1,
@@ -335,10 +339,10 @@ where
 }
 
 fn lexicon_doc_org_passingreads_actor_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.passingreads.actor.defs"),
@@ -428,4 +432,4 @@ fn lexicon_doc_org_passingreads_actor_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/actor/get_profile.rs b/crates/jacquard-api/src/org_passingreads/actor/get_profile.rs
index 2624ae653..64f6516ed 100644
--- a/crates/jacquard-api/src/org_passingreads/actor/get_profile.rs
+++ b/crates/jacquard-api/src/org_passingreads/actor/get_profile.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::actor::ProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::actor::ProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfile {
     pub actor: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub profile: Option>,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest {
 
 pub mod get_profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -172,4 +167,4 @@ where
             actor: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/actor/list_profiles.rs b/crates/jacquard-api/src/org_passingreads/actor/list_profiles.rs
index 18c075ddb..c6deace5a 100644
--- a/crates/jacquard-api/src/org_passingreads/actor/list_profiles.rs
+++ b/crates/jacquard-api/src/org_passingreads/actor/list_profiles.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::actor::ProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::actor::ProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListProfilesOutput {
     pub profiles: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -60,4 +57,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListProfilesRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = ListProfiles;
     type Response = ListProfilesResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/actor/profile.rs b/crates/jacquard-api/src/org_passingreads/actor/profile.rs
index ab2a9fb6d..a0c6b6b6a 100644
--- a/crates/jacquard-api/src/org_passingreads/actor/profile.rs
+++ b/crates/jacquard-api/src/org_passingreads/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
 /// Profile information describing the entity behind the PassingReads account.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -126,20 +126,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -217,7 +222,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -324,7 +329,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -377,10 +385,10 @@ where
 }
 
 fn lexicon_doc_org_passingreads_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.passingreads.actor.profile"),
@@ -451,4 +459,4 @@ fn lexicon_doc_org_passingreads_actor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book.rs b/crates/jacquard-api/src/org_passingreads/book.rs
index 268c0057a..cdaaccd80 100644
--- a/crates/jacquard-api/src/org_passingreads/book.rs
+++ b/crates/jacquard-api/src/org_passingreads/book.rs
@@ -18,36 +18,34 @@ pub mod list_book_ids;
 pub mod list_dropped_books;
 pub mod registration;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, Datetime, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::community_lexicon::location::hthree::Hthree;
 use crate::org_passingreads::Actor;
 use crate::org_passingreads::AspectRatio;
 use crate::org_passingreads::book;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A confirmed book event for display purposes. Omits cryptographic fields (bookPub, bookSig) and book reference since it's shown in context of a book.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ConfirmedEvent {
     ///The person who performed this event
     pub actor: Actor,
@@ -155,10 +153,7 @@ where
 /// A view of a book registration for API responses. Omits cryptographic fields (bookPub, bookSig) and the cover blob.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RegistrationView {
     ///Authors of this book, in order of credit
     pub authors: Vec,
@@ -180,10 +175,7 @@ pub struct RegistrationView {
 /// A book with its current state, combining registration data with computed state information.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StatefulBook {
     ///Aspect ratio of the cover image
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -353,7 +345,7 @@ impl LexiconSchema for StatefulBook {
 
 pub mod confirmed_event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -444,7 +436,10 @@ pub mod confirmed_event_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ConfirmedEventBuilder {
+pub struct ConfirmedEventBuilder<
+    St: confirmed_event_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -608,7 +603,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ConfirmedEvent {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ConfirmedEvent {
         ConfirmedEvent {
             actor: self._fields.0.unwrap(),
             event: self._fields.1.unwrap(),
@@ -621,10 +619,10 @@ where
 }
 
 fn lexicon_doc_org_passingreads_book_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.passingreads.book.defs"),
@@ -913,7 +911,7 @@ fn lexicon_doc_org_passingreads_book_defs() -> LexiconDoc<'static> {
 
 pub mod registration_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1004,7 +1002,10 @@ pub mod registration_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct RegistrationViewBuilder {
+pub struct RegistrationViewBuilder<
+    St: registration_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1183,7 +1184,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RegistrationView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RegistrationView {
         RegistrationView {
             authors: self._fields.0.unwrap(),
             book_id: self._fields.1.unwrap(),
@@ -1198,7 +1202,7 @@ where
 
 pub mod stateful_book_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1420,7 +1424,10 @@ impl StatefulBookBuilder {
 
 impl StatefulBookBuilder {
     /// Set the `events` field (optional)
-    pub fn events(mut self, value: impl Into>>>) -> Self {
+    pub fn events(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -1513,7 +1520,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StatefulBook {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StatefulBook {
         StatefulBook {
             aspect_ratio: self._fields.0,
             cid: self._fields.1.unwrap(),
@@ -1527,4 +1537,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/checkin.rs b/crates/jacquard-api/src/org_passingreads/book/checkin.rs
index 7c0320223..6cb0ece08 100644
--- a/crates/jacquard-api/src/org_passingreads/book/checkin.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/checkin.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Represents a book being moved to a location, without changing hands.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Checkin {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/drop.rs b/crates/jacquard-api/src/org_passingreads/book/drop.rs
index 0ae093538..128832fa3 100644
--- a/crates/jacquard-api/src/org_passingreads/book/drop.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/drop.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Represents a book being dropped at a location.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Drop {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/event.rs b/crates/jacquard-api/src/org_passingreads/book/event.rs
index 81e988f91..4eab0f378 100644
--- a/crates/jacquard-api/src/org_passingreads/book/event.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/event.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -25,12 +25,12 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::community_lexicon::location::hthree::Hthree;
 use crate::org_passingreads::book::event;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// The status of a book has changed.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -137,7 +137,9 @@ where
     type Output = EventEvent;
     fn into_static(self) -> Self::Output {
         match self {
-            EventEvent::OrgPassingreadsBookCheckin => EventEvent::OrgPassingreadsBookCheckin,
+            EventEvent::OrgPassingreadsBookCheckin => {
+                EventEvent::OrgPassingreadsBookCheckin
+            }
             EventEvent::OrgPassingreadsBookDrop => EventEvent::OrgPassingreadsBookDrop,
             EventEvent::OrgPassingreadsBookFind => EventEvent::OrgPassingreadsBookFind,
             EventEvent::Other(v) => EventEvent::Other(v.into_static()),
@@ -145,6 +147,7 @@ where
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -171,10 +174,7 @@ pub struct EventGetRecordOutput {
 /// A physical location from OpenStreetMap.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OsmLocation {
     ///The type of place (e.g., cafe, library, park).
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -254,7 +254,7 @@ impl LexiconSchema for OsmLocation {
 
 pub mod event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -478,7 +478,10 @@ where
     St::Did: event_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> EventBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> EventBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         EventBuilder {
             _state: PhantomData,
@@ -578,10 +581,10 @@ where
 }
 
 fn lexicon_doc_org_passingreads_book_event() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.passingreads.book.event"),
@@ -748,4 +751,4 @@ fn lexicon_doc_org_passingreads_book_event() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/find.rs b/crates/jacquard-api/src/org_passingreads/book/find.rs
index 0724e2b31..ec5372cdd 100644
--- a/crates/jacquard-api/src/org_passingreads/book/find.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/find.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Represents a book being found at a location.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Find {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/get_book.rs b/crates/jacquard-api/src/org_passingreads/book/get_book.rs
index 81441f6de..77489ac19 100644
--- a/crates/jacquard-api/src/org_passingreads/book/get_book.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/get_book.rs
@@ -8,29 +8,24 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::book::StatefulBook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::book::StatefulBook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBook {
     pub id: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBookOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub book: Option>,
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBookRequest {
 
 pub mod get_book_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -147,7 +142,10 @@ where
     St::Id: get_book_state::IsUnset,
 {
     /// Set the `id` field (required)
-    pub fn id(mut self, value: impl Into) -> GetBookBuilder, S> {
+    pub fn id(
+        mut self,
+        value: impl Into,
+    ) -> GetBookBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         GetBookBuilder {
             _state: PhantomData,
@@ -168,4 +166,4 @@ where
             id: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/get_books.rs b/crates/jacquard-api/src/org_passingreads/book/get_books.rs
index 1f12cd474..53af6458d 100644
--- a/crates/jacquard-api/src/org_passingreads/book/get_books.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/get_books.rs
@@ -8,29 +8,24 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::book::StatefulBook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::book::StatefulBook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBooks {
     pub ids: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBooksOutput {
     ///List of books found. Missing books are omitted.
     pub books: Vec>,
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBooksRequest {
 
 pub mod get_books_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -147,7 +142,10 @@ where
     St::Ids: get_books_state::IsUnset,
 {
     /// Set the `ids` field (required)
-    pub fn ids(mut self, value: impl Into) -> GetBooksBuilder, S> {
+    pub fn ids(
+        mut self,
+        value: impl Into,
+    ) -> GetBooksBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         GetBooksBuilder {
             _state: PhantomData,
@@ -168,4 +166,4 @@ where
             ids: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/get_library.rs b/crates/jacquard-api/src/org_passingreads/book/get_library.rs
index 9d5f8887b..7a8de6b3c 100644
--- a/crates/jacquard-api/src/org_passingreads/book/get_library.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/get_library.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::book::StatefulBook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::book::StatefulBook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLibrary {
     pub actor: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLibraryOutput {
     pub books: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLibraryRequest {
 
 pub mod get_library_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -171,4 +166,4 @@ where
             actor: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/get_location_books.rs b/crates/jacquard-api/src/org_passingreads/book/get_location_books.rs
index c38e03b08..4ac54402d 100644
--- a/crates/jacquard-api/src/org_passingreads/book/get_location_books.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/get_location_books.rs
@@ -8,29 +8,24 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::book::StatefulBook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::book::StatefulBook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLocationBooks {
     pub h3: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLocationBooksOutput {
     pub books: Vec>,
     ///Human-readable name of the requested location
@@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLocationBooksRequest {
 
 pub mod get_location_books_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -101,7 +96,10 @@ pub mod get_location_books_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetLocationBooksBuilder {
+pub struct GetLocationBooksBuilder<
+    St: get_location_books_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -109,7 +107,10 @@ pub struct GetLocationBooksBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetLocationBooksBuilder {
+    pub fn new() -> GetLocationBooksBuilder<
+        get_location_books_state::Empty,
+        DefaultStr,
+    > {
         GetLocationBooksBuilder::new()
     }
 }
@@ -173,4 +174,4 @@ where
             h3: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/list_book_ids.rs b/crates/jacquard-api/src/org_passingreads/book/list_book_ids.rs
index 44319f9a8..7cb3d6602 100644
--- a/crates/jacquard-api/src/org_passingreads/book/list_book_ids.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/list_book_ids.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::BookIdEntry;
-use crate::org_passingreads::LocationEntry;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::BookIdEntry;
+use crate::org_passingreads::LocationEntry;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListBookIdsOutput {
     pub books: Vec>,
     pub locations: Vec>,
@@ -62,4 +59,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListBookIdsRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = ListBookIds;
     type Response = ListBookIdsResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/list_dropped_books.rs b/crates/jacquard-api/src/org_passingreads/book/list_dropped_books.rs
index 22426a1fa..908a9d280 100644
--- a/crates/jacquard-api/src/org_passingreads/book/list_dropped_books.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/list_dropped_books.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::org_passingreads::book::StatefulBook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::book::StatefulBook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListDroppedBooksOutput {
     pub books: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -60,4 +57,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListDroppedBooksRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = ListDroppedBooks;
     type Response = ListDroppedBooksResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_passingreads/book/registration.rs b/crates/jacquard-api/src/org_passingreads/book/registration.rs
index db39b3022..246d2e8b4 100644
--- a/crates/jacquard-api/src/org_passingreads/book/registration.rs
+++ b/crates/jacquard-api/src/org_passingreads/book/registration.rs
@@ -10,15 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,10 +26,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_passingreads::AspectRatio;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_passingreads::AspectRatio;
 /// A book that has been registered on PassingReads
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -138,20 +138,25 @@ impl LexiconSchema for Registration {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("cover"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -185,7 +190,7 @@ impl LexiconSchema for Registration {
 
 pub mod registration_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -602,7 +607,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Registration {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Registration {
         Registration {
             aspect_ratio: self._fields.0,
             authors: self._fields.1.unwrap(),
@@ -620,10 +628,10 @@ where
 }
 
 fn lexicon_doc_org_passingreads_book_registration() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.passingreads.book.registration"),
@@ -751,4 +759,4 @@ fn lexicon_doc_org_passingreads_book_registration() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_robocracy.rs b/crates/jacquard-api/src/org_robocracy.rs
index 89ee2810e..a798f9900 100644
--- a/crates/jacquard-api/src/org_robocracy.rs
+++ b/crates/jacquard-api/src/org_robocracy.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.robocracy` Lexicon namespace/module.
-pub mod demo;
+pub mod demo;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_robocracy/demo.rs b/crates/jacquard-api/src/org_robocracy/demo.rs
index 22a709a6d..fc5c2b6df 100644
--- a/crates/jacquard-api/src/org_robocracy/demo.rs
+++ b/crates/jacquard-api/src/org_robocracy/demo.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `org.robocracy.demo` Lexicon namespace/module.
 pub mod fungus;
-pub mod mushies;
+pub mod mushies;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_robocracy/demo/fungus.rs b/crates/jacquard-api/src/org_robocracy/demo/fungus.rs
index b56d2241e..93b5f822b 100644
--- a/crates/jacquard-api/src/org_robocracy/demo/fungus.rs
+++ b/crates/jacquard-api/src/org_robocracy/demo/fungus.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// it's a kind of fungus!
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -153,7 +153,7 @@ impl LexiconSchema for Fungus {
 
 pub mod fungus_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -297,10 +297,10 @@ where
 }
 
 fn lexicon_doc_org_robocracy_demo_fungus() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.robocracy.demo.fungus"),
@@ -349,4 +349,4 @@ fn lexicon_doc_org_robocracy_demo_fungus() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_robocracy/demo/mushies.rs b/crates/jacquard-api/src/org_robocracy/demo/mushies.rs
index e9baf74d4..46e634fc1 100644
--- a/crates/jacquard-api/src/org_robocracy/demo/mushies.rs
+++ b/crates/jacquard-api/src/org_robocracy/demo/mushies.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// it's a kind of fungus!
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -153,7 +153,7 @@ impl LexiconSchema for Mushies {
 
 pub mod mushies_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -297,10 +297,10 @@ where
 }
 
 fn lexicon_doc_org_robocracy_demo_mushies() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.robocracy.demo.mushies"),
@@ -349,4 +349,4 @@ fn lexicon_doc_org_robocracy_demo_mushies() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy.rs b/crates/jacquard-api/src/org_simocracy.rs
index 0a433ddec..2baf41fe2 100644
--- a/crates/jacquard-api/src/org_simocracy.rs
+++ b/crates/jacquard-api/src/org_simocracy.rs
@@ -15,6 +15,7 @@ pub mod skill;
 pub mod style;
 pub mod vote;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -32,13 +33,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SpriteSettings {
     ///0=right, 1=back, 2=left, 3=front
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -69,7 +67,7 @@ impl LexiconSchema for SpriteSettings {
 
 pub mod sprite_settings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -100,7 +98,10 @@ pub mod sprite_settings_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SpriteSettingsBuilder {
+pub struct SpriteSettingsBuilder<
+    St: sprite_settings_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option>),
     _type: PhantomData S>,
@@ -202,7 +203,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SpriteSettings {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SpriteSettings {
         SpriteSettings {
             current_anim_direction: self._fields.0,
             part_color_settings: self._fields.1,
@@ -213,10 +217,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.defs"),
@@ -256,4 +260,4 @@ fn lexicon_doc_org_simocracy_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/agents.rs b/crates/jacquard-api/src/org_simocracy/agents.rs
index a07874c87..ac46bb66c 100644
--- a/crates/jacquard-api/src/org_simocracy/agents.rs
+++ b/crates/jacquard-api/src/org_simocracy/agents.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A sim's constitution and agent configuration. One document per sim.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -165,7 +165,7 @@ impl LexiconSchema for Agents {
 
 pub mod agents_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -305,7 +305,10 @@ impl AgentsBuilder {
 
 impl AgentsBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -337,12 +340,18 @@ where
 
 impl AgentsBuilder {
     /// Set the `shortDescriptionFacets` field (optional)
-    pub fn short_description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn short_description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
     /// Set the `shortDescriptionFacets` field to an Option value (optional)
-    pub fn maybe_short_description_facets(mut self, value: Option>>) -> Self {
+    pub fn maybe_short_description_facets(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -401,10 +410,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_agents() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.agents"),
@@ -514,4 +523,4 @@ fn lexicon_doc_org_simocracy_agents() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/event.rs b/crates/jacquard-api/src/org_simocracy/event.rs
index ddf68e636..16e34ffc9 100644
--- a/crates/jacquard-api/src/org_simocracy/event.rs
+++ b/crates/jacquard-api/src/org_simocracy/event.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Tracks user interactions — chat messages, senate hearings launched, and individual sim comments during hearings.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -181,7 +181,7 @@ impl LexiconSchema for Event {
 
 pub mod event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -421,7 +421,10 @@ where
     St::Type: event_state::IsUnset,
 {
     /// Set the `type` field (required)
-    pub fn r#type(mut self, value: impl Into) -> EventBuilder, S> {
+    pub fn r#type(
+        mut self,
+        value: impl Into,
+    ) -> EventBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         EventBuilder {
             _state: PhantomData,
@@ -485,10 +488,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_event() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.event"),
@@ -621,4 +624,4 @@ fn lexicon_doc_org_simocracy_event() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/interview.rs b/crates/jacquard-api/src/org_simocracy/interview.rs
index e1d22bf77..251b84cae 100644
--- a/crates/jacquard-api/src/org_simocracy/interview.rs
+++ b/crates/jacquard-api/src/org_simocracy/interview.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::org_simocracy::interview;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::org_simocracy::interview;
 /// An interview transcript for a sim — captures voice answers and value positions to derive the sim's constitution and speaking style.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -65,10 +65,7 @@ pub struct InterviewGetRecordOutput {
 /// A single open-ended interview answer.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OpenAnswer {
     ///The transcribed voice answer
     pub answer: S,
@@ -81,10 +78,7 @@ pub struct OpenAnswer {
 /// A yes/no response to a value statement.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ValueResponse {
     ///Whether the interviewee agreed (true) or disagreed (false)
     pub answer: bool,
@@ -220,7 +214,7 @@ impl LexiconSchema for ValueResponse {
 
 pub mod interview_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -435,7 +429,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Interview {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Interview {
         Interview {
             created_at: self._fields.0.unwrap(),
             open_answers: self._fields.1.unwrap(),
@@ -447,10 +444,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_interview() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.interview"),
@@ -534,20 +531,24 @@ fn lexicon_doc_org_simocracy_interview() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("openAnswer"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A single open-ended interview answer.")),
-                    required: Some(vec![
-                        SmolStr::new_static("question"),
-                        SmolStr::new_static("answer"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A single open-ended interview answer."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("question"),
+                            SmolStr::new_static("answer")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("answer"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The transcribed voice answer",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The transcribed voice answer"),
+                                ),
                                 max_length: Some(30000usize),
                                 max_graphemes: Some(3000usize),
                                 ..Default::default()
@@ -556,9 +557,9 @@ fn lexicon_doc_org_simocracy_interview() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("question"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The interview question that was asked",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The interview question that was asked"),
+                                ),
                                 max_length: Some(1000usize),
                                 ..Default::default()
                             }),
@@ -571,13 +572,15 @@ fn lexicon_doc_org_simocracy_interview() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("valueResponse"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A yes/no response to a value statement.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("statement"),
-                        SmolStr::new_static("answer"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A yes/no response to a value statement."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("statement"),
+                            SmolStr::new_static("answer")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -590,9 +593,9 @@ fn lexicon_doc_org_simocracy_interview() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("statement"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The value statement presented",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The value statement presented"),
+                                ),
                                 max_length: Some(1000usize),
                                 ..Default::default()
                             }),
@@ -610,7 +613,7 @@ fn lexicon_doc_org_simocracy_interview() -> LexiconDoc<'static> {
 
 pub mod value_response_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -653,7 +656,10 @@ pub mod value_response_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ValueResponseBuilder {
+pub struct ValueResponseBuilder<
+    St: value_response_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -748,11 +754,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ValueResponse {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ValueResponse {
         ValueResponse {
             answer: self._fields.0.unwrap(),
             statement: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/senate.rs b/crates/jacquard-api/src/org_simocracy/senate.rs
index ca4c2af2f..0d3bf9449 100644
--- a/crates/jacquard-api/src/org_simocracy/senate.rs
+++ b/crates/jacquard-api/src/org_simocracy/senate.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.simocracy.senate` Lexicon namespace/module.
-pub mod activity;
+pub mod activity;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/senate/activity.rs b/crates/jacquard-api/src/org_simocracy/senate/activity.rs
index 275f89e70..9e3766eb8 100644
--- a/crates/jacquard-api/src/org_simocracy/senate/activity.rs
+++ b/crates/jacquard-api/src/org_simocracy/senate/activity.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Senate simulation activity log entry.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -135,10 +135,18 @@ where
     type Output = ActivityActivityType;
     fn into_static(self) -> Self::Output {
         match self {
-            ActivityActivityType::CommitteeEvaluation => ActivityActivityType::CommitteeEvaluation,
-            ActivityActivityType::SimulationStarted => ActivityActivityType::SimulationStarted,
-            ActivityActivityType::SimulationCompleted => ActivityActivityType::SimulationCompleted,
-            ActivityActivityType::Other(v) => ActivityActivityType::Other(v.into_static()),
+            ActivityActivityType::CommitteeEvaluation => {
+                ActivityActivityType::CommitteeEvaluation
+            }
+            ActivityActivityType::SimulationStarted => {
+                ActivityActivityType::SimulationStarted
+            }
+            ActivityActivityType::SimulationCompleted => {
+                ActivityActivityType::SimulationCompleted
+            }
+            ActivityActivityType::Other(v) => {
+                ActivityActivityType::Other(v.into_static())
+            }
         }
     }
 }
@@ -318,7 +326,7 @@ impl LexiconSchema for Activity {
 
 pub mod activity_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -570,10 +578,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_senate_activity() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.senate.activity"),
@@ -679,4 +687,4 @@ fn lexicon_doc_org_simocracy_senate_activity() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/sim.rs b/crates/jacquard-api/src/org_simocracy/sim.rs
index ebfa0174a..6335bbc4a 100644
--- a/crates/jacquard-api/src/org_simocracy/sim.rs
+++ b/crates/jacquard-api/src/org_simocracy/sim.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_simocracy::SpriteSettings;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_simocracy::SpriteSettings;
 /// An avatar/sim record. One user can have multiple sims.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,23 +111,25 @@ impl LexiconSchema for Sim {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -151,7 +153,7 @@ impl LexiconSchema for Sim {
 
 pub mod sim_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -352,10 +354,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_sim() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.sim"),
@@ -364,41 +366,43 @@ fn lexicon_doc_org_simocracy_sim() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An avatar/sim record. One user can have multiple sims.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "An avatar/sim record. One user can have multiple sims.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("settings"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("settings"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the sim was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when the sim was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("image"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Display name of the sim",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Display name of the sim"),
+                                    ),
                                     max_length: Some(64usize),
                                     ..Default::default()
                                 }),
@@ -406,7 +410,9 @@ fn lexicon_doc_org_simocracy_sim() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("settings"),
                                 LexObjectProperty::Ref(LexRef {
-                                    r#ref: CowStr::new_static("org.simocracy.defs#spriteSettings"),
+                                    r#ref: CowStr::new_static(
+                                        "org.simocracy.defs#spriteSettings",
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -421,4 +427,4 @@ fn lexicon_doc_org_simocracy_sim() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/skill.rs b/crates/jacquard-api/src/org_simocracy/skill.rs
index 6ebdbf403..b41d8bc46 100644
--- a/crates/jacquard-api/src/org_simocracy/skill.rs
+++ b/crates/jacquard-api/src/org_simocracy/skill.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A skill the sim possesses. A sim can have many skills.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -190,7 +190,7 @@ impl LexiconSchema for Skill {
 
 pub mod skill_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -332,7 +332,10 @@ impl SkillBuilder {
 
 impl SkillBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -358,7 +361,10 @@ impl SkillBuilder {
 
 impl SkillBuilder {
     /// Set the `instructionsFacets` field (optional)
-    pub fn instructions_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn instructions_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -375,7 +381,10 @@ where
     St::Name: skill_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> SkillBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> SkillBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         SkillBuilder {
             _state: PhantomData,
@@ -455,10 +464,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_skill() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.skill"),
@@ -588,4 +597,4 @@ fn lexicon_doc_org_simocracy_skill() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/style.rs b/crates/jacquard-api/src/org_simocracy/style.rs
index 544b8b902..5cb3f8920 100644
--- a/crates/jacquard-api/src/org_simocracy/style.rs
+++ b/crates/jacquard-api/src/org_simocracy/style.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Speaking and reply style for a sim — describes how the sim communicates.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -134,7 +134,7 @@ impl LexiconSchema for Style {
 
 pub mod style_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -193,12 +193,7 @@ pub mod style_state {
 /// Builder for constructing an instance of this type.
 pub struct StyleBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>>, Option>),
     _type: PhantomData S>,
 }
 
@@ -278,7 +273,10 @@ where
 
 impl StyleBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -338,10 +336,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_style() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.style"),
@@ -350,16 +348,20 @@ fn lexicon_doc_org_simocracy_style() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Speaking and reply style for a sim — describes how the sim communicates.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Speaking and reply style for a sim — describes how the sim communicates.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("sim"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("sim"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -373,9 +375,11 @@ fn lexicon_doc_org_simocracy_style() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A description of the sim's speaking and reply style.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "A description of the sim's speaking and reply style.",
+                                        ),
+                                    ),
                                     max_length: Some(30000usize),
                                     max_graphemes: Some(3000usize),
                                     ..Default::default()
@@ -409,4 +413,4 @@ fn lexicon_doc_org_simocracy_style() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_simocracy/vote.rs b/crates/jacquard-api/src/org_simocracy/vote.rs
index cb834172e..217124201 100644
--- a/crates/jacquard-api/src/org_simocracy/vote.rs
+++ b/crates/jacquard-api/src/org_simocracy/vote.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A quadratic vote allocation targeting a sim.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -109,7 +109,7 @@ impl LexiconSchema for Vote {
 
 pub mod vote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -233,7 +233,10 @@ where
     St::Sim: vote_state::IsUnset,
 {
     /// Set the `sim` field (required)
-    pub fn sim(mut self, value: impl Into>) -> VoteBuilder, S> {
+    pub fn sim(
+        mut self,
+        value: impl Into>,
+    ) -> VoteBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         VoteBuilder {
             _state: PhantomData,
@@ -249,7 +252,10 @@ where
     St::Votes: vote_state::IsUnset,
 {
     /// Set the `votes` field (required)
-    pub fn votes(mut self, value: impl Into) -> VoteBuilder, S> {
+    pub fn votes(
+        mut self,
+        value: impl Into,
+    ) -> VoteBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         VoteBuilder {
             _state: PhantomData,
@@ -287,10 +293,10 @@ where
 }
 
 fn lexicon_doc_org_simocracy_vote() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.simocracy.vote"),
@@ -299,25 +305,28 @@ fn lexicon_doc_org_simocracy_vote() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A quadratic vote allocation targeting a sim.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A quadratic vote allocation targeting a sim.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("sim"),
-                            SmolStr::new_static("votes"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("sim"), SmolStr::new_static("votes"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the vote was cast",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when the vote was cast"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -346,4 +355,4 @@ fn lexicon_doc_org_simocracy_vote() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_stormlightlabs.rs b/crates/jacquard-api/src/org_stormlightlabs.rs
index 023e65b74..8fe85bfda 100644
--- a/crates/jacquard-api/src/org_stormlightlabs.rs
+++ b/crates/jacquard-api/src/org_stormlightlabs.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.stormlightlabs` Lexicon namespace/module.
-pub mod malfestio;
+pub mod malfestio;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_stormlightlabs/malfestio.rs b/crates/jacquard-api/src/org_stormlightlabs/malfestio.rs
index 8ede8bc87..8e8bd250c 100644
--- a/crates/jacquard-api/src/org_stormlightlabs/malfestio.rs
+++ b/crates/jacquard-api/src/org_stormlightlabs/malfestio.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `org.stormlightlabs.malfestio` Lexicon namespace/module.
 pub mod deck;
-pub mod thread;
+pub mod thread;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_stormlightlabs/malfestio/deck.rs b/crates/jacquard-api/src/org_stormlightlabs/malfestio/deck.rs
index aa103daba..aeec0a020 100644
--- a/crates/jacquard-api/src/org_stormlightlabs/malfestio/deck.rs
+++ b/crates/jacquard-api/src/org_stormlightlabs/malfestio/deck.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A collection of flashcards and sources.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -272,7 +272,7 @@ impl LexiconSchema for Deck {
 
 pub mod deck_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -471,7 +471,10 @@ where
     St::Title: deck_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> DeckBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> DeckBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         DeckBuilder {
             _state: PhantomData,
@@ -548,10 +551,10 @@ where
 }
 
 fn lexicon_doc_org_stormlightlabs_malfestio_deck() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.stormlightlabs.malfestio.deck"),
@@ -693,4 +696,4 @@ fn lexicon_doc_org_stormlightlabs_malfestio_deck() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread.rs b/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread.rs
index c37ac5ff5..58d5d2454 100644
--- a/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread.rs
+++ b/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.stormlightlabs.malfestio.thread` Lexicon namespace/module.
-pub mod comment;
+pub mod comment;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread/comment.rs b/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread/comment.rs
index a08f5be44..105843277 100644
--- a/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread/comment.rs
+++ b/crates/jacquard-api/src/org_stormlightlabs/malfestio/thread/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A comment on a deck, card, or note.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -121,7 +121,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -180,12 +180,7 @@ pub mod comment_state {
 /// Builder for constructing an instance of this type.
 pub struct CommentBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -231,7 +226,10 @@ where
     St::Body: comment_state::IsUnset,
 {
     /// Set the `body` field (required)
-    pub fn body(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn body(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -322,10 +320,10 @@ where
 }
 
 fn lexicon_doc_org_stormlightlabs_malfestio_thread_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.stormlightlabs.malfestio.thread.comment"),
@@ -334,14 +332,18 @@ fn lexicon_doc_org_stormlightlabs_malfestio_thread_comment() -> LexiconDoc<'stat
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A comment on a deck, card, or note.")),
+                    description: Some(
+                        CowStr::new_static("A comment on a deck, card, or note."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subjectRef"),
-                            SmolStr::new_static("body"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subjectRef"),
+                                SmolStr::new_static("body"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -363,9 +365,9 @@ fn lexicon_doc_org_stormlightlabs_malfestio_thread_comment() -> LexiconDoc<'stat
                             map.insert(
                                 SmolStr::new_static("replyTo"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The parent comment if this is a reply.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The parent comment if this is a reply."),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -373,9 +375,9 @@ fn lexicon_doc_org_stormlightlabs_malfestio_thread_comment() -> LexiconDoc<'stat
                             map.insert(
                                 SmolStr::new_static("subjectRef"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The root subject being commented on.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The root subject being commented on."),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -391,4 +393,4 @@ fn lexicon_doc_org_stormlightlabs_malfestio_thread_comment() -> LexiconDoc<'stat
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_user_intents.rs b/crates/jacquard-api/src/org_user_intents.rs
index 87afa139f..3b0ff6c8a 100644
--- a/crates/jacquard-api/src/org_user_intents.rs
+++ b/crates/jacquard-api/src/org_user_intents.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.user.intents` Lexicon namespace/module.
-pub mod demo;
+pub mod demo;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_user_intents/demo.rs b/crates/jacquard-api/src/org_user_intents/demo.rs
index 729842f14..28ef060fb 100644
--- a/crates/jacquard-api/src/org_user_intents/demo.rs
+++ b/crates/jacquard-api/src/org_user_intents/demo.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `org.user.intents.demo` Lexicon namespace/module.
-pub mod declaration;
+pub mod declaration;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/org_user_intents/demo/declaration.rs b/crates/jacquard-api/src/org_user_intents/demo/declaration.rs
index 4fa432f84..14ddffd7b 100644
--- a/crates/jacquard-api/src/org_user_intents/demo/declaration.rs
+++ b/crates/jacquard-api/src/org_user_intents/demo/declaration.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::org_user_intents::demo::declaration;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::org_user_intents::demo::declaration;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Intent {
     ///indicates user intent for reuse. Note that this field is optional, and thus tri-state (true, false, undefined)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -149,7 +146,7 @@ impl LexiconSchema for Declaration {
 
 pub mod intent_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -278,10 +275,10 @@ where
 }
 
 fn lexicon_doc_org_user_intents_demo_declaration() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("org.user-intents.demo.declaration"),
@@ -373,7 +370,7 @@ fn lexicon_doc_org_user_intents_demo_declaration() -> LexiconDoc<'static> {
 
 pub mod declaration_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -441,7 +438,10 @@ impl DeclarationBuilder {
 
 impl DeclarationBuilder {
     /// Set the `bulkDataset` field (optional)
-    pub fn bulk_dataset(mut self, value: impl Into>>) -> Self {
+    pub fn bulk_dataset(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
@@ -454,12 +454,18 @@ impl DeclarationBuilder {
 
 impl DeclarationBuilder {
     /// Set the `protocolBridging` field (optional)
-    pub fn protocol_bridging(mut self, value: impl Into>>) -> Self {
+    pub fn protocol_bridging(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `protocolBridging` field to an Option value (optional)
-    pub fn maybe_protocol_bridging(mut self, value: Option>) -> Self {
+    pub fn maybe_protocol_bridging(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -475,7 +481,10 @@ impl DeclarationBuilder {
         self
     }
     /// Set the `publicAccessArchive` field to an Option value (optional)
-    pub fn maybe_public_access_archive(mut self, value: Option>) -> Self {
+    pub fn maybe_public_access_archive(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -529,7 +538,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Declaration {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Declaration {
         Declaration {
             bulk_dataset: self._fields.0,
             protocol_bridging: self._fields.1,
@@ -539,4 +551,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/parts_page.rs b/crates/jacquard-api/src/parts_page.rs
index 4beeeb305..fa48823a5 100644
--- a/crates/jacquard-api/src/parts_page.rs
+++ b/crates/jacquard-api/src/parts_page.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `parts.page` Lexicon namespace/module.
 pub mod embed;
-pub mod mention;
+pub mod mention;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/parts_page/embed.rs b/crates/jacquard-api/src/parts_page/embed.rs
index 6ee045b79..d431d8316 100644
--- a/crates/jacquard-api/src/parts_page/embed.rs
+++ b/crates/jacquard-api/src/parts_page/embed.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `parts.page.embed` Lexicon namespace/module.
-pub mod ctx;
+pub mod ctx;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/parts_page/embed/ctx.rs b/crates/jacquard-api/src/parts_page/embed/ctx.rs
index e83604fc9..b0ddd34ea 100644
--- a/crates/jacquard-api/src/parts_page/embed/ctx.rs
+++ b/crates/jacquard-api/src/parts_page/embed/ctx.rs
@@ -5,7 +5,7 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 pub type BgColor = S;
 
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -79,4 +79,4 @@ where
     }
 }
 
-pub type PrimaryColor = S;
+pub type PrimaryColor = S;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/parts_page/mention.rs b/crates/jacquard-api/src/parts_page/mention.rs
index ccdef4221..73f0625ea 100644
--- a/crates/jacquard-api/src/parts_page/mention.rs
+++ b/crates/jacquard-api/src/parts_page/mention.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `parts.page.mention` Lexicon namespace/module.
 pub mod config;
 pub mod search;
-pub mod service;
+pub mod service;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/parts_page/mention/config.rs b/crates/jacquard-api/src/parts_page/mention/config.rs
index caae9b901..05674a9d0 100644
--- a/crates/jacquard-api/src/parts_page/mention/config.rs
+++ b/crates/jacquard-api/src/parts_page/mention/config.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// User's configured mention services. Singleton record per user.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -115,7 +115,7 @@ impl LexiconSchema for Config {
 
 pub mod config_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -229,10 +229,10 @@ where
 }
 
 fn lexicon_doc_parts_page_mention_config() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("parts.page.mention.config"),
@@ -279,4 +279,4 @@ fn lexicon_doc_parts_page_mention_config() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/parts_page/mention/search.rs b/crates/jacquard-api/src/parts_page/mention/search.rs
index d38b4f7fb..fc3ee38dc 100644
--- a/crates/jacquard-api/src/parts_page/mention/search.rs
+++ b/crates/jacquard-api/src/parts_page/mention/search.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::parts_page::mention::search;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::parts_page::mention::search;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AspectRatio {
     pub height: i64,
     pub width: i64,
@@ -38,11 +35,9 @@ pub struct AspectRatio {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EmbedInfo {
     ///Aspect ratio of the embed. If provided, takes precedence over width/height for sizing.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -59,11 +54,9 @@ pub struct EmbedInfo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Search {
     /// Defaults to `20`. Min: 1. Max: 50.
     #[serde(default = "_default_limit")]
@@ -75,22 +68,18 @@ pub struct Search {
     pub service: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchOutput {
     pub results: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MentionLabel {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub text: Option,
@@ -98,11 +87,9 @@ pub struct MentionLabel {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchResult {
     ///A description for the mentioned entity
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -130,11 +117,9 @@ pub struct SearchResult {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SubscopeInfo {
     ///Display label for the scope-down button (e.g. 'Posts', 'Tracks')
     pub label: S,
@@ -296,7 +281,7 @@ impl LexiconSchema for SubscopeInfo {
 
 pub mod aspect_ratio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -434,7 +419,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AspectRatio {
         AspectRatio {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -444,10 +432,10 @@ where
 }
 
 fn lexicon_doc_parts_page_mention_search() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("parts.page.mention.search"),
@@ -456,10 +444,9 @@ fn lexicon_doc_parts_page_mention_search() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("aspectRatio"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("width"),
-                        SmolStr::new_static("height"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("width"), SmolStr::new_static("height")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -505,9 +492,9 @@ fn lexicon_doc_parts_page_mention_search() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("src"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Source URL for the iframe embed",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Source URL for the iframe embed"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -593,9 +580,7 @@ fn lexicon_doc_parts_page_mention_search() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("text"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -741,7 +726,7 @@ fn lexicon_doc_parts_page_mention_search() -> LexiconDoc<'static> {
 
 pub mod embed_info_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -821,7 +806,10 @@ impl EmbedInfoBuilder {
 
 impl EmbedInfoBuilder {
     /// Set the `aspectRatio` field (optional)
-    pub fn aspect_ratio(mut self, value: impl Into>>) -> Self {
+    pub fn aspect_ratio(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
@@ -893,7 +881,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EmbedInfo {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EmbedInfo {
         EmbedInfo {
             aspect_ratio: self._fields.0,
             height: self._fields.1,
@@ -910,7 +901,7 @@ fn _default_limit() -> Option {
 
 pub mod search_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1027,7 +1018,10 @@ where
     St::Search: search_state::IsUnset,
 {
     /// Set the `search` field (required)
-    pub fn search(mut self, value: impl Into) -> SearchBuilder, S> {
+    pub fn search(
+        mut self,
+        value: impl Into,
+    ) -> SearchBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         SearchBuilder {
             _state: PhantomData,
@@ -1071,4 +1065,4 @@ where
             service: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/parts_page/mention/service.rs b/crates/jacquard-api/src/parts_page/mention/service.rs
index 976e0d004..c4aaae80f 100644
--- a/crates/jacquard-api/src/parts_page/mention/service.rs
+++ b/crates/jacquard-api/src/parts_page/mention/service.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Declares a mention service. The did is an XRPC service URL that implements parts.page.mention.search.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -130,7 +130,7 @@ impl LexiconSchema for Service {
 
 pub mod service_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -247,7 +247,10 @@ where
     St::Did: service_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> ServiceBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> ServiceBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ServiceBuilder {
             _state: PhantomData,
@@ -263,7 +266,10 @@ where
     St::Name: service_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ServiceBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ServiceBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         ServiceBuilder {
             _state: PhantomData,
@@ -302,10 +308,10 @@ where
 }
 
 fn lexicon_doc_parts_page_mention_service() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("parts.page.mention.service"),
@@ -370,4 +376,4 @@ fn lexicon_doc_parts_page_mention_service() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase.rs b/crates/jacquard-api/src/pink_vase.rs
index d6b7e4351..a423311ba 100644
--- a/crates/jacquard-api/src/pink_vase.rs
+++ b/crates/jacquard-api/src/pink_vase.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `pink.vase` Lexicon namespace/module.
-pub mod pod;
+pub mod pod;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase/pod.rs b/crates/jacquard-api/src/pink_vase/pod.rs
index 77a82ca8b..c05b4fed6 100644
--- a/crates/jacquard-api/src/pink_vase/pod.rs
+++ b/crates/jacquard-api/src/pink_vase/pod.rs
@@ -9,4 +9,4 @@ pub mod episode;
 pub mod follow;
 pub mod like;
 pub mod playlist;
-pub mod show;
+pub mod show;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase/pod/comment.rs b/crates/jacquard-api/src/pink_vase/pod/comment.rs
index 267dd57b2..28c91a1d8 100644
--- a/crates/jacquard-api/src/pink_vase/pod/comment.rs
+++ b/crates/jacquard-api/src/pink_vase/pod/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A comment on a podcast episode, optionally threaded.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -121,7 +121,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -180,12 +180,7 @@ pub mod comment_state {
 /// Builder for constructing an instance of this type.
 pub struct CommentBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -282,7 +277,10 @@ where
     St::Text: comment_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -322,10 +320,10 @@ where
 }
 
 fn lexicon_doc_pink_vase_pod_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pink.vase.pod.comment"),
@@ -334,16 +332,19 @@ fn lexicon_doc_pink_vase_pod_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A comment on a podcast episode, optionally threaded.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A comment on a podcast episode, optionally threaded.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("episode"),
-                            SmolStr::new_static("text"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("episode"), SmolStr::new_static("text"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -386,4 +387,4 @@ fn lexicon_doc_pink_vase_pod_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase/pod/episode.rs b/crates/jacquard-api/src/pink_vase/pod/episode.rs
index 582b09fac..93bffec85 100644
--- a/crates/jacquard-api/src/pink_vase/pod/episode.rs
+++ b/crates/jacquard-api/src/pink_vase/pod/episode.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A podcast episode belonging to a show.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -220,23 +220,25 @@ impl LexiconSchema for Episode {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/jpeg", "image/png", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("cover_art"),
                         accepted: vec![
-                            "image/jpeg".to_string(),
-                            "image/png".to_string(),
-                            "image/webp".to_string(),
+                            "image/jpeg".to_string(), "image/png".to_string(),
+                            "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -270,7 +272,7 @@ impl LexiconSchema for Episode {
 
 pub mod episode_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -380,9 +382,7 @@ impl EpisodeBuilder {
     pub fn new() -> Self {
         EpisodeBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -393,9 +393,7 @@ impl EpisodeBuilder {
     pub fn builder() -> Self {
         EpisodeBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -493,7 +491,10 @@ impl EpisodeBuilder {
 
 impl EpisodeBuilder {
     /// Set the `episodeType` field (optional)
-    pub fn episode_type(mut self, value: impl Into>>) -> Self {
+    pub fn episode_type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
@@ -555,7 +556,10 @@ where
     St::Title: episode_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> EpisodeBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> EpisodeBuilder, S> {
         self._fields.10 = Option::Some(value.into());
         EpisodeBuilder {
             _state: PhantomData,
@@ -610,10 +614,10 @@ where
 }
 
 fn lexicon_doc_pink_vase_pod_episode() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pink.vase.pod.episode"),
@@ -727,4 +731,4 @@ fn lexicon_doc_pink_vase_pod_episode() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase/pod/follow.rs b/crates/jacquard-api/src/pink_vase/pod/follow.rs
index 4d60712f5..1f582aecc 100644
--- a/crates/jacquard-api/src/pink_vase/pod/follow.rs
+++ b/crates/jacquard-api/src/pink_vase/pod/follow.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A follow relationship between a user and a podcast show.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Follow {
 
 pub mod follow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_pink_vase_pod_follow() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pink.vase.pod.follow"),
@@ -266,15 +266,19 @@ fn lexicon_doc_pink_vase_pod_follow() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A follow relationship between a user and a podcast show.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A follow relationship between a user and a podcast show.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("show"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("show"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -303,4 +307,4 @@ fn lexicon_doc_pink_vase_pod_follow() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase/pod/like.rs b/crates/jacquard-api/src/pink_vase/pod/like.rs
index 4de571414..bce7b79c7 100644
--- a/crates/jacquard-api/src/pink_vase/pod/like.rs
+++ b/crates/jacquard-api/src/pink_vase/pod/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A like on a podcast show or episode.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_pink_vase_pod_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pink.vase.pod.like"),
@@ -266,13 +266,17 @@ fn lexicon_doc_pink_vase_pod_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A like on a podcast show or episode.")),
+                    description: Some(
+                        CowStr::new_static("A like on a podcast show or episode."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -301,4 +305,4 @@ fn lexicon_doc_pink_vase_pod_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase/pod/playlist.rs b/crates/jacquard-api/src/pink_vase/pod/playlist.rs
index b2298fe31..49a680fc7 100644
--- a/crates/jacquard-api/src/pink_vase/pod/playlist.rs
+++ b/crates/jacquard-api/src/pink_vase/pod/playlist.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A user-curated ordered list of podcast episodes.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -224,7 +224,7 @@ impl LexiconSchema for Playlist {
 
 pub mod playlist_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -386,7 +386,10 @@ where
     St::Name: playlist_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> PlaylistBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> PlaylistBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         PlaylistBuilder {
             _state: PhantomData,
@@ -398,7 +401,10 @@ where
 
 impl PlaylistBuilder {
     /// Set the `visibility` field (optional)
-    pub fn visibility(mut self, value: impl Into>>) -> Self {
+    pub fn visibility(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -441,10 +447,10 @@ where
 }
 
 fn lexicon_doc_pink_vase_pod_playlist() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pink.vase.pod.playlist"),
@@ -531,4 +537,4 @@ fn lexicon_doc_pink_vase_pod_playlist() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pink_vase/pod/show.rs b/crates/jacquard-api/src/pink_vase/pod/show.rs
index 2df9874ff..b2bad8b47 100644
--- a/crates/jacquard-api/src/pink_vase/pod/show.rs
+++ b/crates/jacquard-api/src/pink_vase/pod/show.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A podcast show. A single user can have multiple shows.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -142,23 +142,25 @@ impl LexiconSchema for Show {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/jpeg", "image/png", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("cover_art"),
                         accepted: vec![
-                            "image/jpeg".to_string(),
-                            "image/png".to_string(),
-                            "image/webp".to_string(),
+                            "image/jpeg".to_string(), "image/png".to_string(),
+                            "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -192,7 +194,7 @@ impl LexiconSchema for Show {
 
 pub mod show_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -376,7 +378,10 @@ where
     St::Name: show_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ShowBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ShowBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         ShowBuilder {
             _state: PhantomData,
@@ -436,10 +441,10 @@ where
 }
 
 fn lexicon_doc_pink_vase_pod_show() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pink.vase.pod.show"),
@@ -544,4 +549,4 @@ fn lexicon_doc_pink_vase_pod_show() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork.rs b/crates/jacquard-api/src/place_atwork.rs
index 843455aae..c4e167aab 100644
--- a/crates/jacquard-api/src/place_atwork.rs
+++ b/crates/jacquard-api/src/place_atwork.rs
@@ -10,4 +10,4 @@ pub mod get_listing;
 pub mod get_listings;
 pub mod listing;
 pub mod profile;
-pub mod search_listings;
+pub mod search_listings;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork/endorsement.rs b/crates/jacquard-api/src/place_atwork/endorsement.rs
index a36852f23..f2d1fc475 100644
--- a/crates/jacquard-api/src/place_atwork/endorsement.rs
+++ b/crates/jacquard-api/src/place_atwork/endorsement.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A cryptographically-verified professional endorsement between two identities.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -138,7 +138,7 @@ impl LexiconSchema for Endorsement {
 
 pub mod endorsement_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -368,7 +368,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Endorsement {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Endorsement {
         Endorsement {
             created_at: self._fields.0.unwrap(),
             giver: self._fields.1.unwrap(),
@@ -381,10 +384,10 @@ where
 }
 
 fn lexicon_doc_place_atwork_endorsement() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.atwork.endorsement"),
@@ -486,4 +489,4 @@ fn lexicon_doc_place_atwork_endorsement() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork/endorsement_proof.rs b/crates/jacquard-api/src/place_atwork/endorsement_proof.rs
index af38600ed..dd47199b0 100644
--- a/crates/jacquard-api/src/place_atwork/endorsement_proof.rs
+++ b/crates/jacquard-api/src/place_atwork/endorsement_proof.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A cryptographic proof record that validates an endorsement by containing the CID of the endorsement content.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for EndorsementProof {
 
 pub mod endorsement_proof_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -135,7 +135,10 @@ pub mod endorsement_proof_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EndorsementProofBuilder {
+pub struct EndorsementProofBuilder<
+    St: endorsement_proof_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -209,7 +212,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EndorsementProof {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EndorsementProof {
         EndorsementProof {
             cid: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -218,10 +224,10 @@ where
 }
 
 fn lexicon_doc_place_atwork_endorsementProof() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.atwork.endorsementProof"),
@@ -264,4 +270,4 @@ fn lexicon_doc_place_atwork_endorsementProof() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork/get_listing.rs b/crates/jacquard-api/src/place_atwork/get_listing.rs
index fd86a77be..3a3b84492 100644
--- a/crates/jacquard-api/src/place_atwork/get_listing.rs
+++ b/crates/jacquard-api/src/place_atwork/get_listing.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_atwork::listing::Listing;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::string::{AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_atwork::listing::Listing;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetListing {
     pub repo: AtIdentifier,
     pub rkey: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetListingOutput {
     ///CID of the listing record
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -46,9 +41,18 @@ pub struct GetListingOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetListingError {
     /// The requested listing does not exist
@@ -62,10 +66,7 @@ pub enum GetListingError {
     ListingFetchFailed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetListingError {
@@ -133,7 +134,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetListingRequest {
 
 pub mod get_listing_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -269,4 +270,4 @@ where
             rkey: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork/get_listings.rs b/crates/jacquard-api/src/place_atwork/get_listings.rs
index 63310e645..3376c5a52 100644
--- a/crates/jacquard-api/src/place_atwork/get_listings.rs
+++ b/crates/jacquard-api/src/place_atwork/get_listings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,18 +21,15 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_atwork::get_listings;
-use crate::place_atwork::listing::Listing;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_atwork::listing::Listing;
+use crate::place_atwork::get_listings;
 /// A job listing record with metadata for strong references
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListingRecord {
     ///CID of the listing record
     pub cid: Cid,
@@ -45,11 +42,9 @@ pub struct ListingRecord {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetListings {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub identity: Option,
@@ -57,11 +52,9 @@ pub struct GetListings {
     pub tag: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetListingsOutput {
     pub listings: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -113,7 +106,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetListingsRequest {
 
 pub mod listing_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -156,7 +149,10 @@ pub mod listing_record_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListingRecordBuilder {
+pub struct ListingRecordBuilder<
+    St: listing_record_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>, Option>),
     _type: PhantomData S>,
@@ -265,7 +261,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ListingRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ListingRecord {
         ListingRecord {
             cid: self._fields.0.unwrap(),
             uri: self._fields.1.unwrap(),
@@ -276,10 +275,10 @@ where
 }
 
 fn lexicon_doc_place_atwork_getListings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.atwork.getListings"),
@@ -288,17 +287,23 @@ fn lexicon_doc_place_atwork_getListings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listingRecord"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A job listing record with metadata for strong references",
-                    )),
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A job listing record with metadata for strong references",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("CID of the listing record")),
+                                description: Some(
+                                    CowStr::new_static("CID of the listing record"),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -306,9 +311,11 @@ fn lexicon_doc_place_atwork_getListings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT-URI of the listing (at://did/place.atwork.listing/rkey)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "AT-URI of the listing (at://did/place.atwork.listing/rkey)",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -328,32 +335,36 @@ fn lexicon_doc_place_atwork_getListings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("identity"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Filter listings by creator DID (e.g., did:plc:abc123)",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("tag"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Filter listings by hashtag",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("identity"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Filter listings by creator DID (e.g., did:plc:abc123)",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("tag"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Filter listings by hashtag"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -365,7 +376,7 @@ fn lexicon_doc_place_atwork_getListings() -> LexiconDoc<'static> {
 
 pub mod get_listings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -462,4 +473,4 @@ where
             tag: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork/listing.rs b/crates/jacquard-api/src/place_atwork/listing.rs
index c1a28b095..adb9b3303 100644
--- a/crates/jacquard-api/src/place_atwork/listing.rs
+++ b/crates/jacquard-api/src/place_atwork/listing.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
-use crate::community_lexicon::location::hthree::Hthree;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
+use crate::community_lexicon::location::hthree::Hthree;
 /// A job listing
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -135,20 +135,25 @@ impl LexiconSchema for Listing {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -195,7 +200,7 @@ impl LexiconSchema for Listing {
 
 pub mod listing_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -434,7 +439,10 @@ where
     St::Title: listing_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> ListingBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> ListingBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         ListingBuilder {
             _state: PhantomData,
@@ -483,10 +491,10 @@ where
 }
 
 fn lexicon_doc_place_atwork_listing() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.atwork.listing"),
@@ -613,4 +621,4 @@ fn lexicon_doc_place_atwork_listing() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork/profile.rs b/crates/jacquard-api/src/place_atwork/profile.rs
index 0c8517d9a..0b611a05b 100644
--- a/crates/jacquard-api/src/place_atwork/profile.rs
+++ b/crates/jacquard-api/src/place_atwork/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::richtext::facet::Facet;
 /// Indicates the identity is available for hire
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -160,7 +160,9 @@ where
     fn into_static(self) -> Self::Output {
         match self {
             ProfileProfileHost::BskyApp => ProfileProfileHost::BskyApp,
-            ProfileProfileHost::BlackskyCommunity => ProfileProfileHost::BlackskyCommunity,
+            ProfileProfileHost::BlackskyCommunity => {
+                ProfileProfileHost::BlackskyCommunity
+            }
             ProfileProfileHost::Other(v) => ProfileProfileHost::Other(v.into_static()),
         }
     }
@@ -316,20 +318,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -351,20 +358,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -430,20 +442,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["application/pdf", "text/plain"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("resume"),
-                        accepted: vec!["application/pdf".to_string(), "text/plain".to_string()],
+                        accepted: vec![
+                            "application/pdf".to_string(), "text/plain".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -455,7 +472,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -591,7 +608,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `profile_host` field (optional)
-    pub fn profile_host(mut self, value: impl Into>>) -> Self {
+    pub fn profile_host(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -663,10 +683,10 @@ where
 }
 
 fn lexicon_doc_place_atwork_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.atwork.profile"),
@@ -674,15 +694,11 @@ fn lexicon_doc_place_atwork_profile() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("forhire"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("hiring"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
@@ -775,4 +791,4 @@ fn lexicon_doc_place_atwork_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_atwork/search_listings.rs b/crates/jacquard-api/src/place_atwork/search_listings.rs
index 5f49855e0..b09922ceb 100644
--- a/crates/jacquard-api/src/place_atwork/search_listings.rs
+++ b/crates/jacquard-api/src/place_atwork/search_listings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,18 +21,15 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_atwork::listing::Listing;
-use crate::place_atwork::search_listings;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_atwork::listing::Listing;
+use crate::place_atwork::search_listings;
 /// A job listing record with metadata for strong references
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListingRecord {
     ///CID of the listing record
     pub cid: Cid,
@@ -45,29 +42,34 @@ pub struct ListingRecord {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchListings {
     pub query: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchListingsOutput {
     pub listings: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum SearchListingsError {
     /// Failed to search listings
@@ -75,10 +77,7 @@ pub enum SearchListingsError {
     SearchFailed(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for SearchListingsError {
@@ -147,7 +146,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for SearchListingsRequest {
 
 pub mod listing_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -190,7 +189,10 @@ pub mod listing_record_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListingRecordBuilder {
+pub struct ListingRecordBuilder<
+    St: listing_record_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>, Option>),
     _type: PhantomData S>,
@@ -299,7 +301,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ListingRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ListingRecord {
         ListingRecord {
             cid: self._fields.0.unwrap(),
             uri: self._fields.1.unwrap(),
@@ -310,10 +315,10 @@ where
 }
 
 fn lexicon_doc_place_atwork_searchListings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.atwork.searchListings"),
@@ -322,17 +327,23 @@ fn lexicon_doc_place_atwork_searchListings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listingRecord"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A job listing record with metadata for strong references",
-                    )),
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A job listing record with metadata for strong references",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("CID of the listing record")),
+                                description: Some(
+                                    CowStr::new_static("CID of the listing record"),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -340,9 +351,11 @@ fn lexicon_doc_place_atwork_searchListings() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT-URI of the listing (at://did/place.atwork.listing/rkey)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "AT-URI of the listing (at://did/place.atwork.listing/rkey)",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -362,24 +375,28 @@ fn lexicon_doc_place_atwork_searchListings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("query")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("query"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Search query string for full-text search",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("query")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("query"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Search query string for full-text search",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -391,7 +408,7 @@ fn lexicon_doc_place_atwork_searchListings() -> LexiconDoc<'static> {
 
 pub mod search_listings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -422,7 +439,10 @@ pub mod search_listings_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SearchListingsBuilder {
+pub struct SearchListingsBuilder<
+    St: search_listings_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -494,4 +514,4 @@ where
             query: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream.rs b/crates/jacquard-api/src/place_stream.rs
index 522860ab3..8b844b91d 100644
--- a/crates/jacquard-api/src/place_stream.rs
+++ b/crates/jacquard-api/src/place_stream.rs
@@ -31,12 +31,13 @@ pub mod server;
 pub mod video;
 pub mod vod;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -47,19 +48,16 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::actor::ProfileViewBasic;
 use crate::app_bsky::graph::block::Block;
 use crate::place_stream;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A game from the gamesgamesgamesgames catalog, identified by its AT URI.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActivityGame {
     ///Cached display name of the game.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -72,16 +70,14 @@ pub struct ActivityGame {
 /// A non-game activity with a well-known label.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ActivityLabel {
     pub label: ActivityLabelLabel,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ActivityLabelLabel {
     Events,
@@ -191,11 +187,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlockView {
     pub blocker: ProfileViewBasic,
     pub cid: Cid,
@@ -206,22 +200,18 @@ pub struct BlockView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Rendition {
     pub name: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Renditions {
     pub renditions: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -305,7 +295,7 @@ impl LexiconSchema for Renditions {
 
 pub mod activity_game_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -424,7 +414,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ActivityGame {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ActivityGame {
         ActivityGame {
             name: self._fields.0,
             uri: self._fields.1.unwrap(),
@@ -434,10 +427,10 @@ where
 }
 
 fn lexicon_doc_place_stream_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.defs"),
@@ -446,9 +439,11 @@ fn lexicon_doc_place_stream_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("activityGame"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A game from the gamesgamesgamesgames catalog, identified by its AT URI.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A game from the gamesgamesgamesgames catalog, identified by its AT URI.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("uri")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -456,9 +451,9 @@ fn lexicon_doc_place_stream_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Cached display name of the game.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Cached display name of the game."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -477,18 +472,18 @@ fn lexicon_doc_place_stream_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("activityLabel"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A non-game activity with a well-known label.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A non-game activity with a well-known label.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("label")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("label"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -498,20 +493,23 @@ fn lexicon_doc_place_stream_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("blockView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("blocker"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("blocker"),
+                            SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blocker"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -557,9 +555,7 @@ fn lexicon_doc_place_stream_defs() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -596,7 +592,7 @@ fn lexicon_doc_place_stream_defs() -> LexiconDoc<'static> {
 
 pub mod block_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -851,7 +847,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BlockView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BlockView {
         BlockView {
             blocker: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -865,7 +864,7 @@ where
 
 pub mod renditions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -970,10 +969,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Renditions {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Renditions {
         Renditions {
             renditions: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/badge.rs b/crates/jacquard-api/src/place_stream/badge.rs
index ccd119ab3..9fa769285 100644
--- a/crates/jacquard-api/src/place_stream/badge.rs
+++ b/crates/jacquard-api/src/place_stream/badge.rs
@@ -11,33 +11,31 @@ pub mod get_issued_badges;
 pub mod get_valid_badges;
 pub mod issuance;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::badge;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::badge;
 /// A resolved view of a badge issuance, including def fields for display.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BadgeIssuanceView {
     pub badge_type: BadgeIssuanceViewBadgeType,
     ///Description from the badge definition.
@@ -63,6 +61,7 @@ pub struct BadgeIssuanceView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum BadgeIssuanceViewBadgeType {
     Vip,
@@ -109,7 +108,8 @@ impl Serialize for BadgeIssuanceViewBadgeType {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for BadgeIssuanceViewBadgeType {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for BadgeIssuanceViewBadgeType {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -145,10 +145,7 @@ where
 /// A display slot containing available issuance-based badges and which one (if any) is currently selected.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BadgeSlot {
     ///All badges available for this slot.
     pub available: Vec>,
@@ -162,10 +159,7 @@ pub struct BadgeSlot {
 /// View of a badge record, with fields resolved for display. If the DID in issuer is not the current streamplace node, the signature field shall be required.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BadgeView {
     pub badge_type: BadgeViewBadgeType,
     ///Description from the badge definition.
@@ -188,6 +182,7 @@ pub struct BadgeView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum BadgeViewBadgeType {
     Mod,
@@ -374,7 +369,7 @@ impl LexiconSchema for BadgeView {
 
 pub mod badge_issuance_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -431,7 +426,10 @@ pub mod badge_issuance_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct BadgeIssuanceViewBuilder {
+pub struct BadgeIssuanceViewBuilder<
+    St: badge_issuance_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -448,7 +446,10 @@ pub struct BadgeIssuanceViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> BadgeIssuanceViewBuilder {
+    pub fn new() -> BadgeIssuanceViewBuilder<
+        badge_issuance_view_state::Empty,
+        DefaultStr,
+    > {
         BadgeIssuanceViewBuilder::new()
     }
 }
@@ -626,7 +627,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BadgeIssuanceView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BadgeIssuanceView {
         BadgeIssuanceView {
             badge_type: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -642,10 +646,10 @@ where
 }
 
 fn lexicon_doc_place_stream_badge_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.badge.defs"),
@@ -654,38 +658,40 @@ fn lexicon_doc_place_stream_badge_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("badgeIssuanceView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A resolved view of a badge issuance, including def fields for display.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("issuanceUri"),
-                        SmolStr::new_static("badgeType"),
-                        SmolStr::new_static("issuer"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A resolved view of a badge issuance, including def fields for display.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("issuanceUri"),
+                            SmolStr::new_static("badgeType"),
+                            SmolStr::new_static("issuer")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("badgeType"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("description"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Description from the badge definition.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Description from the badge definition."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("imageUrl"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Resolved image URL for the badge icon.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Resolved image URL for the badge icon."),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -693,18 +699,22 @@ fn lexicon_doc_place_stream_badge_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("issuanceCid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "CID of the place.stream.badge.issuance record.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "CID of the place.stream.badge.issuance record.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("issuanceUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT URI of the place.stream.badge.issuance record.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "AT URI of the place.stream.badge.issuance record.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -712,7 +722,9 @@ fn lexicon_doc_place_stream_badge_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("issuer"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("DID of the badge issuer.")),
+                                description: Some(
+                                    CowStr::new_static("DID of the badge issuer."),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -720,9 +732,11 @@ fn lexicon_doc_place_stream_badge_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Display name from the badge definition.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Display name from the badge definition.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -864,33 +878,23 @@ fn lexicon_doc_place_stream_badge_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("bot"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("event"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("mod"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("streamer"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("vip"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map
         },
@@ -900,7 +904,7 @@ fn lexicon_doc_place_stream_badge_defs() -> LexiconDoc<'static> {
 
 pub mod badge_slot_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -997,7 +1001,10 @@ where
 
 impl BadgeSlotBuilder {
     /// Set the `selected` field (optional)
-    pub fn selected(mut self, value: impl Into>>) -> Self {
+    pub fn selected(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -1022,7 +1029,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BadgeSlot {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BadgeSlot {
         BadgeSlot {
             available: self._fields.0.unwrap(),
             selected: self._fields.1,
@@ -1033,7 +1043,7 @@ where
 
 pub mod badge_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1270,7 +1280,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BadgeView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BadgeView {
         BadgeView {
             badge_type: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -1282,4 +1295,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/badge/def.rs b/crates/jacquard-api/src/place_stream/badge/def.rs
index 0fb4784de..66a43309e 100644
--- a/crates/jacquard-api/src/place_stream/badge/def.rs
+++ b/crates/jacquard-api/src/place_stream/badge/def.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Defines a badge's visual appearance and type. Created by the issuer and referenced by issuance records.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -212,25 +212,31 @@ impl LexiconSchema for Def {
         if let Some(ref value) = self.image {
             {
                 let mime = value.blob().mime_type.as_str();
-                let accepted: &[&str] = &["image/png", "image/jpeg", "image/gif", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let accepted: &[&str] = &[
+                    "image/png",
+                    "image/jpeg",
+                    "image/gif",
+                    "image/webp",
+                ];
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/gif".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/gif".to_string(), "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -254,7 +260,7 @@ impl LexiconSchema for Def {
 
 pub mod def_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -471,10 +477,10 @@ where
 }
 
 fn lexicon_doc_place_stream_badge_def() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.badge.def"),
@@ -553,4 +559,4 @@ fn lexicon_doc_place_stream_badge_def() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/badge/get_issued_badges.rs b/crates/jacquard-api/src/place_stream/badge/get_issued_badges.rs
index b69866e5e..7bf151523 100644
--- a/crates/jacquard-api/src/place_stream/badge/get_issued_badges.rs
+++ b/crates/jacquard-api/src/place_stream/badge/get_issued_badges.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::badge::BadgeSlot;
-use crate::place_stream::badge::BadgeView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::badge::BadgeSlot;
+use crate::place_stream::badge::BadgeView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetIssuedBadges {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub streamer: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetIssuedBadgesOutput {
     ///Computed server badge (streamer, mod, or bot) for the given streamer context. Absent if the user has no server role.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -76,7 +71,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetIssuedBadgesRequest {
 
 pub mod get_issued_badges_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -94,7 +89,10 @@ pub mod get_issued_badges_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetIssuedBadgesBuilder {
+pub struct GetIssuedBadgesBuilder<
+    St: get_issued_badges_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -159,4 +157,4 @@ where
             streamer: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/badge/get_valid_badges.rs b/crates/jacquard-api/src/place_stream/badge/get_valid_badges.rs
index 62f436b3e..282c1812b 100644
--- a/crates/jacquard-api/src/place_stream/badge/get_valid_badges.rs
+++ b/crates/jacquard-api/src/place_stream/badge/get_valid_badges.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::badge::BadgeView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::badge::BadgeView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetValidBadges {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub streamer: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetValidBadgesOutput {
     pub badges: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetValidBadgesRequest {
 
 pub mod get_valid_badges_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -87,7 +82,10 @@ pub mod get_valid_badges_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetValidBadgesBuilder {
+pub struct GetValidBadgesBuilder<
+    St: get_valid_badges_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -152,4 +150,4 @@ where
             streamer: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/badge/issuance.rs b/crates/jacquard-api/src/place_stream/badge/issuance.rs
index 3fcde9bcb..603c8c7c6 100644
--- a/crates/jacquard-api/src/place_stream/badge/issuance.rs
+++ b/crates/jacquard-api/src/place_stream/badge/issuance.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Grants a specific badge to a recipient. The badge only appears in chat after the recipient adds this record to their place.stream.chat.profile selection array.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -109,7 +109,7 @@ impl LexiconSchema for Issuance {
 
 pub mod issuance_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -293,10 +293,10 @@ where
 }
 
 fn lexicon_doc_place_stream_badge_issuance() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.badge.issuance"),
@@ -363,4 +363,4 @@ fn lexicon_doc_place_stream_badge_issuance() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/beta.rs b/crates/jacquard-api/src/place_stream/beta.rs
index 8746bc1a4..9b2c37eab 100644
--- a/crates/jacquard-api/src/place_stream/beta.rs
+++ b/crates/jacquard-api/src/place_stream/beta.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `place.stream.beta` Lexicon namespace/module.
 pub mod get_status;
 pub mod invite;
-pub mod request;
+pub mod request;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/beta/get_status.rs b/crates/jacquard-api/src/place_stream/beta/get_status.rs
index f5cd275bd..0a0e15f27 100644
--- a/crates/jacquard-api/src/place_stream/beta/get_status.rs
+++ b/crates/jacquard-api/src/place_stream/beta/get_status.rs
@@ -10,29 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetStatus {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub did: Option>,
     pub feature: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetStatusOutput {
     ///The account this status applies to.
     pub did: Did,
@@ -122,14 +117,25 @@ where
             GetStatusOutputStatus::Granted => GetStatusOutputStatus::Granted,
             GetStatusOutputStatus::Requested => GetStatusOutputStatus::Requested,
             GetStatusOutputStatus::None => GetStatusOutputStatus::None,
-            GetStatusOutputStatus::Other(v) => GetStatusOutputStatus::Other(v.into_static()),
+            GetStatusOutputStatus::Other(v) => {
+                GetStatusOutputStatus::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetStatusError {
     /// No did supplied and the request was not authenticated, so there is no account to check.
@@ -137,10 +143,7 @@ pub enum GetStatusError {
     DidRequired(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetStatusError {
@@ -194,7 +197,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStatusRequest {
 
 pub mod get_status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -311,4 +314,4 @@ where
             feature: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/beta/invite.rs b/crates/jacquard-api/src/place_stream/beta/invite.rs
index 1741e06ec..0c4a891cc 100644
--- a/crates/jacquard-api/src/place_stream/beta/invite.rs
+++ b/crates/jacquard-api/src/place_stream/beta/invite.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Grants a single account access to a named beta feature on this network. Records live in a project-operated repo (the streamplace node's `--beta-invite-did`); operators trust invites only from that one account, by configuration. Each (did, feature) pair gets its own record so individual features can be revoked independently by deleting the corresponding record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -108,7 +108,7 @@ impl LexiconSchema for Invite {
 
 pub mod invite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -232,7 +232,10 @@ where
     St::Did: invite_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> InviteBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> InviteBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         InviteBuilder {
             _state: PhantomData,
@@ -289,10 +292,10 @@ where
 }
 
 fn lexicon_doc_place_stream_beta_invite() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.beta.invite"),
@@ -363,4 +366,4 @@ fn lexicon_doc_place_stream_beta_invite() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/beta/request.rs b/crates/jacquard-api/src/place_stream/beta/request.rs
index 1d235066c..2ae31b0da 100644
--- a/crates/jacquard-api/src/place_stream/beta/request.rs
+++ b/crates/jacquard-api/src/place_stream/beta/request.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Requests access to a named beta feature on this network. Published in the requester's own repo, so the requesting account is the record's authority — there is no separate subject field. Operators index these to surface who is waiting for access; granting access is a separate place.stream.beta.invite record issued by the operator-trusted issuer. Each (requester, feature) pair gets its own record.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Request {
 
 pub mod request_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_place_stream_beta_request() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.beta.request"),
@@ -316,4 +316,4 @@ fn lexicon_doc_place_stream_beta_request() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/branding.rs b/crates/jacquard-api/src/place_stream/branding.rs
index 5e32d5588..b59b5583c 100644
--- a/crates/jacquard-api/src/place_stream/branding.rs
+++ b/crates/jacquard-api/src/place_stream/branding.rs
@@ -7,4 +7,4 @@
 pub mod delete_blob;
 pub mod get_blob;
 pub mod get_branding;
-pub mod update_blob;
+pub mod update_blob;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/branding/delete_blob.rs b/crates/jacquard-api/src/place_stream/branding/delete_blob.rs
index e6ea1de1b..c1eb01a73 100644
--- a/crates/jacquard-api/src/place_stream/branding/delete_blob.rs
+++ b/crates/jacquard-api/src/place_stream/branding/delete_blob.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteBlob {
     ///DID of the broadcaster. If not provided, uses the server's default broadcaster.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -32,20 +29,27 @@ pub struct DeleteBlob {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteBlobOutput {
     pub success: bool,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteBlobError {
     /// The authenticated DID is not authorized to modify branding
@@ -56,10 +60,7 @@ pub enum DeleteBlobError {
     BrandingNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteBlobError {
@@ -103,8 +104,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteBlobResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteBlob {
     const NSID: &'static str = "place.stream.branding.deleteBlob";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteBlobResponse;
 }
 
@@ -114,8 +116,9 @@ Path: `/xrpc/place.stream.branding.deleteBlob`. The request payload type is `Del
 pub struct DeleteBlobRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteBlobRequest {
     const PATH: &'static str = "/xrpc/place.stream.branding.deleteBlob";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteBlob;
     type Response = DeleteBlobResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/branding/get_blob.rs b/crates/jacquard-api/src/place_stream/branding/get_blob.rs
index 0af166b4e..0c949029d 100644
--- a/crates/jacquard-api/src/place_stream/branding/get_blob.rs
+++ b/crates/jacquard-api/src/place_stream/branding/get_blob.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBlob {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub broadcaster: Option>,
@@ -37,9 +34,18 @@ pub struct GetBlobOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetBlobError {
     /// The requested branding asset does not exist
@@ -47,10 +53,7 @@ pub enum GetBlobError {
     BrandingNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetBlobError {
@@ -123,7 +126,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBlobRequest {
 
 pub mod get_blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,7 +218,10 @@ where
     St::Key: get_blob_state::IsUnset,
 {
     /// Set the `key` field (required)
-    pub fn key(mut self, value: impl Into) -> GetBlobBuilder, S> {
+    pub fn key(
+        mut self,
+        value: impl Into,
+    ) -> GetBlobBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         GetBlobBuilder {
             _state: PhantomData,
@@ -237,4 +243,4 @@ where
             key: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/branding/get_branding.rs b/crates/jacquard-api/src/place_stream/branding/get_branding.rs
index 02e0503d8..cdfab7c5c 100644
--- a/crates/jacquard-api/src/place_stream/branding/get_branding.rs
+++ b/crates/jacquard-api/src/place_stream/branding/get_branding.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::branding::get_branding;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::branding::get_branding;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BrandingAsset {
     ///Inline data for text assets
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -52,21 +49,17 @@ pub struct BrandingAsset {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBranding {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub broadcaster: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBrandingOutput {
     ///List of available branding assets
     pub assets: Vec>,
@@ -74,17 +67,23 @@ pub struct GetBrandingOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetBrandingError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetBrandingError {
@@ -145,10 +144,10 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBrandingRequest {
 }
 
 fn lexicon_doc_place_stream_branding_getBranding() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.branding.getBranding"),
@@ -157,19 +156,18 @@ fn lexicon_doc_place_stream_branding_getBranding() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("brandingAsset"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("key"),
-                        SmolStr::new_static("mimeType"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("key"), SmolStr::new_static("mimeType")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("data"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Inline data for text assets",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Inline data for text assets"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -182,23 +180,29 @@ fn lexicon_doc_place_stream_branding_getBranding() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("key"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Asset key identifier")),
+                                description: Some(
+                                    CowStr::new_static("Asset key identifier"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("mimeType"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("MIME type of the asset")),
+                                description: Some(
+                                    CowStr::new_static("MIME type of the asset"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "URL to fetch the asset blob (for images)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "URL to fetch the asset blob (for images)",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -250,7 +254,7 @@ fn lexicon_doc_place_stream_branding_getBranding() -> LexiconDoc<'static> {
 
 pub mod get_branding_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -333,4 +337,4 @@ where
             broadcaster: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/branding/update_blob.rs b/crates/jacquard-api/src/place_stream/branding/update_blob.rs
index 19083c33b..d4a139347 100644
--- a/crates/jacquard-api/src/place_stream/branding/update_blob.rs
+++ b/crates/jacquard-api/src/place_stream/branding/update_blob.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateBlob {
     ///DID of the broadcaster. If not provided, uses the server's default broadcaster.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -42,20 +39,27 @@ pub struct UpdateBlob {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateBlobOutput {
     pub success: bool,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum UpdateBlobError {
     /// The authenticated DID is not authorized to modify branding
@@ -66,10 +70,7 @@ pub enum UpdateBlobError {
     BlobTooLarge(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for UpdateBlobError {
@@ -113,8 +114,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateBlobResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpdateBlob {
     const NSID: &'static str = "place.stream.branding.updateBlob";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpdateBlobResponse;
 }
 
@@ -124,8 +126,9 @@ Path: `/xrpc/place.stream.branding.updateBlob`. The request payload type is `Upd
 pub struct UpdateBlobRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpdateBlobRequest {
     const PATH: &'static str = "/xrpc/place.stream.branding.updateBlob";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpdateBlob;
     type Response = UpdateBlobResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/broadcast.rs b/crates/jacquard-api/src/place_stream/broadcast.rs
index 31dd5cb4f..414e0305b 100644
--- a/crates/jacquard-api/src/place_stream/broadcast.rs
+++ b/crates/jacquard-api/src/place_stream/broadcast.rs
@@ -10,6 +10,7 @@ pub mod get_broadcaster;
 pub mod origin;
 pub mod syndication;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -26,16 +27,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::actor::ProfileViewBasic;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BroadcastOriginView {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -62,7 +60,7 @@ impl LexiconSchema for BroadcastOriginView {
 
 pub mod broadcast_origin_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -151,14 +149,20 @@ pub struct BroadcastOriginViewBuilder<
 
 impl BroadcastOriginView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> BroadcastOriginViewBuilder {
+    pub fn new() -> BroadcastOriginViewBuilder<
+        broadcast_origin_view_state::Empty,
+        DefaultStr,
+    > {
         BroadcastOriginViewBuilder::new()
     }
 }
 
 impl BroadcastOriginView {
     /// Create a new builder for this type
-    pub fn builder() -> BroadcastOriginViewBuilder {
+    pub fn builder() -> BroadcastOriginViewBuilder<
+        broadcast_origin_view_state::Empty,
+        S,
+    > {
         BroadcastOriginViewBuilder::builder()
     }
 }
@@ -280,7 +284,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BroadcastOriginView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BroadcastOriginView {
         BroadcastOriginView {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -292,10 +299,10 @@ where
 }
 
 fn lexicon_doc_place_stream_broadcast_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.broadcast.defs"),
@@ -304,19 +311,21 @@ fn lexicon_doc_place_stream_broadcast_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("broadcastOriginView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -349,4 +358,4 @@ fn lexicon_doc_place_stream_broadcast_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/broadcast/get_broadcaster.rs b/crates/jacquard-api/src/place_stream/broadcast/get_broadcaster.rs
index b918c38b6..5ac2e6466 100644
--- a/crates/jacquard-api/src/place_stream/broadcast/get_broadcaster.rs
+++ b/crates/jacquard-api/src/place_stream/broadcast/get_broadcaster.rs
@@ -10,22 +10,19 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetBroadcaster;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBroadcasterOutput {
     ///Array of DIDs authorized as admins
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -39,17 +36,23 @@ pub struct GetBroadcasterOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetBroadcasterError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetBroadcasterError {
@@ -92,4 +95,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBroadcasterRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetBroadcaster;
     type Response = GetBroadcasterResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/broadcast/origin.rs b/crates/jacquard-api/src/place_stream/broadcast/origin.rs
index b170d3476..d9af948ae 100644
--- a/crates/jacquard-api/src/place_stream/broadcast/origin.rs
+++ b/crates/jacquard-api/src/place_stream/broadcast/origin.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record indicating a livestream is published and available for replication at a given address. By convention, the record key is streamer::server
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -127,7 +127,7 @@ impl LexiconSchema for Origin {
 
 pub mod origin_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -363,10 +363,10 @@ where
 }
 
 fn lexicon_doc_place_stream_broadcast_origin() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.broadcast.origin"),
@@ -475,4 +475,4 @@ fn lexicon_doc_place_stream_broadcast_origin() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/broadcast/syndication.rs b/crates/jacquard-api/src/place_stream/broadcast/syndication.rs
index aab17a19b..838c982c8 100644
--- a/crates/jacquard-api/src/place_stream/broadcast/syndication.rs
+++ b/crates/jacquard-api/src/place_stream/broadcast/syndication.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record created by a Streamplace broadcaster to indicate that they will be replicating a livestream. NYI
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -108,7 +108,7 @@ impl LexiconSchema for Syndication {
 
 pub mod syndication_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,7 +281,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Syndication {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Syndication {
         Syndication {
             broadcaster: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -292,10 +295,10 @@ where
 }
 
 fn lexicon_doc_place_stream_broadcast_syndication() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.broadcast.syndication"),
@@ -368,4 +371,4 @@ fn lexicon_doc_place_stream_broadcast_syndication() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/chat.rs b/crates/jacquard-api/src/place_stream/chat.rs
index 577c55bec..173ad7106 100644
--- a/crates/jacquard-api/src/place_stream/chat.rs
+++ b/crates/jacquard-api/src/place_stream/chat.rs
@@ -11,6 +11,7 @@ pub mod message;
 pub mod pinned_record;
 pub mod profile;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -27,20 +28,17 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::actor::ProfileViewBasic;
 use crate::place_stream::badge::BadgeView;
-use crate::place_stream::chat;
 use crate::place_stream::chat::pinned_record::PinnedRecord;
 use crate::place_stream::chat::profile::Profile;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::place_stream::chat;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MessageView {
     pub author: ProfileViewBasic,
     ///Up to 3 badge tokens to display with the message. First badge is server-controlled, remaining badges are user-settable. Tokens are looked up in badges.json for display info.
@@ -61,6 +59,7 @@ pub struct MessageView {
     pub extra_data: Option>>,
 }
 
+
 #[jacquard_derive::open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -72,10 +71,7 @@ pub enum MessageViewReplyTo {
 /// View of a pinned chat record with hydrated message data.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PinnedRecordView {
     pub cid: Cid,
     pub indexed_at: Datetime,
@@ -131,7 +127,7 @@ impl LexiconSchema for PinnedRecordView {
 
 pub mod message_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -446,7 +442,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> MessageView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> MessageView {
         MessageView {
             author: self._fields.0.unwrap(),
             badges: self._fields.1,
@@ -463,10 +462,10 @@ where
 }
 
 fn lexicon_doc_place_stream_chat_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.chat.defs"),
@@ -567,15 +566,18 @@ fn lexicon_doc_place_stream_chat_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pinnedRecordView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "View of a pinned chat record with hydrated message data.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "View of a pinned chat record with hydrated message data.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -634,7 +636,7 @@ fn lexicon_doc_place_stream_chat_defs() -> LexiconDoc<'static> {
 
 pub mod pinned_record_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -707,7 +709,10 @@ pub mod pinned_record_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PinnedRecordViewBuilder {
+pub struct PinnedRecordViewBuilder<
+    St: pinned_record_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -722,7 +727,10 @@ pub struct PinnedRecordViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> PinnedRecordViewBuilder {
+    pub fn new() -> PinnedRecordViewBuilder<
+        pinned_record_view_state::Empty,
+        DefaultStr,
+    > {
         PinnedRecordViewBuilder::new()
     }
 }
@@ -879,7 +887,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PinnedRecordView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PinnedRecordView {
         PinnedRecordView {
             cid: self._fields.0.unwrap(),
             indexed_at: self._fields.1.unwrap(),
@@ -890,4 +901,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/chat/gate.rs b/crates/jacquard-api/src/place_stream/chat/gate.rs
index b827d32f6..c740f7c60 100644
--- a/crates/jacquard-api/src/place_stream/chat/gate.rs
+++ b/crates/jacquard-api/src/place_stream/chat/gate.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record defining a single gated chat message.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Gate {
 
 pub mod gate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -218,10 +218,10 @@ where
 }
 
 fn lexicon_doc_place_stream_chat_gate() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.chat.gate"),
@@ -230,9 +230,11 @@ fn lexicon_doc_place_stream_chat_gate() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record defining a single gated chat message.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record defining a single gated chat message.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("hiddenMessage")]),
@@ -242,9 +244,9 @@ fn lexicon_doc_place_stream_chat_gate() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("hiddenMessage"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URI of the hidden chat message.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URI of the hidden chat message."),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -260,4 +262,4 @@ fn lexicon_doc_place_stream_chat_gate() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/chat/message.rs b/crates/jacquard-api/src/place_stream/chat/message.rs
index 2c143c87c..a1c6767e6 100644
--- a/crates/jacquard-api/src/place_stream/chat/message.rs
+++ b/crates/jacquard-api/src/place_stream/chat/message.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::place_stream::chat::message;
-use crate::place_stream::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::place_stream::richtext::facet::Facet;
+use crate::place_stream::chat::message;
 /// Record containing a Streamplace chat message.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -66,11 +66,9 @@ pub struct MessageGetRecordOutput {
     pub value: Message,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReplyRef {
     pub parent: StrongRef,
     pub root: StrongRef,
@@ -167,7 +165,7 @@ impl LexiconSchema for ReplyRef {
 
 pub mod message_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -342,7 +340,10 @@ where
     St::Text: message_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> MessageBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> MessageBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         MessageBuilder {
             _state: PhantomData,
@@ -384,10 +385,10 @@ where
 }
 
 fn lexicon_doc_place_stream_chat_message() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.chat.message"),
@@ -482,10 +483,9 @@ fn lexicon_doc_place_stream_chat_message() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("replyRef"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("root"),
-                        SmolStr::new_static("parent"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("root"), SmolStr::new_static("parent")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -516,7 +516,7 @@ fn lexicon_doc_place_stream_chat_message() -> LexiconDoc<'static> {
 
 pub mod reply_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -661,4 +661,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/chat/pinned_record.rs b/crates/jacquard-api/src/place_stream/chat/pinned_record.rs
index 9ee6fe7ed..acb62b590 100644
--- a/crates/jacquard-api/src/place_stream/chat/pinned_record.rs
+++ b/crates/jacquard-api/src/place_stream/chat/pinned_record.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record pinning a chat message for prominent display.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -112,7 +112,7 @@ impl LexiconSchema for PinnedRecord {
 
 pub mod pinned_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -157,12 +157,7 @@ pub mod pinned_record_state {
 /// Builder for constructing an instance of this type.
 pub struct PinnedRecordBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -283,7 +278,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PinnedRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PinnedRecord {
         PinnedRecord {
             created_at: self._fields.0.unwrap(),
             expires_at: self._fields.1,
@@ -295,10 +293,10 @@ where
 }
 
 fn lexicon_doc_place_stream_chat_pinnedRecord() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.chat.pinnedRecord"),
@@ -378,4 +376,4 @@ fn lexicon_doc_place_stream_chat_pinnedRecord() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/chat/profile.rs b/crates/jacquard-api/src/place_stream/chat/profile.rs
index f89474a7b..37e531555 100644
--- a/crates/jacquard-api/src/place_stream/chat/profile.rs
+++ b/crates/jacquard-api/src/place_stream/chat/profile.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::place_stream::chat::profile;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::place_stream::chat::profile;
 /// Selected badges for display in chat, organized by slot.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BadgeSelections {
     ///Selected globally-issued badge (e.g. event badge).
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -50,10 +47,7 @@ pub struct BadgeSelections {
 /// Customizations for the color of a user's name in chat
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Color {
     pub blue: i64,
     pub green: i64,
@@ -167,10 +161,7 @@ where
 /// A selected badge for a specific streamer's channel.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StreamerBadgeSelection {
     ///Strong reference to the selected place.stream.badge.issuance record.
     pub badge: StrongRef,
@@ -354,10 +345,10 @@ impl LexiconSchema for StreamerBadgeSelection {
 }
 
 fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.chat.profile"),
@@ -366,9 +357,11 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("badgeSelections"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Selected badges for display in chat, organized by slot.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Selected badges for display in chat, organized by slot.",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -382,9 +375,11 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("streamer"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Selected streamer-issued badges, one per streamer channel.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Selected streamer-issued badges, one per streamer channel.",
+                                    ),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#streamerBadgeSelection"),
                                     ..Default::default()
@@ -401,14 +396,17 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("color"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Customizations for the color of a user's name in chat",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("red"),
-                        SmolStr::new_static("green"),
-                        SmolStr::new_static("blue"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Customizations for the color of a user's name in chat",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("red"), SmolStr::new_static("green"),
+                            SmolStr::new_static("blue")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -444,9 +442,11 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record containing customizations for a user's chat profile.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record containing customizations for a user's chat profile.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![]),
@@ -470,9 +470,11 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("selfLabels"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Self-applied labels for this profile, e.g. 'bot'.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Self-applied labels for this profile, e.g. 'bot'.",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("#selfLabel"),
                                         ..Default::default()
@@ -491,22 +493,27 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("selfLabel"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static(
-                        "Label that a user can apply to their own profile.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Label that a user can apply to their own profile.",
+                        ),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("streamerBadgeSelection"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A selected badge for a specific streamer's channel.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("streamer"),
-                        SmolStr::new_static("badge"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A selected badge for a specific streamer's channel.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("streamer"), SmolStr::new_static("badge")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -520,9 +527,11 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("streamer"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "DID of the streamer whose channel this selection applies to.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "DID of the streamer whose channel this selection applies to.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -540,7 +549,7 @@ fn lexicon_doc_place_stream_chat_profile() -> LexiconDoc<'static> {
 
 pub mod color_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -645,7 +654,10 @@ where
     St::Blue: color_state::IsUnset,
 {
     /// Set the `blue` field (required)
-    pub fn blue(mut self, value: impl Into) -> ColorBuilder, S> {
+    pub fn blue(
+        mut self,
+        value: impl Into,
+    ) -> ColorBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ColorBuilder {
             _state: PhantomData,
@@ -661,7 +673,10 @@ where
     St::Green: color_state::IsUnset,
 {
     /// Set the `green` field (required)
-    pub fn green(mut self, value: impl Into) -> ColorBuilder, S> {
+    pub fn green(
+        mut self,
+        value: impl Into,
+    ) -> ColorBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         ColorBuilder {
             _state: PhantomData,
@@ -677,7 +692,10 @@ where
     St::Red: color_state::IsUnset,
 {
     /// Set the `red` field (required)
-    pub fn red(mut self, value: impl Into) -> ColorBuilder, S> {
+    pub fn red(
+        mut self,
+        value: impl Into,
+    ) -> ColorBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ColorBuilder {
             _state: PhantomData,
@@ -716,7 +734,7 @@ where
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -782,7 +800,10 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `badges` field (optional)
-    pub fn badges(mut self, value: impl Into>>) -> Self {
+    pub fn badges(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
@@ -808,12 +829,18 @@ impl ProfileBuilder {
 
 impl ProfileBuilder {
     /// Set the `selfLabels` field (optional)
-    pub fn self_labels(mut self, value: impl Into>>>) -> Self {
+    pub fn self_labels(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
     /// Set the `selfLabels` field to an Option value (optional)
-    pub fn maybe_self_labels(mut self, value: Option>>) -> Self {
+    pub fn maybe_self_labels(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -845,7 +872,7 @@ where
 
 pub mod streamer_badge_selection_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -899,15 +926,20 @@ pub struct StreamerBadgeSelectionBuilder<
 
 impl StreamerBadgeSelection {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> StreamerBadgeSelectionBuilder
-    {
+    pub fn new() -> StreamerBadgeSelectionBuilder<
+        streamer_badge_selection_state::Empty,
+        DefaultStr,
+    > {
         StreamerBadgeSelectionBuilder::new()
     }
 }
 
 impl StreamerBadgeSelection {
     /// Create a new builder for this type
-    pub fn builder() -> StreamerBadgeSelectionBuilder {
+    pub fn builder() -> StreamerBadgeSelectionBuilder<
+        streamer_badge_selection_state::Empty,
+        S,
+    > {
         StreamerBadgeSelectionBuilder::builder()
     }
 }
@@ -962,7 +994,10 @@ where
     pub fn streamer(
         mut self,
         value: impl Into>,
-    ) -> StreamerBadgeSelectionBuilder, S> {
+    ) -> StreamerBadgeSelectionBuilder<
+        streamer_badge_selection_state::SetStreamer,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         StreamerBadgeSelectionBuilder {
             _state: PhantomData,
@@ -997,4 +1032,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/config.rs b/crates/jacquard-api/src/place_stream/config.rs
index a104c67ce..230ffbaad 100644
--- a/crates/jacquard-api/src/place_stream/config.rs
+++ b/crates/jacquard-api/src/place_stream/config.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `place.stream.config` Lexicon namespace/module.
-pub mod get_env;
+pub mod get_env;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/config/get_env.rs b/crates/jacquard-api/src/place_stream/config/get_env.rs
index 06f4e5a47..8b3293016 100644
--- a/crates/jacquard-api/src/place_stream/config/get_env.rs
+++ b/crates/jacquard-api/src/place_stream/config/get_env.rs
@@ -10,21 +10,18 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetEnv;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEnvOutput {
     ///Whether the games API is configured and available
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -36,17 +33,23 @@ pub struct GetEnvOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetEnvError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetEnvError {
@@ -89,4 +92,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEnvRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetEnv;
     type Response = GetEnvResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/game.rs b/crates/jacquard-api/src/place_stream/game.rs
index c48c62874..2561458ea 100644
--- a/crates/jacquard-api/src/place_stream/game.rs
+++ b/crates/jacquard-api/src/place_stream/game.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `place.stream.game` Lexicon namespace/module.
 pub mod get_game;
-pub mod search;
+pub mod search;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/game/get_game.rs b/crates/jacquard-api/src/place_stream/game/get_game.rs
index 56fa07174..f39939c02 100644
--- a/crates/jacquard-api/src/place_stream/game/get_game.rs
+++ b/crates/jacquard-api/src/place_stream/game/get_game.rs
@@ -10,27 +10,22 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGame {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetGameOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cover_url: Option,
@@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetGameRequest {
 
 pub mod get_game_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -177,4 +172,4 @@ where
             uri: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/game/search.rs b/crates/jacquard-api/src/place_stream/game/search.rs
index 57f1ea911..0c015a23e 100644
--- a/crates/jacquard-api/src/place_stream/game/search.rs
+++ b/crates/jacquard-api/src/place_stream/game/search.rs
@@ -8,24 +8,21 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::games_gamesgamesgamesgames::CollectionSummaryView;
-use crate::games_gamesgamesgamesgames::EngineSummaryView;
-use crate::games_gamesgamesgamesgames::GameSummaryView;
-use crate::games_gamesgamesgamesgames::PlatformSummaryView;
-use crate::games_gamesgamesgamesgames::ProfileSummaryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::games_gamesgamesgamesgames::CollectionSummaryView;
+use crate::games_gamesgamesgamesgames::EngineSummaryView;
+use crate::games_gamesgamesgamesgames::GameSummaryView;
+use crate::games_gamesgamesgamesgames::PlatformSummaryView;
+use crate::games_gamesgamesgamesgames::ProfileSummaryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Search {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -36,11 +33,9 @@ pub struct Search {
     pub q: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -51,6 +46,7 @@ pub struct SearchOutput {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -101,7 +97,7 @@ fn _default_limit() -> Option {
 
 pub mod search_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -229,4 +225,4 @@ where
             q: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/get_likes.rs b/crates/jacquard-api/src/place_stream/get_likes.rs
index efe493a7b..114ef92e1 100644
--- a/crates/jacquard-api/src/place_stream/get_likes.rs
+++ b/crates/jacquard-api/src/place_stream/get_likes.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::actor::ProfileViewBasic;
-use crate::place_stream::get_likes;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::actor::ProfileViewBasic;
+use crate::place_stream::get_likes;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LikeView {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -42,11 +39,9 @@ pub struct LikeView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikes {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -57,11 +52,9 @@ pub struct GetLikes {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikesOutput {
     ///Total number of likes for this subject.
     pub count: i64,
@@ -119,7 +112,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLikesRequest {
 
 pub mod like_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -387,10 +380,10 @@ where
 }
 
 fn lexicon_doc_place_stream_getLikes() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.getLikes"),
@@ -399,20 +392,22 @@ fn lexicon_doc_place_stream_getLikes() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("likeView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -451,40 +446,44 @@ fn lexicon_doc_place_stream_getLikes() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional pagination cursor.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT-URI of the subject (video or comment).",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Optional pagination cursor."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "AT-URI of the subject (video or comment).",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -500,7 +499,7 @@ fn _default_limit() -> Option {
 
 pub mod get_likes_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -631,4 +630,4 @@ where
             subject: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/graph.rs b/crates/jacquard-api/src/place_stream/graph.rs
index ce49a7f31..a1d537948 100644
--- a/crates/jacquard-api/src/place_stream/graph.rs
+++ b/crates/jacquard-api/src/place_stream/graph.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `place.stream.graph` Lexicon namespace/module.
-pub mod get_following_user;
+pub mod get_following_user;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/graph/get_following_user.rs b/crates/jacquard-api/src/place_stream/graph/get_following_user.rs
index 93c3c91fa..23fc81804 100644
--- a/crates/jacquard-api/src/place_stream/graph/get_following_user.rs
+++ b/crates/jacquard-api/src/place_stream/graph/get_following_user.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFollowingUser {
     pub subject_did: Did,
     pub user_did: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFollowingUserOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub follow: Option>,
@@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetFollowingUserRequest {
 
 pub mod get_following_user_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -113,7 +108,10 @@ pub mod get_following_user_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetFollowingUserBuilder {
+pub struct GetFollowingUserBuilder<
+    St: get_following_user_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -121,7 +119,10 @@ pub struct GetFollowingUserBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetFollowingUserBuilder {
+    pub fn new() -> GetFollowingUserBuilder<
+        get_following_user_state::Empty,
+        DefaultStr,
+    > {
         GetFollowingUserBuilder::new()
     }
 }
@@ -206,4 +207,4 @@ where
             user_did: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/ingest.rs b/crates/jacquard-api/src/place_stream/ingest.rs
index 187b55606..b7929aca4 100644
--- a/crates/jacquard-api/src/place_stream/ingest.rs
+++ b/crates/jacquard-api/src/place_stream/ingest.rs
@@ -8,12 +8,13 @@
 //! Generated bindings for the `place.stream.ingest` Lexicon namespace/module.
 pub mod get_ingest_urls;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,14 +27,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An ingest URL for a Streamplace station.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Ingest {
     ///The type of ingest endpoint, currently 'rtmp' and 'whip' are supported.
     pub r#type: S,
@@ -60,7 +58,7 @@ impl LexiconSchema for Ingest {
 
 pub mod ingest_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -151,7 +149,10 @@ where
     St::Type: ingest_state::IsUnset,
 {
     /// Set the `type` field (required)
-    pub fn r#type(mut self, value: impl Into) -> IngestBuilder, S> {
+    pub fn r#type(
+        mut self,
+        value: impl Into,
+    ) -> IngestBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         IngestBuilder {
             _state: PhantomData,
@@ -205,10 +206,10 @@ where
 }
 
 fn lexicon_doc_place_stream_ingest_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.ingest.defs"),
@@ -256,4 +257,4 @@ fn lexicon_doc_place_stream_ingest_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/ingest/get_ingest_urls.rs b/crates/jacquard-api/src/place_stream/ingest/get_ingest_urls.rs
index 245b6d0ac..1555ee50a 100644
--- a/crates/jacquard-api/src/place_stream/ingest/get_ingest_urls.rs
+++ b/crates/jacquard-api/src/place_stream/ingest/get_ingest_urls.rs
@@ -8,41 +8,44 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::ingest::Ingest;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::ingest::Ingest;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetIngestUrls;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetIngestUrlsOutput {
     pub ingests: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetIngestUrlsError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetIngestUrlsError {
@@ -85,4 +88,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetIngestUrlsRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetIngestUrls;
     type Response = GetIngestUrlsResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/key.rs b/crates/jacquard-api/src/place_stream/key.rs
index c64cf8f97..7cb1b0512 100644
--- a/crates/jacquard-api/src/place_stream/key.rs
+++ b/crates/jacquard-api/src/place_stream/key.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record linking an atproto identity with a stream signing key
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -131,7 +131,7 @@ impl LexiconSchema for Key {
 
 pub mod key_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -294,10 +294,10 @@ where
 }
 
 fn lexicon_doc_place_stream_key() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.key"),
@@ -306,24 +306,30 @@ fn lexicon_doc_place_stream_key() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record linking an atproto identity with a stream signing key",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record linking an atproto identity with a stream signing key",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("signingKey"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("signingKey"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Client-declared timestamp when this key was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Client-declared timestamp when this key was created.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -331,18 +337,22 @@ fn lexicon_doc_place_stream_key() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdBy"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The name of the client that created this key.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The name of the client that created this key.",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("signingKey"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The did:key signing key for the stream.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The did:key signing key for the stream.",
+                                        ),
+                                    ),
                                     min_length: Some(57usize),
                                     max_length: Some(57usize),
                                     ..Default::default()
@@ -359,4 +369,4 @@ fn lexicon_doc_place_stream_key() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/like.rs b/crates/jacquard-api/src/place_stream/like.rs
index 8a52c008d..c8a1e193b 100644
--- a/crates/jacquard-api/src/place_stream/like.rs
+++ b/crates/jacquard-api/src/place_stream/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record indicating a like on some other record (e.g. a video or a comment).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_place_stream_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.like"),
@@ -317,4 +317,4 @@ fn lexicon_doc_place_stream_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live.rs b/crates/jacquard-api/src/place_stream/live.rs
index 29ea63b00..2180a23ba 100644
--- a/crates/jacquard-api/src/place_stream/live.rs
+++ b/crates/jacquard-api/src/place_stream/live.rs
@@ -14,7 +14,8 @@ pub mod search_actors_typeahead;
 pub mod start_livestream;
 pub mod stop_livestream;
 
+
 #[cfg(feature = "streaming")]
 pub mod subscribe_segments;
 pub mod teleport;
-pub mod viewer_count;
+pub mod viewer_count;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/deny_teleport.rs b/crates/jacquard-api/src/place_stream/live/deny_teleport.rs
index 8544288cd..77de4e6e2 100644
--- a/crates/jacquard-api/src/place_stream/live/deny_teleport.rs
+++ b/crates/jacquard-api/src/place_stream/live/deny_teleport.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DenyTeleport {
     ///The URI of the teleport record to deny.
     pub uri: AtUri,
@@ -29,11 +26,9 @@ pub struct DenyTeleport {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DenyTeleportOutput {
     ///Whether the teleport was successfully denied.
     pub success: bool,
@@ -41,9 +36,18 @@ pub struct DenyTeleportOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DenyTeleportError {
     /// The specified teleport was not found.
@@ -54,10 +58,7 @@ pub enum DenyTeleportError {
     Unauthorized(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DenyTeleportError {
@@ -101,8 +102,9 @@ impl jacquard_common::xrpc::XrpcResp for DenyTeleportResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DenyTeleport {
     const NSID: &'static str = "place.stream.live.denyTeleport";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DenyTeleportResponse;
 }
 
@@ -112,15 +114,16 @@ Path: `/xrpc/place.stream.live.denyTeleport`. The request payload type is `DenyT
 pub struct DenyTeleportRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DenyTeleportRequest {
     const PATH: &'static str = "/xrpc/place.stream.live.denyTeleport";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DenyTeleport;
     type Response = DenyTeleportResponse;
 }
 
 pub mod deny_teleport_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -225,10 +228,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DenyTeleport {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DenyTeleport {
         DenyTeleport {
             uri: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/get_live_users.rs b/crates/jacquard-api/src/place_stream/live/get_live_users.rs
index 81071656d..ae320d17f 100644
--- a/crates/jacquard-api/src/place_stream/live/get_live_users.rs
+++ b/crates/jacquard-api/src/place_stream/live/get_live_users.rs
@@ -8,15 +8,15 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::livestream::LivestreamView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::livestream::LivestreamView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -29,11 +29,9 @@ pub struct GetLiveUsers {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLiveUsersOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub streams: Option>>,
@@ -75,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_live_users_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -162,4 +160,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/get_profile_card.rs b/crates/jacquard-api/src/place_stream/live/get_profile_card.rs
index 29dc7edd9..0f9d64a95 100644
--- a/crates/jacquard-api/src/place_stream/live/get_profile_card.rs
+++ b/crates/jacquard-api/src/place_stream/live/get_profile_card.rs
@@ -10,41 +10,45 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileCard {
     pub id: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetProfileCardOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetProfileCardError {
     #[serde(rename = "RepoNotFound")]
     RepoNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetProfileCardError {
@@ -117,7 +121,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileCardRequest {
 
 pub mod get_profile_card_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -148,7 +152,10 @@ pub mod get_profile_card_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetProfileCardBuilder {
+pub struct GetProfileCardBuilder<
+    St: get_profile_card_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -220,4 +227,4 @@ where
             id: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/get_recommendations.rs b/crates/jacquard-api/src/place_stream/live/get_recommendations.rs
index 29d0f8352..6b0a333bb 100644
--- a/crates/jacquard-api/src/place_stream/live/get_recommendations.rs
+++ b/crates/jacquard-api/src/place_stream/live/get_recommendations.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::live::get_recommendations;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::live::get_recommendations;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LivestreamRecommendation {
     ///The DID of the recommended streamer
     pub did: Did,
@@ -40,20 +37,16 @@ pub struct LivestreamRecommendation {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecommendations {
     pub user_did: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetRecommendationsOutput {
     ///Ordered list of recommendations
     pub recommendations: Vec>,
@@ -109,7 +102,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecommendationsRequest {
 
 pub mod livestream_recommendation_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -163,20 +156,28 @@ pub struct LivestreamRecommendationBuilder<
 
 impl LivestreamRecommendation {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> LivestreamRecommendationBuilder {
+    pub fn new() -> LivestreamRecommendationBuilder<
+        livestream_recommendation_state::Empty,
+        DefaultStr,
+    > {
         LivestreamRecommendationBuilder::new()
     }
 }
 
 impl LivestreamRecommendation {
     /// Create a new builder for this type
-    pub fn builder() -> LivestreamRecommendationBuilder {
+    pub fn builder() -> LivestreamRecommendationBuilder<
+        livestream_recommendation_state::Empty,
+        S,
+    > {
         LivestreamRecommendationBuilder::builder()
     }
 }
 
-impl LivestreamRecommendationBuilder {
+impl LivestreamRecommendationBuilder<
+    livestream_recommendation_state::Empty,
+    DefaultStr,
+> {
     /// Create a new builder with all fields unset, using the default string type, if needed
     pub fn new() -> Self {
         LivestreamRecommendationBuilder {
@@ -187,7 +188,9 @@ impl LivestreamRecommendationBuilder LivestreamRecommendationBuilder {
+impl<
+    S: BosStr,
+> LivestreamRecommendationBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         LivestreamRecommendationBuilder {
@@ -207,7 +210,10 @@ where
     pub fn did(
         mut self,
         value: impl Into>,
-    ) -> LivestreamRecommendationBuilder, S> {
+    ) -> LivestreamRecommendationBuilder<
+        livestream_recommendation_state::SetDid,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         LivestreamRecommendationBuilder {
             _state: PhantomData,
@@ -226,7 +232,10 @@ where
     pub fn source(
         mut self,
         value: impl Into,
-    ) -> LivestreamRecommendationBuilder, S> {
+    ) -> LivestreamRecommendationBuilder<
+        livestream_recommendation_state::SetSource,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         LivestreamRecommendationBuilder {
             _state: PhantomData,
@@ -264,10 +273,10 @@ where
 }
 
 fn lexicon_doc_place_stream_live_getRecommendations() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.live.getRecommendations"),
@@ -276,19 +285,18 @@ fn lexicon_doc_place_stream_live_getRecommendations() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("livestreamRecommendation"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("source"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("did"), SmolStr::new_static("source")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The DID of the recommended streamer",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The DID of the recommended streamer"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -296,9 +304,9 @@ fn lexicon_doc_place_stream_live_getRecommendations() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("source"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Source of the recommendation",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Source of the recommendation"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -310,25 +318,29 @@ fn lexicon_doc_place_stream_live_getRecommendations() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("userDID")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("userDID"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The DID of the user whose recommendations to fetch",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("userDID")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("userDID"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "The DID of the user whose recommendations to fetch",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -340,7 +352,7 @@ fn lexicon_doc_place_stream_live_getRecommendations() -> LexiconDoc<'static> {
 
 pub mod get_recommendations_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -371,7 +383,10 @@ pub mod get_recommendations_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetRecommendationsBuilder {
+pub struct GetRecommendationsBuilder<
+    St: get_recommendations_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -379,7 +394,10 @@ pub struct GetRecommendationsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetRecommendationsBuilder {
+    pub fn new() -> GetRecommendationsBuilder<
+        get_recommendations_state::Empty,
+        DefaultStr,
+    > {
         GetRecommendationsBuilder::new()
     }
 }
@@ -443,4 +461,4 @@ where
             user_did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/get_segments.rs b/crates/jacquard-api/src/place_stream/live/get_segments.rs
index 0a193c436..36e77f6fe 100644
--- a/crates/jacquard-api/src/place_stream/live/get_segments.rs
+++ b/crates/jacquard-api/src/place_stream/live/get_segments.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::segment::SegmentView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did};
+use jacquard_common::types::string::{Did, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::segment::SegmentView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSegments {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub before: Option,
@@ -33,11 +30,9 @@ pub struct GetSegments {
     pub user_did: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSegmentsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub segments: Option>>,
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_segments_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -210,4 +205,4 @@ where
             user_did: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/recommendations.rs b/crates/jacquard-api/src/place_stream/live/recommendations.rs
index 3b230da47..47cedaf64 100644
--- a/crates/jacquard-api/src/place_stream/live/recommendations.rs
+++ b/crates/jacquard-api/src/place_stream/live/recommendations.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A list of recommended streamers, in order of preference
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -128,7 +128,7 @@ impl LexiconSchema for Recommendations {
 
 pub mod recommendations_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -171,7 +171,10 @@ pub mod recommendations_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct RecommendationsBuilder {
+pub struct RecommendationsBuilder<
+    St: recommendations_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>>),
     _type: PhantomData S>,
@@ -266,7 +269,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Recommendations {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Recommendations {
         Recommendations {
             created_at: self._fields.0.unwrap(),
             streamers: self._fields.1.unwrap(),
@@ -276,10 +282,10 @@ where
 }
 
 fn lexicon_doc_place_stream_live_recommendations() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.live.recommendations"),
@@ -288,24 +294,30 @@ fn lexicon_doc_place_stream_live_recommendations() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A list of recommended streamers, in order of preference",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A list of recommended streamers, in order of preference",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("streamers"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("streamers"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Client-declared timestamp when this list was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Client-declared timestamp when this list was created.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -313,9 +325,11 @@ fn lexicon_doc_place_stream_live_recommendations() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("streamers"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Ordered list of recommended streamer DIDs",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Ordered list of recommended streamer DIDs",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         format: Some(LexStringFormat::Did),
                                         ..Default::default()
@@ -336,4 +350,4 @@ fn lexicon_doc_place_stream_live_recommendations() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/search_actors_typeahead.rs b/crates/jacquard-api/src/place_stream/live/search_actors_typeahead.rs
index 74a0a012b..94045b9c5 100644
--- a/crates/jacquard-api/src/place_stream/live/search_actors_typeahead.rs
+++ b/crates/jacquard-api/src/place_stream/live/search_actors_typeahead.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::live::search_actors_typeahead;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::live::search_actors_typeahead;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Actor {
     ///The actor's DID
     pub did: Did,
@@ -40,11 +37,9 @@ pub struct Actor {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActorsTypeahead {
     /// Defaults to `10`. Min: 1. Max: 100.
     #[serde(default = "_default_limit")]
@@ -54,11 +49,9 @@ pub struct SearchActorsTypeahead {
     pub q: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActorsTypeaheadOutput {
     pub actors: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -110,7 +103,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for SearchActorsTypeaheadRequest {
 
 pub mod actor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -201,7 +194,10 @@ where
     St::Did: actor_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> ActorBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> ActorBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ActorBuilder {
             _state: PhantomData,
@@ -255,10 +251,10 @@ where
 }
 
 fn lexicon_doc_place_stream_live_searchActorsTypeahead() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.live.searchActorsTypeahead"),
@@ -267,10 +263,9 @@ fn lexicon_doc_place_stream_live_searchActorsTypeahead() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("actor"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("handle"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("did"), SmolStr::new_static("handle")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -298,29 +293,33 @@ fn lexicon_doc_place_stream_live_searchActorsTypeahead() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("q"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Search query prefix; not a full query string.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("q"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Search query prefix; not a full query string.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -336,7 +335,7 @@ fn _default_limit() -> Option {
 
 pub mod search_actors_typeahead_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -365,14 +364,20 @@ pub struct SearchActorsTypeaheadBuilder<
 
 impl SearchActorsTypeahead {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SearchActorsTypeaheadBuilder {
+    pub fn new() -> SearchActorsTypeaheadBuilder<
+        search_actors_typeahead_state::Empty,
+        DefaultStr,
+    > {
         SearchActorsTypeaheadBuilder::new()
     }
 }
 
 impl SearchActorsTypeahead {
     /// Create a new builder for this type
-    pub fn builder() -> SearchActorsTypeaheadBuilder {
+    pub fn builder() -> SearchActorsTypeaheadBuilder<
+        search_actors_typeahead_state::Empty,
+        S,
+    > {
         SearchActorsTypeaheadBuilder::builder()
     }
 }
@@ -399,7 +404,10 @@ impl SearchActorsTypeaheadBuilder SearchActorsTypeaheadBuilder {
+impl<
+    St: search_actors_typeahead_state::State,
+    S: BosStr,
+> SearchActorsTypeaheadBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -412,7 +420,10 @@ impl SearchActorsTypeaheadB
     }
 }
 
-impl SearchActorsTypeaheadBuilder {
+impl<
+    St: search_actors_typeahead_state::State,
+    S: BosStr,
+> SearchActorsTypeaheadBuilder {
     /// Set the `q` field (optional)
     pub fn q(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -436,4 +447,4 @@ where
             q: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/start_livestream.rs b/crates/jacquard-api/src/place_stream/live/start_livestream.rs
index b22f7d0e5..39d19a03d 100644
--- a/crates/jacquard-api/src/place_stream/live/start_livestream.rs
+++ b/crates/jacquard-api/src/place_stream/live/start_livestream.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::livestream::Livestream;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Cid, Did, UriValue};
+use jacquard_common::types::string::{Did, Cid, UriValue};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::livestream::Livestream;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StartLivestream {
     ///Whether to create a Bluesky post announcing the livestream.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -34,11 +31,9 @@ pub struct StartLivestream {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StartLivestreamOutput {
     ///The CID of the livestream record.
     pub cid: Cid,
@@ -61,8 +56,9 @@ impl jacquard_common::xrpc::XrpcResp for StartLivestreamResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for StartLivestream {
     const NSID: &'static str = "place.stream.live.startLivestream";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = StartLivestreamResponse;
 }
 
@@ -72,15 +68,16 @@ Path: `/xrpc/place.stream.live.startLivestream`. The request payload type is `St
 pub struct StartLivestreamRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for StartLivestreamRequest {
     const PATH: &'static str = "/xrpc/place.stream.live.startLivestream";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = StartLivestream;
     type Response = StartLivestreamResponse;
 }
 
 pub mod start_livestream_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -123,7 +120,10 @@ pub mod start_livestream_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct StartLivestreamBuilder {
+pub struct StartLivestreamBuilder<
+    St: start_livestream_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option>),
     _type: PhantomData S>,
@@ -232,7 +232,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StartLivestream {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StartLivestream {
         StartLivestream {
             create_bluesky_post: self._fields.0,
             livestream: self._fields.1.unwrap(),
@@ -240,4 +243,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/stop_livestream.rs b/crates/jacquard-api/src/place_stream/live/stop_livestream.rs
index a82e7c639..417cc3b0b 100644
--- a/crates/jacquard-api/src/place_stream/live/stop_livestream.rs
+++ b/crates/jacquard-api/src/place_stream/live/stop_livestream.rs
@@ -10,28 +10,23 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{Cid, UriValue};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StopLivestream {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StopLivestreamOutput {
     ///The new CID of the stopped livestream record.
     pub cid: Cid,
@@ -54,8 +49,9 @@ impl jacquard_common::xrpc::XrpcResp for StopLivestreamResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for StopLivestream {
     const NSID: &'static str = "place.stream.live.stopLivestream";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = StopLivestreamResponse;
 }
 
@@ -65,8 +61,9 @@ Path: `/xrpc/place.stream.live.stopLivestream`. The request payload type is `Sto
 pub struct StopLivestreamRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for StopLivestreamRequest {
     const PATH: &'static str = "/xrpc/place.stream.live.stopLivestream";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = StopLivestream;
     type Response = StopLivestreamResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/subscribe_segments.rs b/crates/jacquard-api/src/place_stream/live/subscribe_segments.rs
index df1f57f86..5876bf6ee 100644
--- a/crates/jacquard-api/src/place_stream/live/subscribe_segments.rs
+++ b/crates/jacquard-api/src/place_stream/live/subscribe_segments.rs
@@ -5,23 +5,21 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use crate::place_stream::live::subscribe_segments;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::live::subscribe_segments;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SubscribeSegments {
     pub streamer: S,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -38,22 +36,37 @@ impl SubscribeSegmentsMessage {
     where
         S: serde::Deserialize<'de>,
     {
-        let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?;
+        let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(
+            bytes,
+        )?;
         match header.t.as_str() {
             "#segment" => {
-                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
+                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(
+                    body,
+                )?;
                 Ok(Self::Segment(Box::new(variant)))
             }
-            unknown => Err(jacquard_common::error::DecodeError::UnknownEventType(
-                unknown.into(),
-            )),
+            unknown => {
+                Err(
+                    jacquard_common::error::DecodeError::UnknownEventType(unknown.into()),
+                )
+            }
         }
     }
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum SubscribeSegmentsError {
     /// Catch-all for unknown error codes.
@@ -84,31 +97,28 @@ pub type Segment = Bytes;
 pub struct SubscribeSegmentsStream;
 impl jacquard_common::xrpc::SubscriptionResp for SubscribeSegmentsStream {
     const NSID: &'static str = "place.stream.live.subscribeSegments";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Message = SubscribeSegmentsMessage;
     type Error = SubscribeSegmentsError;
 }
 
 impl jacquard_common::xrpc::XrpcSubscription for SubscribeSegments {
     const NSID: &'static str = "place.stream.live.subscribeSegments";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Stream = SubscribeSegmentsStream;
 }
 
 pub struct SubscribeSegmentsEndpoint;
 impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeSegmentsEndpoint {
     const PATH: &'static str = "/xrpc/place.stream.live.subscribeSegments";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Params = SubscribeSegments;
     type Stream = SubscribeSegmentsStream;
 }
 
 pub mod subscribe_segments_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -139,7 +149,10 @@ pub mod subscribe_segments_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SubscribeSegmentsBuilder {
+pub struct SubscribeSegmentsBuilder<
+    St: subscribe_segments_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -147,7 +160,10 @@ pub struct SubscribeSegmentsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SubscribeSegmentsBuilder {
+    pub fn new() -> SubscribeSegmentsBuilder<
+        subscribe_segments_state::Empty,
+        DefaultStr,
+    > {
         SubscribeSegmentsBuilder::new()
     }
 }
@@ -211,4 +227,4 @@ where
             streamer: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/teleport.rs b/crates/jacquard-api/src/place_stream/live/teleport.rs
index cd2c6bc1f..905aeca76 100644
--- a/crates/jacquard-api/src/place_stream/live/teleport.rs
+++ b/crates/jacquard-api/src/place_stream/live/teleport.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record defining a 'teleport', that is active during a certain time.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -127,7 +127,7 @@ impl LexiconSchema for Teleport {
 
 pub mod teleport_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -290,10 +290,10 @@ where
 }
 
 fn lexicon_doc_place_stream_live_teleport() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.live.teleport"),
@@ -302,15 +302,19 @@ fn lexicon_doc_place_stream_live_teleport() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record defining a 'teleport', that is active during a certain time.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record defining a 'teleport', that is active during a certain time.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("streamer"),
-                            SmolStr::new_static("startsAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("streamer"),
+                                SmolStr::new_static("startsAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -325,9 +329,9 @@ fn lexicon_doc_place_stream_live_teleport() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("startsAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The time the teleport becomes active.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The time the teleport becomes active."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -335,9 +339,11 @@ fn lexicon_doc_place_stream_live_teleport() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("streamer"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The DID of the streamer to teleport to.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The DID of the streamer to teleport to.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -353,4 +359,4 @@ fn lexicon_doc_place_stream_live_teleport() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/live/viewer_count.rs b/crates/jacquard-api/src/place_stream/live/viewer_count.rs
index 38b100f88..ab6996b36 100644
--- a/crates/jacquard-api/src/place_stream/live/viewer_count.rs
+++ b/crates/jacquard-api/src/place_stream/live/viewer_count.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Current viewer count for a livestream on a particular server. Record keys are streamer_did::server_did by convention.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for ViewerCount {
 
 pub mod viewer_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,12 +170,7 @@ pub mod viewer_count_state {
 /// Builder for constructing an instance of this type.
 pub struct ViewerCountBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -303,7 +298,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewerCount {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewerCount {
         ViewerCount {
             count: self._fields.0.unwrap(),
             server: self._fields.1.unwrap(),
@@ -315,10 +313,10 @@ where
 }
 
 fn lexicon_doc_place_stream_live_viewerCount() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.live.viewerCount"),
@@ -396,4 +394,4 @@ fn lexicon_doc_place_stream_live_viewerCount() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/livestream.rs b/crates/jacquard-api/src/place_stream/livestream.rs
index d0cf19635..930ec22db 100644
--- a/crates/jacquard-api/src/place_stream/livestream.rs
+++ b/crates/jacquard-api/src/place_stream/livestream.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,6 +25,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::actor::ProfileViewBasic;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::place_stream::ActivityGame;
@@ -36,15 +39,9 @@ use crate::place_stream::chat::MessageView;
 use crate::place_stream::chat::PinnedRecordView;
 use crate::place_stream::chat::profile::Profile;
 use crate::place_stream::livestream;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LivestreamView {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -107,6 +104,7 @@ pub struct Livestream {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -128,11 +126,9 @@ pub struct LivestreamGetRecordOutput {
     pub value: Livestream,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotificationSettings {
     ///Whether this livestream should trigger a push notification to followers.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -141,17 +137,16 @@ pub struct NotificationSettings {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StreamplaceAnything {
     pub livestream: StreamplaceAnythingLivestream,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -176,11 +171,9 @@ pub enum StreamplaceAnythingLivestream {
     PinnedRecordView(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TeleportArrival {
     ///The chat profile of the source streamer
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -197,11 +190,9 @@ pub struct TeleportArrival {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TeleportCanceled {
     ///Why this teleport was canceled
     pub reason: S,
@@ -211,11 +202,9 @@ pub struct TeleportCanceled {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewerCount {
     pub count: i64,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -307,16 +296,19 @@ impl LexiconSchema for Livestream {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("thumb"),
@@ -431,7 +423,7 @@ impl LexiconSchema for ViewerCount {
 
 pub mod livestream_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -522,7 +514,10 @@ pub mod livestream_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct LivestreamViewBuilder {
+pub struct LivestreamViewBuilder<
+    St: livestream_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -668,12 +663,18 @@ where
 
 impl LivestreamViewBuilder {
     /// Set the `viewerCount` field (optional)
-    pub fn viewer_count(mut self, value: impl Into>>) -> Self {
+    pub fn viewer_count(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
     /// Set the `viewerCount` field to an Option value (optional)
-    pub fn maybe_viewer_count(mut self, value: Option>) -> Self {
+    pub fn maybe_viewer_count(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.5 = value;
         self
     }
@@ -701,7 +702,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LivestreamView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LivestreamView {
         LivestreamView {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -715,10 +719,10 @@ where
 }
 
 fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.livestream"),
@@ -727,20 +731,22 @@ fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("livestreamView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -984,7 +990,7 @@ fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
                                     CowStr::new_static("place.stream.defs#renditions"),
                                     CowStr::new_static("place.stream.defs#rendition"),
                                     CowStr::new_static("place.stream.chat.defs#messageView"),
-                                    CowStr::new_static("place.stream.chat.defs#pinnedRecordView"),
+                                    CowStr::new_static("place.stream.chat.defs#pinnedRecordView")
                                 ],
                                 ..Default::default()
                             }),
@@ -997,12 +1003,14 @@ fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("teleportArrival"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("teleportUri"),
-                        SmolStr::new_static("source"),
-                        SmolStr::new_static("viewerCount"),
-                        SmolStr::new_static("startsAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("teleportUri"),
+                            SmolStr::new_static("source"),
+                            SmolStr::new_static("viewerCount"),
+                            SmolStr::new_static("startsAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1016,14 +1024,18 @@ fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("source"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("startsAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("When this teleport started")),
+                                description: Some(
+                                    CowStr::new_static("When this teleport started"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -1031,9 +1043,9 @@ fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("teleportUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The URI of the teleport record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("The URI of the teleport record"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -1052,28 +1064,32 @@ fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("teleportCanceled"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("teleportUri"),
-                        SmolStr::new_static("reason"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("teleportUri"),
+                            SmolStr::new_static("reason")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("reason"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Why this teleport was canceled",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Why this teleport was canceled"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("teleportUri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The URI of the teleport record that was canceled",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The URI of the teleport record that was canceled",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -1109,7 +1125,7 @@ fn lexicon_doc_place_stream_livestream() -> LexiconDoc<'static> {
 
 pub mod livestream_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1192,7 +1208,19 @@ impl LivestreamBuilder {
         LivestreamBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1205,7 +1233,19 @@ impl LivestreamBuilder {
         LivestreamBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1425,7 +1465,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Livestream {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Livestream {
         Livestream {
             activity: self._fields.0,
             agent: self._fields.1,
@@ -1447,7 +1490,7 @@ where
 
 pub mod streamplace_anything_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1478,8 +1521,10 @@ pub mod streamplace_anything_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct StreamplaceAnythingBuilder
-{
+pub struct StreamplaceAnythingBuilder<
+    St: streamplace_anything_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -1487,14 +1532,20 @@ pub struct StreamplaceAnythingBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> StreamplaceAnythingBuilder {
+    pub fn new() -> StreamplaceAnythingBuilder<
+        streamplace_anything_state::Empty,
+        DefaultStr,
+    > {
         StreamplaceAnythingBuilder::new()
     }
 }
 
 impl StreamplaceAnything {
     /// Create a new builder for this type
-    pub fn builder() -> StreamplaceAnythingBuilder {
+    pub fn builder() -> StreamplaceAnythingBuilder<
+        streamplace_anything_state::Empty,
+        S,
+    > {
         StreamplaceAnythingBuilder::builder()
     }
 }
@@ -1553,7 +1604,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StreamplaceAnything {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StreamplaceAnything {
         StreamplaceAnything {
             livestream: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -1563,7 +1617,7 @@ where
 
 pub mod teleport_arrival_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1636,7 +1690,10 @@ pub mod teleport_arrival_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TeleportArrivalBuilder {
+pub struct TeleportArrivalBuilder<
+    St: teleport_arrival_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1793,7 +1850,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TeleportArrival {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TeleportArrival {
         TeleportArrival {
             chat_profile: self._fields.0,
             source: self._fields.1.unwrap(),
@@ -1807,7 +1867,7 @@ where
 
 pub mod teleport_canceled_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1850,7 +1910,10 @@ pub mod teleport_canceled_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TeleportCanceledBuilder {
+pub struct TeleportCanceledBuilder<
+    St: teleport_canceled_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -1945,7 +2008,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TeleportCanceled {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TeleportCanceled {
         TeleportCanceled {
             reason: self._fields.0.unwrap(),
             teleport_uri: self._fields.1.unwrap(),
@@ -1956,7 +2022,7 @@ where
 
 pub mod viewer_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2061,10 +2127,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewerCount {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewerCount {
         ViewerCount {
             count: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media.rs b/crates/jacquard-api/src/place_stream/media.rs
index fea2e20a6..0acf570d6 100644
--- a/crates/jacquard-api/src/place_stream/media.rs
+++ b/crates/jacquard-api/src/place_stream/media.rs
@@ -15,33 +15,31 @@ pub mod publish_video;
 pub mod track;
 pub mod view_count;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A track backed by a MUXL container
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MuxlTrack {
     ///BLAKE-3 content hash (BDASL CID) of the source video segment.
     pub blob: S,
@@ -65,10 +63,7 @@ pub struct MuxlTrack {
 /// An object representing that this video's source is a clip from another video.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SourceClip {
     ///End time of the clip in milliseconds.
     pub end: i64,
@@ -83,10 +78,7 @@ pub struct SourceClip {
 /// A collection of tracks representing the canonical source of a video.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SourceTracks {
     ///The canonical list of tracks specifying the source of a video.
     pub tracks: Vec>,
@@ -140,10 +132,10 @@ impl LexiconSchema for SourceTracks {
 }
 
 fn lexicon_doc_place_stream_media_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.media.defs"),
@@ -313,7 +305,7 @@ fn lexicon_doc_place_stream_media_defs() -> LexiconDoc<'static> {
 
 pub mod source_clip_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -486,7 +478,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SourceClip {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SourceClip {
         SourceClip {
             end: self._fields.0.unwrap(),
             start: self._fields.1.unwrap(),
@@ -498,7 +493,7 @@ where
 
 pub mod source_tracks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -603,10 +598,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SourceTracks {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SourceTracks {
         SourceTracks {
             tracks: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/create_upload.rs b/crates/jacquard-api/src/place_stream/media/create_upload.rs
index 5ecaab3b9..1ef7c6183 100644
--- a/crates/jacquard-api/src/place_stream/media/create_upload.rs
+++ b/crates/jacquard-api/src/place_stream/media/create_upload.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{Datetime, UriValue};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateUpload {
     ///Optional filename hint to attach as upload metadata.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -34,11 +31,9 @@ pub struct CreateUpload {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateUploadOutput {
     ///When the upload token expires.
     pub expires_at: Datetime,
@@ -52,9 +47,18 @@ pub struct CreateUploadOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreateUploadError {
     /// The requested upload exceeds the server's maximum allowed size.
@@ -65,10 +69,7 @@ pub enum CreateUploadError {
     UnsupportedMimeType(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreateUploadError {
@@ -112,8 +113,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateUploadResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateUpload {
     const NSID: &'static str = "place.stream.media.createUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateUploadResponse;
 }
 
@@ -123,15 +125,16 @@ Path: `/xrpc/place.stream.media.createUpload`. The request payload type is `Crea
 pub struct CreateUploadRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateUploadRequest {
     const PATH: &'static str = "/xrpc/place.stream.media.createUpload";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateUpload;
     type Response = CreateUploadResponse;
 }
 
 pub mod create_upload_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -283,7 +286,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateUpload {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateUpload {
         CreateUpload {
             filename: self._fields.0,
             mime_type: self._fields.1.unwrap(),
@@ -291,4 +297,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/get_upload_status.rs b/crates/jacquard-api/src/place_stream/media/get_upload_status.rs
index a1d85a068..b57efc254 100644
--- a/crates/jacquard-api/src/place_stream/media/get_upload_status.rs
+++ b/crates/jacquard-api/src/place_stream/media/get_upload_status.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,25 +21,20 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::media::get_upload_status;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::media::get_upload_status;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUploadStatus {
     pub upload_id: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUploadStatusOutput {
     ///Duration of the processed video in milliseconds. Present when status is 'done'.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -113,7 +108,8 @@ impl Serialize for GetUploadStatusOutputStatus {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for GetUploadStatusOutputStatus {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for GetUploadStatusOutputStatus {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -138,7 +134,9 @@ where
     fn into_static(self) -> Self::Output {
         match self {
             GetUploadStatusOutputStatus::Pending => GetUploadStatusOutputStatus::Pending,
-            GetUploadStatusOutputStatus::Processing => GetUploadStatusOutputStatus::Processing,
+            GetUploadStatusOutputStatus::Processing => {
+                GetUploadStatusOutputStatus::Processing
+            }
             GetUploadStatusOutputStatus::Done => GetUploadStatusOutputStatus::Done,
             GetUploadStatusOutputStatus::Error => GetUploadStatusOutputStatus::Error,
             GetUploadStatusOutputStatus::Other(v) => {
@@ -148,9 +146,18 @@ where
     }
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetUploadStatusError {
     /// No upload exists with the given ID for the authenticated user.
@@ -158,10 +165,7 @@ pub enum GetUploadStatusError {
     NotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetUploadStatusError {
@@ -185,11 +189,9 @@ impl core::fmt::Display for GetUploadStatusError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TrackRef {
     pub cid: S,
     pub uri: AtUri,
@@ -242,7 +244,7 @@ impl LexiconSchema for TrackRef {
 
 pub mod get_upload_status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -273,7 +275,10 @@ pub mod get_upload_status_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetUploadStatusBuilder {
+pub struct GetUploadStatusBuilder<
+    St: get_upload_status_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -349,7 +354,7 @@ where
 
 pub mod track_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -440,7 +445,10 @@ where
     St::Cid: track_ref_state::IsUnset,
 {
     /// Set the `cid` field (required)
-    pub fn cid(mut self, value: impl Into) -> TrackRefBuilder, S> {
+    pub fn cid(
+        mut self,
+        value: impl Into,
+    ) -> TrackRefBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         TrackRefBuilder {
             _state: PhantomData,
@@ -494,10 +502,10 @@ where
 }
 
 fn lexicon_doc_place_stream_media_getUploadStatus() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.media.getUploadStatus"),
@@ -534,15 +542,15 @@ fn lexicon_doc_place_stream_media_getUploadStatus() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("trackRef"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -560,4 +568,4 @@ fn lexicon_doc_place_stream_media_getUploadStatus() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/get_video.rs b/crates/jacquard-api/src/place_stream/media/get_video.rs
index 59161114b..59e97bed2 100644
--- a/crates/jacquard-api/src/place_stream/media/get_video.rs
+++ b/crates/jacquard-api/src/place_stream/media/get_video.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,27 +21,22 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::actor::ProfileViewBasic;
-use crate::place_stream::media::get_video;
-use crate::place_stream::media::track::TrackView;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::actor::ProfileViewBasic;
+use crate::place_stream::media::track::TrackView;
+use crate::place_stream::media::get_video;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetVideo {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetVideoOutput {
     #[serde(flatten)]
     pub value: Data,
@@ -49,9 +44,18 @@ pub struct GetVideoOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetVideoError {
     /// No record indexed at the supplied AT-URI.
@@ -59,10 +63,7 @@ pub enum GetVideoError {
     VideoNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetVideoError {
@@ -86,11 +87,9 @@ impl core::fmt::Display for GetVideoError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct VideoView {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -109,10 +108,7 @@ pub struct VideoView {
 /// Sums across every place.stream.media.viewCount record indexed for this video, regardless of reporter or window. The underlying records are window-bounded; the consumer sees a running total.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewCountSummary {
     ///Sum of bytes transferred across every track row in every indexed report.
     pub bytes: i64,
@@ -236,7 +232,7 @@ impl LexiconSchema for ViewCountSummary {
 
 pub mod get_video_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -343,7 +339,7 @@ where
 
 pub mod video_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -655,7 +651,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> VideoView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> VideoView {
         VideoView {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -670,10 +669,10 @@ where
 }
 
 fn lexicon_doc_place_stream_media_getVideo() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.media.getVideo"),
@@ -682,46 +681,52 @@ fn lexicon_doc_place_stream_media_getVideo() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("uri")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("uri"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT-URI of the place.stream.video record.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("uri")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("uri"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "AT-URI of the place.stream.video record.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("videoView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("viewCounts"),
-                        SmolStr::new_static("likeCount"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record"),
+                            SmolStr::new_static("viewCounts"),
+                            SmolStr::new_static("likeCount")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -749,7 +754,9 @@ fn lexicon_doc_place_stream_media_getVideo() -> LexiconDoc<'static> {
                             SmolStr::new_static("tracks"),
                             LexObjectProperty::Array(LexArray {
                                 items: LexArrayItem::Ref(LexRef {
-                                    r#ref: CowStr::new_static("place.stream.media.track#trackView"),
+                                    r#ref: CowStr::new_static(
+                                        "place.stream.media.track#trackView",
+                                    ),
                                     ..Default::default()
                                 }),
                                 ..Default::default()
@@ -833,7 +840,7 @@ fn lexicon_doc_place_stream_media_getVideo() -> LexiconDoc<'static> {
 
 pub mod view_count_summary_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -906,7 +913,10 @@ pub mod view_count_summary_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ViewCountSummaryBuilder {
+pub struct ViewCountSummaryBuilder<
+    St: view_count_summary_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -914,7 +924,10 @@ pub struct ViewCountSummaryBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ViewCountSummaryBuilder {
+    pub fn new() -> ViewCountSummaryBuilder<
+        view_count_summary_state::Empty,
+        DefaultStr,
+    > {
         ViewCountSummaryBuilder::new()
     }
 }
@@ -1043,7 +1056,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewCountSummary {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewCountSummary {
         ViewCountSummary {
             bytes: self._fields.0.unwrap(),
             count: self._fields.1.unwrap(),
@@ -1052,4 +1068,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/get_video_list.rs b/crates/jacquard-api/src/place_stream/media/get_video_list.rs
index 2ff3258d7..23d4ffa4d 100644
--- a/crates/jacquard-api/src/place_stream/media/get_video_list.rs
+++ b/crates/jacquard-api/src/place_stream/media/get_video_list.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::media::get_video::VideoView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::media::get_video::VideoView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetVideoList {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetVideoList {
     pub repo: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetVideoListOutput {
     ///Pagination cursor for the next page, if any.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -47,9 +42,18 @@ pub struct GetVideoListOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetVideoListError {
     /// No repo indexed at the supplied DID.
@@ -57,10 +61,7 @@ pub enum GetVideoListError {
     RepoNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetVideoListError {
@@ -118,7 +119,7 @@ fn _default_limit() -> Option {
 
 pub mod get_video_list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -229,4 +230,4 @@ where
             repo: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/origin.rs b/crates/jacquard-api/src/place_stream/media/origin.rs
index 3da52c9ac..dee992f85 100644
--- a/crates/jacquard-api/src/place_stream/media/origin.rs
+++ b/crates/jacquard-api/src/place_stream/media/origin.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An attestation that a MUXL blob is available for download from the publishing node, retrievable via XRPC (com.atproto.repo.getBlob and similar). Published by the Streamplace node that hosts the blob, not by the user who owns the underlying video. The rkey is conventionally the blob's BDASL CID — atproto lexicon doesn't yet have a literal-rkey syntax so we settle for `key: any` and rely on the convention.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -108,7 +108,7 @@ impl LexiconSchema for Origin {
 
 pub mod origin_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -213,7 +213,10 @@ where
     St::Blob: origin_state::IsUnset,
 {
     /// Set the `blob` field (required)
-    pub fn blob(mut self, value: impl Into) -> OriginBuilder, S> {
+    pub fn blob(
+        mut self,
+        value: impl Into,
+    ) -> OriginBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         OriginBuilder {
             _state: PhantomData,
@@ -248,7 +251,10 @@ where
     St::Size: origin_state::IsUnset,
 {
     /// Set the `size` field (required)
-    pub fn size(mut self, value: impl Into) -> OriginBuilder, S> {
+    pub fn size(
+        mut self,
+        value: impl Into,
+    ) -> OriginBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         OriginBuilder {
             _state: PhantomData,
@@ -286,10 +292,10 @@ where
 }
 
 fn lexicon_doc_place_stream_media_origin() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.media.origin"),
@@ -353,4 +359,4 @@ fn lexicon_doc_place_stream_media_origin() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/publish_video.rs b/crates/jacquard-api/src/place_stream/media/publish_video.rs
index 6449a8951..4b445d0db 100644
--- a/crates/jacquard-api/src/place_stream/media/publish_video.rs
+++ b/crates/jacquard-api/src/place_stream/media/publish_video.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::video::Video;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::video::Video;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PublishVideo {
     ///A place.stream.video record. The server overrides `source` and `durationMs` from the processed upload, and fills in `thumb` with a generated thumbnail when the supplied record has none.
     pub record: Video,
@@ -32,11 +29,9 @@ pub struct PublishVideo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PublishVideoOutput {
     ///CID of the created place.stream.video record.
     pub cid: Cid,
@@ -46,9 +41,18 @@ pub struct PublishVideoOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum PublishVideoError {
     /// No upload with the given ID belongs to the authenticated user.
@@ -59,10 +63,7 @@ pub enum PublishVideoError {
     UploadNotReady(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for PublishVideoError {
@@ -106,8 +107,9 @@ impl jacquard_common::xrpc::XrpcResp for PublishVideoResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PublishVideo {
     const NSID: &'static str = "place.stream.media.publishVideo";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PublishVideoResponse;
 }
 
@@ -117,15 +119,16 @@ Path: `/xrpc/place.stream.media.publishVideo`. The request payload type is `Publ
 pub struct PublishVideoRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PublishVideoRequest {
     const PATH: &'static str = "/xrpc/place.stream.media.publishVideo";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PublishVideo;
     type Response = PublishVideoResponse;
 }
 
 pub mod publish_video_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -263,11 +266,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PublishVideo {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PublishVideo {
         PublishVideo {
             record: self._fields.0.unwrap(),
             upload_id: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/track.rs b/crates/jacquard-api/src/place_stream/media/track.rs
index 4e0f95f84..be3fb0380 100644
--- a/crates/jacquard-api/src/place_stream/media/track.rs
+++ b/crates/jacquard-api/src/place_stream/media/track.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::actor::ProfileViewBasic;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::place_stream::media::MuxlTrack;
-use crate::place_stream::media::track;
 use crate::place_stream::segment::Audio;
 use crate::place_stream::segment::Video;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::place_stream::media::track;
 /// Metadata common to all media types. Contains subobjects for other media types.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CommonMetadata {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub audio: Option>,
@@ -89,11 +86,9 @@ pub struct TrackGetRecordOutput {
     pub value: Track,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TrackView {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -182,10 +177,10 @@ impl LexiconSchema for TrackView {
 }
 
 fn lexicon_doc_place_stream_media_track() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.media.track"),
@@ -300,19 +295,21 @@ fn lexicon_doc_place_stream_media_track() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("trackView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -349,7 +346,7 @@ fn lexicon_doc_place_stream_media_track() -> LexiconDoc<'static> {
 
 pub mod track_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -429,7 +426,10 @@ impl TrackBuilder {
 
 impl TrackBuilder {
     /// Set the `metadata` field (optional)
-    pub fn metadata(mut self, value: impl Into>>) -> Self {
+    pub fn metadata(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
@@ -514,7 +514,7 @@ where
 
 pub mod track_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -729,7 +729,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TrackView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TrackView {
         TrackView {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -738,4 +741,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/media/view_count.rs b/crates/jacquard-api/src/place_stream/media/view_count.rs
index 7142c2402..0187a49f3 100644
--- a/crates/jacquard-api/src/place_stream/media/view_count.rs
+++ b/crates/jacquard-api/src/place_stream/media/view_count.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::place_stream::media::view_count;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::place_stream::media::view_count;
 /// A streamplace node's report of view counts for one place.stream.video over a closed time window. Published in the reporting node's server repo (not the streamer's), so a video served by multiple nodes accumulates multiple records — consumers are expected to sum across trusted reporters. The rkey is conventionally `-` so re-running the aggregator over the same window is idempotent. Counts represent the reporting node's best effort given the data it has; the `tracks` array carries the objective byte / duration totals it observed.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -70,10 +70,7 @@ pub struct ViewCountGetRecordOutput {
 /// One row of the tracks array: bytes + duration transferred for a single place.stream.media.track record over the window.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TrackUsage {
     ///Total bytes served from this track over the window. Sum across attributed segment_requests' Range intersections with the track's segment offsets in the metafile.
     pub bytes: i64,
@@ -180,7 +177,7 @@ impl LexiconSchema for TrackUsage {
 
 pub mod view_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -360,12 +357,18 @@ where
 
 impl ViewCountBuilder {
     /// Set the `tracks` field (optional)
-    pub fn tracks(mut self, value: impl Into>>>) -> Self {
+    pub fn tracks(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
     /// Set the `tracks` field to an Option value (optional)
-    pub fn maybe_tracks(mut self, value: Option>>) -> Self {
+    pub fn maybe_tracks(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -450,7 +453,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewCount {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewCount {
         ViewCount {
             count: self._fields.0.unwrap(),
             indexed_at: self._fields.1.unwrap(),
@@ -464,10 +470,10 @@ where
 }
 
 fn lexicon_doc_place_stream_media_viewCount() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.media.viewCount"),
@@ -622,7 +628,7 @@ fn lexicon_doc_place_stream_media_viewCount() -> LexiconDoc<'static> {
 
 pub mod track_usage_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -795,7 +801,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TrackUsage {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TrackUsage {
         TrackUsage {
             bytes: self._fields.0.unwrap(),
             duration_ms: self._fields.1.unwrap(),
@@ -803,4 +812,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/metadata.rs b/crates/jacquard-api/src/place_stream/metadata.rs
index b4cf537c6..60a560538 100644
--- a/crates/jacquard-api/src/place_stream/metadata.rs
+++ b/crates/jacquard-api/src/place_stream/metadata.rs
@@ -7,4 +7,4 @@
 pub mod configuration;
 pub mod content_rights;
 pub mod content_warnings;
-pub mod distribution_policy;
+pub mod distribution_policy;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/metadata/configuration.rs b/crates/jacquard-api/src/place_stream/metadata/configuration.rs
index f8e89ae5c..b1783313e 100644
--- a/crates/jacquard-api/src/place_stream/metadata/configuration.rs
+++ b/crates/jacquard-api/src/place_stream/metadata/configuration.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::place_stream::metadata::content_rights::ContentRights;
 use crate::place_stream::metadata::content_warnings::ContentWarnings;
 use crate::place_stream::metadata::distribution_policy::DistributionPolicy;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Default metadata record for livestream including content warnings, rights, and distribution policy
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for Configuration {
 
 pub mod configuration_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -190,7 +190,10 @@ impl ConfigurationBuilder {
 
 impl ConfigurationBuilder {
     /// Set the `contentWarnings` field (optional)
-    pub fn content_warnings(mut self, value: impl Into>>) -> Self {
+    pub fn content_warnings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -203,12 +206,18 @@ impl ConfigurationBuilder {
 
 impl ConfigurationBuilder {
     /// Set the `distributionPolicy` field (optional)
-    pub fn distribution_policy(mut self, value: impl Into>>) -> Self {
+    pub fn distribution_policy(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
     /// Set the `distributionPolicy` field to an Option value (optional)
-    pub fn maybe_distribution_policy(mut self, value: Option>) -> Self {
+    pub fn maybe_distribution_policy(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -228,7 +237,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Configuration {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Configuration {
         Configuration {
             content_rights: self._fields.0,
             content_warnings: self._fields.1,
@@ -239,10 +251,10 @@ where
 }
 
 fn lexicon_doc_place_stream_metadata_configuration() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.metadata.configuration"),
@@ -299,4 +311,4 @@ fn lexicon_doc_place_stream_metadata_configuration() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/metadata/content_rights.rs b/crates/jacquard-api/src/place_stream/metadata/content_rights.rs
index caa20e4ff..8a5efee05 100644
--- a/crates/jacquard-api/src/place_stream/metadata/content_rights.rs
+++ b/crates/jacquard-api/src/place_stream/metadata/content_rights.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,7 +19,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// All rights reserved to the creator — others cannot use, modify, or share without explicit authorization.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -103,10 +103,7 @@ impl core::fmt::Display for Cc010 {
 /// Content rights and attribution information.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContentRights {
     ///Copyright notice for the work.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -145,7 +142,9 @@ pub enum ContentRightsLicense {
 impl ContentRightsLicense {
     pub fn as_str(&self) -> &str {
         match self {
-            Self::AllRightsReserved => "place.stream.metadata.contentRights#all-rights-reserved",
+            Self::AllRightsReserved => {
+                "place.stream.metadata.contentRights#all-rights-reserved"
+            }
             Self::Cc010 => "place.stream.metadata.contentRights#cc0_1__0",
             Self::CcBy40 => "place.stream.metadata.contentRights#cc-by_4__0",
             Self::CcBySa40 => "place.stream.metadata.contentRights#cc-by-sa_4__0",
@@ -159,7 +158,9 @@ impl ContentRightsLicense {
     /// Construct from a string-like value, matching known values.
     pub fn from_value(s: S) -> Self {
         match s.as_ref() {
-            "place.stream.metadata.contentRights#all-rights-reserved" => Self::AllRightsReserved,
+            "place.stream.metadata.contentRights#all-rights-reserved" => {
+                Self::AllRightsReserved
+            }
             "place.stream.metadata.contentRights#cc0_1__0" => Self::Cc010,
             "place.stream.metadata.contentRights#cc-by_4__0" => Self::CcBy40,
             "place.stream.metadata.contentRights#cc-by-sa_4__0" => Self::CcBySa40,
@@ -217,7 +218,9 @@ where
     type Output = ContentRightsLicense;
     fn into_static(self) -> Self::Output {
         match self {
-            ContentRightsLicense::AllRightsReserved => ContentRightsLicense::AllRightsReserved,
+            ContentRightsLicense::AllRightsReserved => {
+                ContentRightsLicense::AllRightsReserved
+            }
             ContentRightsLicense::Cc010 => ContentRightsLicense::Cc010,
             ContentRightsLicense::CcBy40 => ContentRightsLicense::CcBy40,
             ContentRightsLicense::CcBySa40 => ContentRightsLicense::CcBySa40,
@@ -225,7 +228,9 @@ where
             ContentRightsLicense::CcByNcSa40 => ContentRightsLicense::CcByNcSa40,
             ContentRightsLicense::CcByNd40 => ContentRightsLicense::CcByNd40,
             ContentRightsLicense::CcByNcNd40 => ContentRightsLicense::CcByNcNd40,
-            ContentRightsLicense::Other(v) => ContentRightsLicense::Other(v.into_static()),
+            ContentRightsLicense::Other(v) => {
+                ContentRightsLicense::Other(v.into_static())
+            }
         }
     }
 }
@@ -246,10 +251,10 @@ impl LexiconSchema for ContentRights {
 }
 
 fn lexicon_doc_place_stream_metadata_contentRights() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.metadata.contentRights"),
@@ -257,67 +262,51 @@ fn lexicon_doc_place_stream_metadata_contentRights() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("all-rights-reserved"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("cc-by-nc-nd_4__0"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("cc-by-nc-sa_4__0"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("cc-by-nc_4__0"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("cc-by-nd_4__0"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("cc-by-sa_4__0"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("cc-by_4__0"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("cc0_1__0"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Content rights and attribution information.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Content rights and attribution information."),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("copyrightNotice"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Copyright notice for the work.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Copyright notice for the work."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -330,23 +319,27 @@ fn lexicon_doc_place_stream_metadata_contentRights() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("creator"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Name of the creator of the work.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Name of the creator of the work."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("creditLine"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Credit line for the work.")),
+                                description: Some(
+                                    CowStr::new_static("Credit line for the work."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("license"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("License URL or identifier.")),
+                                description: Some(
+                                    CowStr::new_static("License URL or identifier."),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -359,4 +352,4 @@ fn lexicon_doc_place_stream_metadata_contentRights() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/metadata/content_warnings.rs b/crates/jacquard-api/src/place_stream/metadata/content_warnings.rs
index f46aa4e7d..561bb32e7 100644
--- a/crates/jacquard-api/src/place_stream/metadata/content_warnings.rs
+++ b/crates/jacquard-api/src/place_stream/metadata/content_warnings.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,7 +19,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// The content contains information that can be used to identify a particular individual, such as a name, phone number, email address, physical address, or IP address.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -83,10 +83,7 @@ impl core::fmt::Display for Language {
 /// Content warnings for a stream.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContentWarnings {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub warnings: Option>,
@@ -150,10 +147,10 @@ impl LexiconSchema for ContentWarnings {
 }
 
 fn lexicon_doc_place_stream_metadata_contentWarnings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.metadata.contentWarnings"),
@@ -161,44 +158,34 @@ fn lexicon_doc_place_stream_metadata_contentWarnings() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("PII"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("death"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("drugUse"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("fantasyViolence"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("flashingLights"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("language"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Content warnings for a stream.")),
+                    description: Some(
+                        CowStr::new_static("Content warnings for a stream."),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -218,30 +205,22 @@ fn lexicon_doc_place_stream_metadata_contentWarnings() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("nudity"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("sexuality"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("suffering"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("violence"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/metadata/distribution_policy.rs b/crates/jacquard-api/src/place_stream/metadata/distribution_policy.rs
index 18a02f2d1..07dda5068 100644
--- a/crates/jacquard-api/src/place_stream/metadata/distribution_policy.rs
+++ b/crates/jacquard-api/src/place_stream/metadata/distribution_policy.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Distribution and rebroadcast policy.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DistributionPolicy {
     ///List of did:webs of the broadcasters you want to allow to distribute your content. "*" allows anyone. Starting a line with a "!" bans that broadcaster.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -54,10 +51,10 @@ impl LexiconSchema for DistributionPolicy {
 }
 
 fn lexicon_doc_place_stream_metadata_distributionPolicy() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.metadata.distributionPolicy"),
@@ -101,4 +98,4 @@ fn lexicon_doc_place_stream_metadata_distributionPolicy() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation.rs b/crates/jacquard-api/src/place_stream/moderation.rs
index 081b7c475..0178a3dc4 100644
--- a/crates/jacquard-api/src/place_stream/moderation.rs
+++ b/crates/jacquard-api/src/place_stream/moderation.rs
@@ -17,6 +17,7 @@ pub mod delete_vod_gate;
 pub mod permission;
 pub mod update_livestream;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -33,16 +34,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::actor::ProfileViewBasic;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PermissionView {
     ///The streamer who granted these permissions
     pub author: ProfileViewBasic,
@@ -73,7 +71,7 @@ impl LexiconSchema for PermissionView {
 
 pub mod permission_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -146,7 +144,10 @@ pub mod permission_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PermissionViewBuilder {
+pub struct PermissionViewBuilder<
+    St: permission_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -288,7 +289,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PermissionView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PermissionView {
         PermissionView {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -300,10 +304,10 @@ where
 }
 
 fn lexicon_doc_place_stream_moderation_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.moderation.defs"),
@@ -312,28 +316,32 @@ fn lexicon_doc_place_stream_moderation_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("permissionView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content identifier of the permission record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Content identifier of the permission record",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -347,9 +355,9 @@ fn lexicon_doc_place_stream_moderation_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT-URI of the permission record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("AT-URI of the permission record"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -363,4 +371,4 @@ fn lexicon_doc_place_stream_moderation_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/create_block.rs b/crates/jacquard-api/src/place_stream/moderation/create_block.rs
index 1bff52208..341130d88 100644
--- a/crates/jacquard-api/src/place_stream/moderation/create_block.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/create_block.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateBlock {
     ///Optional reason for the block.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -34,11 +31,9 @@ pub struct CreateBlock {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateBlockOutput {
     ///The CID of the created block record.
     pub cid: Cid,
@@ -48,9 +43,18 @@ pub struct CreateBlockOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreateBlockError {
     /// The request lacks valid authentication credentials.
@@ -64,10 +68,7 @@ pub enum CreateBlockError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreateBlockError {
@@ -118,8 +119,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateBlockResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateBlock {
     const NSID: &'static str = "place.stream.moderation.createBlock";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateBlockResponse;
 }
 
@@ -129,15 +131,16 @@ Path: `/xrpc/place.stream.moderation.createBlock`. The request payload type is `
 pub struct CreateBlockRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateBlockRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.createBlock";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateBlock;
     type Response = CreateBlockResponse;
 }
 
 pub mod create_block_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -289,7 +292,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateBlock {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateBlock {
         CreateBlock {
             reason: self._fields.0,
             streamer: self._fields.1.unwrap(),
@@ -297,4 +303,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/create_gate.rs b/crates/jacquard-api/src/place_stream/moderation/create_gate.rs
index 3009e9d4e..53786ddd0 100644
--- a/crates/jacquard-api/src/place_stream/moderation/create_gate.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/create_gate.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateGate {
     ///The AT-URI of the chat message to hide.
     pub message_uri: AtUri,
@@ -31,11 +28,9 @@ pub struct CreateGate {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateGateOutput {
     ///The CID of the created gate record.
     pub cid: Cid,
@@ -45,9 +40,18 @@ pub struct CreateGateOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreateGateError {
     /// The request lacks valid authentication credentials.
@@ -61,10 +65,7 @@ pub enum CreateGateError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreateGateError {
@@ -115,8 +116,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateGateResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateGate {
     const NSID: &'static str = "place.stream.moderation.createGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateGateResponse;
 }
 
@@ -126,15 +128,16 @@ Path: `/xrpc/place.stream.moderation.createGate`. The request payload type is `C
 pub struct CreateGateRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateGateRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.createGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateGate;
     type Response = CreateGateResponse;
 }
 
 pub mod create_gate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -272,11 +275,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateGate {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateGate {
         CreateGate {
             message_uri: self._fields.0.unwrap(),
             streamer: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/create_pin.rs b/crates/jacquard-api/src/place_stream/moderation/create_pin.rs
index 62b69b682..5a88ceba6 100644
--- a/crates/jacquard-api/src/place_stream/moderation/create_pin.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/create_pin.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreatePin {
     ///Optional expiration time for this pin.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -34,11 +31,9 @@ pub struct CreatePin {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreatePinOutput {
     ///The CID of the created pinned record.
     pub cid: Cid,
@@ -48,9 +43,18 @@ pub struct CreatePinOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreatePinError {
     /// The request lacks valid authentication credentials.
@@ -64,10 +68,7 @@ pub enum CreatePinError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreatePinError {
@@ -118,8 +119,9 @@ impl jacquard_common::xrpc::XrpcResp for CreatePinResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreatePin {
     const NSID: &'static str = "place.stream.moderation.createPin";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreatePinResponse;
 }
 
@@ -129,15 +131,16 @@ Path: `/xrpc/place.stream.moderation.createPin`. The request payload type is `Cr
 pub struct CreatePinRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreatePinRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.createPin";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreatePin;
     type Response = CreatePinResponse;
 }
 
 pub mod create_pin_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -289,7 +292,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreatePin {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreatePin {
         CreatePin {
             expires_at: self._fields.0,
             message_uri: self._fields.1.unwrap(),
@@ -297,4 +303,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/create_vod_gate.rs b/crates/jacquard-api/src/place_stream/moderation/create_vod_gate.rs
index b5f75d613..4dd13f7af 100644
--- a/crates/jacquard-api/src/place_stream/moderation/create_vod_gate.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/create_vod_gate.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateVodGate {
     ///The AT-URI of the VOD comment to hide.
     pub comment_uri: AtUri,
@@ -31,11 +28,9 @@ pub struct CreateVodGate {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateVodGateOutput {
     ///The CID of the created gate record.
     pub cid: Cid,
@@ -45,9 +40,18 @@ pub struct CreateVodGateOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreateVodGateError {
     /// The request lacks valid authentication credentials.
@@ -61,10 +65,7 @@ pub enum CreateVodGateError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreateVodGateError {
@@ -115,8 +116,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateVodGateResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateVodGate {
     const NSID: &'static str = "place.stream.moderation.createVodGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateVodGateResponse;
 }
 
@@ -126,15 +128,16 @@ Path: `/xrpc/place.stream.moderation.createVodGate`. The request payload type is
 pub struct CreateVodGateRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateVodGateRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.createVodGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateVodGate;
     type Response = CreateVodGateResponse;
 }
 
 pub mod create_vod_gate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -177,7 +180,10 @@ pub mod create_vod_gate_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CreateVodGateBuilder {
+pub struct CreateVodGateBuilder<
+    St: create_vod_gate_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -272,11 +278,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateVodGate {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateVodGate {
         CreateVodGate {
             comment_uri: self._fields.0.unwrap(),
             streamer: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/delete_block.rs b/crates/jacquard-api/src/place_stream/moderation/delete_block.rs
index 407059d5d..d94b20f34 100644
--- a/crates/jacquard-api/src/place_stream/moderation/delete_block.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/delete_block.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteBlock {
     ///The AT-URI of the block record to delete.
     pub block_uri: AtUri,
@@ -31,19 +28,26 @@ pub struct DeleteBlock {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteBlockOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteBlockError {
     /// The request lacks valid authentication credentials.
@@ -57,10 +61,7 @@ pub enum DeleteBlockError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteBlockError {
@@ -111,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteBlockResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteBlock {
     const NSID: &'static str = "place.stream.moderation.deleteBlock";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteBlockResponse;
 }
 
@@ -122,15 +124,16 @@ Path: `/xrpc/place.stream.moderation.deleteBlock`. The request payload type is `
 pub struct DeleteBlockRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteBlockRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.deleteBlock";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteBlock;
     type Response = DeleteBlockResponse;
 }
 
 pub mod delete_block_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -268,11 +271,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteBlock {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteBlock {
         DeleteBlock {
             block_uri: self._fields.0.unwrap(),
             streamer: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/delete_gate.rs b/crates/jacquard-api/src/place_stream/moderation/delete_gate.rs
index d22055407..fb0317926 100644
--- a/crates/jacquard-api/src/place_stream/moderation/delete_gate.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/delete_gate.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteGate {
     ///The AT-URI of the gate record to delete.
     pub gate_uri: AtUri,
@@ -31,19 +28,26 @@ pub struct DeleteGate {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteGateOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteGateError {
     /// The request lacks valid authentication credentials.
@@ -57,10 +61,7 @@ pub enum DeleteGateError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteGateError {
@@ -111,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteGateResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteGate {
     const NSID: &'static str = "place.stream.moderation.deleteGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteGateResponse;
 }
 
@@ -122,15 +124,16 @@ Path: `/xrpc/place.stream.moderation.deleteGate`. The request payload type is `D
 pub struct DeleteGateRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteGateRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.deleteGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteGate;
     type Response = DeleteGateResponse;
 }
 
 pub mod delete_gate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -268,11 +271,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteGate {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteGate {
         DeleteGate {
             gate_uri: self._fields.0.unwrap(),
             streamer: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/delete_pin.rs b/crates/jacquard-api/src/place_stream/moderation/delete_pin.rs
index 98c9af6a4..677d3df50 100644
--- a/crates/jacquard-api/src/place_stream/moderation/delete_pin.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/delete_pin.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeletePin {
     ///The AT-URI of the pinned record to delete.
     pub pin_uri: AtUri,
@@ -31,19 +28,26 @@ pub struct DeletePin {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeletePinOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeletePinError {
     /// The request lacks valid authentication credentials.
@@ -57,10 +61,7 @@ pub enum DeletePinError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeletePinError {
@@ -111,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for DeletePinResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeletePin {
     const NSID: &'static str = "place.stream.moderation.deletePin";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeletePinResponse;
 }
 
@@ -122,15 +124,16 @@ Path: `/xrpc/place.stream.moderation.deletePin`. The request payload type is `De
 pub struct DeletePinRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeletePinRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.deletePin";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeletePin;
     type Response = DeletePinResponse;
 }
 
 pub mod delete_pin_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -268,11 +271,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeletePin {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeletePin {
         DeletePin {
             pin_uri: self._fields.0.unwrap(),
             streamer: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/delete_vod_gate.rs b/crates/jacquard-api/src/place_stream/moderation/delete_vod_gate.rs
index e3627ebed..53d002ad7 100644
--- a/crates/jacquard-api/src/place_stream/moderation/delete_vod_gate.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/delete_vod_gate.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteVodGate {
     ///The AT-URI of the gate record to delete.
     pub gate_uri: AtUri,
@@ -31,19 +28,26 @@ pub struct DeleteVodGate {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteVodGateOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteVodGateError {
     /// The request lacks valid authentication credentials.
@@ -57,10 +61,7 @@ pub enum DeleteVodGateError {
     SessionNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteVodGateError {
@@ -111,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteVodGateResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteVodGate {
     const NSID: &'static str = "place.stream.moderation.deleteVodGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteVodGateResponse;
 }
 
@@ -122,15 +124,16 @@ Path: `/xrpc/place.stream.moderation.deleteVodGate`. The request payload type is
 pub struct DeleteVodGateRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteVodGateRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.deleteVodGate";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteVodGate;
     type Response = DeleteVodGateResponse;
 }
 
 pub mod delete_vod_gate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -173,7 +176,10 @@ pub mod delete_vod_gate_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct DeleteVodGateBuilder {
+pub struct DeleteVodGateBuilder<
+    St: delete_vod_gate_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -268,11 +274,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteVodGate {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteVodGate {
         DeleteVodGate {
             gate_uri: self._fields.0.unwrap(),
             streamer: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/permission.rs b/crates/jacquard-api/src/place_stream/moderation/permission.rs
index 52bb2410b..293929509 100644
--- a/crates/jacquard-api/src/place_stream/moderation/permission.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/permission.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record granting moderation permissions to a user for this streamer's content.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for Permission {
 
 pub mod permission_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,12 +170,7 @@ pub mod permission_state {
 /// Builder for constructing an instance of this type.
 pub struct PermissionBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -303,7 +298,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Permission {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Permission {
         Permission {
             created_at: self._fields.0.unwrap(),
             expiration_time: self._fields.1,
@@ -315,10 +313,10 @@ where
 }
 
 fn lexicon_doc_place_stream_moderation_permission() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.moderation.permission"),
@@ -405,4 +403,4 @@ fn lexicon_doc_place_stream_moderation_permission() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/moderation/update_livestream.rs b/crates/jacquard-api/src/place_stream/moderation/update_livestream.rs
index 70828d5c4..6d05046a3 100644
--- a/crates/jacquard-api/src/place_stream/moderation/update_livestream.rs
+++ b/crates/jacquard-api/src/place_stream/moderation/update_livestream.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateLivestream {
     ///The AT-URI of the livestream record to update.
     pub livestream_uri: AtUri,
@@ -34,11 +31,9 @@ pub struct UpdateLivestream {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateLivestreamOutput {
     ///The CID of the updated livestream record.
     pub cid: Cid,
@@ -48,9 +43,18 @@ pub struct UpdateLivestreamOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum UpdateLivestreamError {
     /// The request lacks valid authentication credentials.
@@ -67,10 +71,7 @@ pub enum UpdateLivestreamError {
     RecordNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for UpdateLivestreamError {
@@ -128,8 +129,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateLivestreamResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpdateLivestream {
     const NSID: &'static str = "place.stream.moderation.updateLivestream";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpdateLivestreamResponse;
 }
 
@@ -139,15 +141,16 @@ Path: `/xrpc/place.stream.moderation.updateLivestream`. The request payload type
 pub struct UpdateLivestreamRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpdateLivestreamRequest {
     const PATH: &'static str = "/xrpc/place.stream.moderation.updateLivestream";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpdateLivestream;
     type Response = UpdateLivestreamResponse;
 }
 
 pub mod update_livestream_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -190,7 +193,10 @@ pub mod update_livestream_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct UpdateLivestreamBuilder {
+pub struct UpdateLivestreamBuilder<
+    St: update_livestream_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>, Option),
     _type: PhantomData S>,
@@ -299,7 +305,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateLivestream {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UpdateLivestream {
         UpdateLivestream {
             livestream_uri: self._fields.0.unwrap(),
             streamer: self._fields.1.unwrap(),
@@ -307,4 +316,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/multistream.rs b/crates/jacquard-api/src/place_stream/multistream.rs
index 3a4fd006c..27dbd57f0 100644
--- a/crates/jacquard-api/src/place_stream/multistream.rs
+++ b/crates/jacquard-api/src/place_stream/multistream.rs
@@ -12,12 +12,13 @@ pub mod list_targets;
 pub mod put_target;
 pub mod target;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -28,16 +29,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::multistream;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::multistream;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Event {
     pub created_at: Datetime,
     pub message: S,
@@ -46,11 +44,9 @@ pub struct Event {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TargetView {
     pub cid: Cid,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -93,7 +89,7 @@ impl LexiconSchema for TargetView {
 
 pub mod event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,7 +213,10 @@ where
     St::Message: event_state::IsUnset,
 {
     /// Set the `message` field (required)
-    pub fn message(mut self, value: impl Into) -> EventBuilder, S> {
+    pub fn message(
+        mut self,
+        value: impl Into,
+    ) -> EventBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         EventBuilder {
             _state: PhantomData,
@@ -233,7 +232,10 @@ where
     St::Status: event_state::IsUnset,
 {
     /// Set the `status` field (required)
-    pub fn status(mut self, value: impl Into) -> EventBuilder, S> {
+    pub fn status(
+        mut self,
+        value: impl Into,
+    ) -> EventBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         EventBuilder {
             _state: PhantomData,
@@ -271,10 +273,10 @@ where
 }
 
 fn lexicon_doc_place_stream_multistream_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.multistream.defs"),
@@ -283,11 +285,13 @@ fn lexicon_doc_place_stream_multistream_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("event"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("message"),
-                        SmolStr::new_static("status"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("message"),
+                            SmolStr::new_static("status"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -300,15 +304,11 @@ fn lexicon_doc_place_stream_multistream_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("message"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -318,11 +318,12 @@ fn lexicon_doc_place_stream_multistream_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("targetView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("record"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("record")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -336,7 +337,9 @@ fn lexicon_doc_place_stream_multistream_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("latestEvent"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("place.stream.multistream.defs#event"),
+                                r#ref: CowStr::new_static(
+                                    "place.stream.multistream.defs#event",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -366,7 +369,7 @@ fn lexicon_doc_place_stream_multistream_defs() -> LexiconDoc<'static> {
 
 pub mod target_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -491,7 +494,10 @@ where
 
 impl TargetViewBuilder {
     /// Set the `latestEvent` field (optional)
-    pub fn latest_event(mut self, value: impl Into>>) -> Self {
+    pub fn latest_event(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -558,7 +564,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TargetView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TargetView {
         TargetView {
             cid: self._fields.0.unwrap(),
             latest_event: self._fields.1,
@@ -567,4 +576,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/multistream/create_target.rs b/crates/jacquard-api/src/place_stream/multistream/create_target.rs
index f81e093a3..70c06ddf9 100644
--- a/crates/jacquard-api/src/place_stream/multistream/create_target.rs
+++ b/crates/jacquard-api/src/place_stream/multistream/create_target.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::multistream::TargetView;
-use crate::place_stream::multistream::target::Target;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::multistream::TargetView;
+use crate::place_stream::multistream::target::Target;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateTarget {
     pub multistream_target: Target,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateTargetOutput {
     #[serde(flatten)]
     pub value: TargetView,
@@ -41,9 +36,18 @@ pub struct CreateTargetOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreateTargetError {
     /// The provided target URL is invalid or unreachable.
@@ -51,10 +55,7 @@ pub enum CreateTargetError {
     InvalidTargetUrl(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreateTargetError {
@@ -91,8 +92,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateTargetResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateTarget {
     const NSID: &'static str = "place.stream.multistream.createTarget";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateTargetResponse;
 }
 
@@ -102,15 +104,16 @@ Path: `/xrpc/place.stream.multistream.createTarget`. The request payload type is
 pub struct CreateTargetRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateTargetRequest {
     const PATH: &'static str = "/xrpc/place.stream.multistream.createTarget";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateTarget;
     type Response = CreateTargetResponse;
 }
 
 pub mod create_target_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,10 +218,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateTarget {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateTarget {
         CreateTarget {
             multistream_target: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/multistream/delete_target.rs b/crates/jacquard-api/src/place_stream/multistream/delete_target.rs
index 6f08dd3e3..a37d5845a 100644
--- a/crates/jacquard-api/src/place_stream/multistream/delete_target.rs
+++ b/crates/jacquard-api/src/place_stream/multistream/delete_target.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{RecordKey, Rkey};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteTarget {
     ///The Record Key of the target to delete.
     pub rkey: RecordKey>,
@@ -29,27 +26,31 @@ pub struct DeleteTarget {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteTargetOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteTargetError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteTargetError {
@@ -79,8 +80,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteTargetResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteTarget {
     const NSID: &'static str = "place.stream.multistream.deleteTarget";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteTargetResponse;
 }
 
@@ -90,15 +92,16 @@ Path: `/xrpc/place.stream.multistream.deleteTarget`. The request payload type is
 pub struct DeleteTargetRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteTargetRequest {
     const PATH: &'static str = "/xrpc/place.stream.multistream.deleteTarget";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteTarget;
     type Response = DeleteTargetResponse;
 }
 
 pub mod delete_target_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -203,10 +206,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteTarget {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteTarget {
         DeleteTarget {
             rkey: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/multistream/list_targets.rs b/crates/jacquard-api/src/place_stream/multistream/list_targets.rs
index c770110e9..5e0f034b7 100644
--- a/crates/jacquard-api/src/place_stream/multistream/list_targets.rs
+++ b/crates/jacquard-api/src/place_stream/multistream/list_targets.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::multistream::TargetView;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::multistream::TargetView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListTargets {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -40,11 +37,9 @@ pub struct ListTargets {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListTargetsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -53,11 +48,9 @@ pub struct ListTargetsOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Record {
     pub cid: Cid,
     pub uri: AtUri,
@@ -115,7 +108,7 @@ fn _default_limit() -> Option {
 
 pub mod list_targets_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -216,7 +209,7 @@ where
 
 pub mod record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -321,7 +314,10 @@ where
     St::Cid: record_state::IsUnset,
 {
     /// Set the `cid` field (required)
-    pub fn cid(mut self, value: impl Into>) -> RecordBuilder, S> {
+    pub fn cid(
+        mut self,
+        value: impl Into>,
+    ) -> RecordBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         RecordBuilder {
             _state: PhantomData,
@@ -337,7 +333,10 @@ where
     St::Uri: record_state::IsUnset,
 {
     /// Set the `uri` field (required)
-    pub fn uri(mut self, value: impl Into>) -> RecordBuilder, S> {
+    pub fn uri(
+        mut self,
+        value: impl Into>,
+    ) -> RecordBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         RecordBuilder {
             _state: PhantomData,
@@ -394,10 +393,10 @@ where
 }
 
 fn lexicon_doc_place_stream_multistream_listTargets() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.multistream.listTargets"),
@@ -406,38 +405,41 @@ fn lexicon_doc_place_stream_multistream_listTargets() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("record"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("value")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -470,4 +472,4 @@ fn lexicon_doc_place_stream_multistream_listTargets() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/multistream/put_target.rs b/crates/jacquard-api/src/place_stream/multistream/put_target.rs
index b48ec1e85..e920583ae 100644
--- a/crates/jacquard-api/src/place_stream/multistream/put_target.rs
+++ b/crates/jacquard-api/src/place_stream/multistream/put_target.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::multistream::TargetView;
-use crate::place_stream::multistream::target::Target;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{RecordKey, Rkey};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::multistream::TargetView;
+use crate::place_stream::multistream::target::Target;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutTarget {
     pub multistream_target: Target,
     ///The Record Key.
@@ -33,11 +30,9 @@ pub struct PutTarget {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutTargetOutput {
     #[serde(flatten)]
     pub value: TargetView,
@@ -45,9 +40,18 @@ pub struct PutTargetOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum PutTargetError {
     /// The provided target URL is invalid or unreachable.
@@ -55,10 +59,7 @@ pub enum PutTargetError {
     InvalidTargetUrl(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for PutTargetError {
@@ -95,8 +96,9 @@ impl jacquard_common::xrpc::XrpcResp for PutTargetResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutTarget {
     const NSID: &'static str = "place.stream.multistream.putTarget";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutTargetResponse;
 }
 
@@ -106,15 +108,16 @@ Path: `/xrpc/place.stream.multistream.putTarget`. The request payload type is `P
 pub struct PutTargetRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutTargetRequest {
     const PATH: &'static str = "/xrpc/place.stream.multistream.putTarget";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutTarget;
     type Response = PutTargetResponse;
 }
 
 pub mod put_target_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -233,11 +236,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PutTarget {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PutTarget {
         PutTarget {
             multistream_target: self._fields.0.unwrap(),
             rkey: self._fields.1,
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/multistream/target.rs b/crates/jacquard-api/src/place_stream/multistream/target.rs
index bb496e0f6..42a635d66 100644
--- a/crates/jacquard-api/src/place_stream/multistream/target.rs
+++ b/crates/jacquard-api/src/place_stream/multistream/target.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An external server for rebroadcasting a Streamplace stream
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -121,7 +121,7 @@ impl LexiconSchema for Target {
 
 pub mod target_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -180,12 +180,7 @@ pub mod target_state {
 /// Builder for constructing an instance of this type.
 pub struct TargetBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -325,10 +320,10 @@ where
 }
 
 fn lexicon_doc_place_stream_multistream_target() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.multistream.target"),
@@ -337,16 +332,19 @@ fn lexicon_doc_place_stream_multistream_target() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An external server for rebroadcasting a Streamplace stream",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "An external server for rebroadcasting a Streamplace stream",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("url"),
-                            SmolStr::new_static("active"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("url"), SmolStr::new_static("active"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -359,9 +357,9 @@ fn lexicon_doc_place_stream_multistream_target() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this target was created.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this target was created."),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -369,9 +367,9 @@ fn lexicon_doc_place_stream_multistream_target() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A user-friendly name for this target.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("A user-friendly name for this target."),
+                                    ),
                                     max_length: Some(100usize),
                                     ..Default::default()
                                 }),
@@ -379,9 +377,11 @@ fn lexicon_doc_place_stream_multistream_target() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("url"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The rtmp:// or rtmps:// url of the target server.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The rtmp:// or rtmps:// url of the target server.",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -397,4 +397,4 @@ fn lexicon_doc_place_stream_multistream_target() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/playback.rs b/crates/jacquard-api/src/place_stream/playback.rs
index 2a7258f54..885f02116 100644
--- a/crates/jacquard-api/src/place_stream/playback.rs
+++ b/crates/jacquard-api/src/place_stream/playback.rs
@@ -9,4 +9,4 @@ pub mod get_live_segment;
 pub mod get_playback_server;
 pub mod get_video_blob;
 pub mod get_video_playlist;
-pub mod whep;
+pub mod whep;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/playback/get_live_playlist.rs b/crates/jacquard-api/src/place_stream/playback/get_live_playlist.rs
index da737194b..7ed8e5dc4 100644
--- a/crates/jacquard-api/src/place_stream/playback/get_live_playlist.rs
+++ b/crates/jacquard-api/src/place_stream/playback/get_live_playlist.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLivePlaylist {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub sid: Option,
@@ -30,15 +27,25 @@ pub struct GetLivePlaylist {
     pub track: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetLivePlaylistOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetLivePlaylistError {
     /// No live segments are currently windowed for this streamer on this node.
@@ -52,10 +59,7 @@ pub enum GetLivePlaylistError {
     StreamUnavailable(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetLivePlaylistError {
@@ -142,7 +146,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLivePlaylistRequest {
 
 pub mod get_live_playlist_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -173,7 +177,10 @@ pub mod get_live_playlist_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetLivePlaylistBuilder {
+pub struct GetLivePlaylistBuilder<
+    St: get_live_playlist_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -273,4 +280,4 @@ where
             track: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/playback/get_live_segment.rs b/crates/jacquard-api/src/place_stream/playback/get_live_segment.rs
index b2e6e7a6d..ae0d785c9 100644
--- a/crates/jacquard-api/src/place_stream/playback/get_live_segment.rs
+++ b/crates/jacquard-api/src/place_stream/playback/get_live_segment.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLiveSegment {
     pub seg: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -30,15 +27,25 @@ pub struct GetLiveSegment {
     pub track: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetLiveSegmentOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetLiveSegmentError {
     /// No live window for this streamer on this node.
@@ -49,10 +56,7 @@ pub enum GetLiveSegmentError {
     SegmentNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetLiveSegmentError {
@@ -132,7 +136,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLiveSegmentRequest {
 
 pub mod get_live_segment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -189,7 +193,10 @@ pub mod get_live_segment_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetLiveSegmentBuilder {
+pub struct GetLiveSegmentBuilder<
+    St: get_live_segment_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -317,4 +324,4 @@ where
             track: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/playback/get_playback_server.rs b/crates/jacquard-api/src/place_stream/playback/get_playback_server.rs
index f166d3b0c..0ef40c5d4 100644
--- a/crates/jacquard-api/src/place_stream/playback/get_playback_server.rs
+++ b/crates/jacquard-api/src/place_stream/playback/get_playback_server.rs
@@ -10,26 +10,21 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPlaybackServer {
     pub stream: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPlaybackServerOutput {
     ///List of available playback server addresses
     pub servers: Vec,
@@ -37,17 +32,23 @@ pub struct GetPlaybackServerOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetPlaybackServerError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetPlaybackServerError {
@@ -94,7 +95,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPlaybackServerRequest {
 
 pub mod get_playback_server_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -125,7 +126,10 @@ pub mod get_playback_server_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetPlaybackServerBuilder {
+pub struct GetPlaybackServerBuilder<
+    St: get_playback_server_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -133,7 +137,10 @@ pub struct GetPlaybackServerBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetPlaybackServerBuilder {
+    pub fn new() -> GetPlaybackServerBuilder<
+        get_playback_server_state::Empty,
+        DefaultStr,
+    > {
         GetPlaybackServerBuilder::new()
     }
 }
@@ -197,4 +204,4 @@ where
             stream: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/playback/get_video_blob.rs b/crates/jacquard-api/src/place_stream/playback/get_video_blob.rs
index 3c55fae5f..394df200a 100644
--- a/crates/jacquard-api/src/place_stream/playback/get_video_blob.rs
+++ b/crates/jacquard-api/src/place_stream/playback/get_video_blob.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetVideoBlob {
     pub cid: S,
     pub did: Did,
@@ -30,15 +27,25 @@ pub struct GetVideoBlob {
     pub sid: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetVideoBlobOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetVideoBlobError {
     /// This node doesn't have the requested CID. The caller should consult place.stream.media.origin records to find a node that does.
@@ -46,10 +53,7 @@ pub enum GetVideoBlobError {
     BlobNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetVideoBlobError {
@@ -122,7 +126,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetVideoBlobRequest {
 
 pub mod get_video_blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -272,4 +276,4 @@ where
             sid: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/playback/get_video_playlist.rs b/crates/jacquard-api/src/place_stream/playback/get_video_playlist.rs
index 1e81283e9..074c85e3e 100644
--- a/crates/jacquard-api/src/place_stream/playback/get_video_playlist.rs
+++ b/crates/jacquard-api/src/place_stream/playback/get_video_playlist.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetVideoPlaylist {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub end: Option,
@@ -35,15 +32,25 @@ pub struct GetVideoPlaylist {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetVideoPlaylistOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetVideoPlaylistError {
     /// No record indexed at the supplied AT-URI.
@@ -60,10 +67,7 @@ pub enum GetVideoPlaylistError {
     UnsupportedCollection(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetVideoPlaylistError {
@@ -157,7 +161,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetVideoPlaylistRequest {
 
 pub mod get_video_playlist_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -188,21 +192,21 @@ pub mod get_video_playlist_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetVideoPlaylistBuilder {
+pub struct GetVideoPlaylistBuilder<
+    St: get_video_playlist_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option, Option, Option, Option>),
     _type: PhantomData S>,
 }
 
 impl GetVideoPlaylist {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetVideoPlaylistBuilder {
+    pub fn new() -> GetVideoPlaylistBuilder<
+        get_video_playlist_state::Empty,
+        DefaultStr,
+    > {
         GetVideoPlaylistBuilder::new()
     }
 }
@@ -322,4 +326,4 @@ where
             uri: self._fields.4.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/playback/whep.rs b/crates/jacquard-api/src/place_stream/playback/whep.rs
index 92c739807..272a427f7 100644
--- a/crates/jacquard-api/src/place_stream/playback/whep.rs
+++ b/crates/jacquard-api/src/place_stream/playback/whep.rs
@@ -10,38 +10,46 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct WhepParams {
     pub rendition: S,
     pub streamer: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct Whep {
     pub body: Bytes,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct WhepOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum WhepError {
     /// This user may not play this stream.
@@ -49,10 +57,7 @@ pub enum WhepError {
     Unauthorized(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for WhepError {
@@ -108,16 +113,22 @@ impl jacquard_common::xrpc::XrpcResp for WhepResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Whep {
     const NSID: &'static str = "place.stream.playback.whep";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("*/*");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "*/*",
+    );
     type Response = WhepResponse;
-    fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError>
+    fn encode_body(
+        &self,
+        buffer: &mut Vec,
+    ) -> Result<(), jacquard_common::xrpc::EncodeError>
     where
         Self: Serialize,
     {
         Ok(buffer.copy_from_slice(self.body.as_ref()))
     }
-    fn decode_body<'de>(body: &'de [u8]) -> Result
+    fn decode_body<'de>(
+        body: &'de [u8],
+    ) -> Result
     where
         Self: Deserialize<'de>,
     {
@@ -133,15 +144,16 @@ Path: `/xrpc/place.stream.playback.whep`. The request payload type is `Whep`; se
 pub struct WhepRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for WhepRequest {
     const PATH: &'static str = "/xrpc/place.stream.playback.whep";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("*/*");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "*/*",
+    );
     type Request = Whep;
     type Response = WhepResponse;
 }
 
 pub mod whep_params_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -277,4 +289,4 @@ where
             streamer: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/richtext.rs b/crates/jacquard-api/src/place_stream/richtext.rs
index 66a628f66..4aa68b9f2 100644
--- a/crates/jacquard-api/src/place_stream/richtext.rs
+++ b/crates/jacquard-api/src/place_stream/richtext.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `place.stream.richtext` Lexicon namespace/module.
 pub mod facet;
-pub mod video_facet;
+pub mod video_facet;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/richtext/facet.rs b/crates/jacquard-api/src/place_stream/richtext/facet.rs
index 7c1466064..d292349fb 100644
--- a/crates/jacquard-api/src/place_stream/richtext/facet.rs
+++ b/crates/jacquard-api/src/place_stream/richtext/facet.rs
@@ -20,19 +20,16 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::ByteSlice;
 use crate::app_bsky::richtext::facet::Link;
 use crate::app_bsky::richtext::facet::Mention;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Annotation of a sub-string within rich text in a livestream chat message.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Facet {
     pub features: Vec>,
     pub index: ByteSlice,
@@ -40,6 +37,7 @@ pub struct Facet {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -67,7 +65,7 @@ impl LexiconSchema for Facet {
 
 pub mod facet_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,10 +213,10 @@ where
 }
 
 fn lexicon_doc_place_stream_richtext_facet() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.richtext.facet"),
@@ -227,13 +225,16 @@ fn lexicon_doc_place_stream_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Annotation of a sub-string within rich text in a livestream chat message.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("index"),
-                        SmolStr::new_static("features"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Annotation of a sub-string within rich text in a livestream chat message.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("index"), SmolStr::new_static("features")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -243,7 +244,7 @@ fn lexicon_doc_place_stream_richtext_facet() -> LexiconDoc<'static> {
                                 items: LexArrayItem::Union(LexRefUnion {
                                     refs: vec![
                                         CowStr::new_static("app.bsky.richtext.facet#mention"),
-                                        CowStr::new_static("app.bsky.richtext.facet#link"),
+                                        CowStr::new_static("app.bsky.richtext.facet#link")
                                     ],
                                     ..Default::default()
                                 }),
@@ -253,7 +254,9 @@ fn lexicon_doc_place_stream_richtext_facet() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("index"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.richtext.facet#byteSlice"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.richtext.facet#byteSlice",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -266,4 +269,4 @@ fn lexicon_doc_place_stream_richtext_facet() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/richtext/video_facet.rs b/crates/jacquard-api/src/place_stream/richtext/video_facet.rs
index 0f37e67a6..db7e31190 100644
--- a/crates/jacquard-api/src/place_stream/richtext/video_facet.rs
+++ b/crates/jacquard-api/src/place_stream/richtext/video_facet.rs
@@ -20,19 +20,16 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::richtext::facet::ByteSlice;
 use crate::app_bsky::richtext::facet::Link;
 use crate::app_bsky::richtext::facet::Mention;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Annotation of a sub-string within rich text in a VOD description or comment.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct VideoFacet {
     pub features: Vec>,
     pub index: ByteSlice,
@@ -40,6 +37,7 @@ pub struct VideoFacet {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -67,7 +65,7 @@ impl LexiconSchema for VideoFacet {
 
 pub mod video_facet_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -205,7 +203,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> VideoFacet {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> VideoFacet {
         VideoFacet {
             features: self._fields.0.unwrap(),
             index: self._fields.1.unwrap(),
@@ -215,10 +216,10 @@ where
 }
 
 fn lexicon_doc_place_stream_richtext_videoFacet() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.richtext.videoFacet"),
@@ -271,4 +272,4 @@ fn lexicon_doc_place_stream_richtext_videoFacet() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/segment.rs b/crates/jacquard-api/src/place_stream/segment.rs
index 79be847f9..dafc6956a 100644
--- a/crates/jacquard-api/src/place_stream/segment.rs
+++ b/crates/jacquard-api/src/place_stream/segment.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,19 +24,16 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::place_stream::metadata::content_rights::ContentRights;
 use crate::place_stream::metadata::content_warnings::ContentWarnings;
 use crate::place_stream::metadata::distribution_policy::DistributionPolicy;
 use crate::place_stream::segment;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Audio {
     pub channels: i64,
     pub codec: S,
@@ -45,11 +42,9 @@ pub struct Audio {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Framerate {
     pub den: i64,
     pub num: i64,
@@ -105,11 +100,9 @@ pub struct SegmentGetRecordOutput {
     pub value: Segment,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SegmentView {
     pub cid: Cid,
     pub record: Data,
@@ -117,11 +110,9 @@ pub struct SegmentView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Video {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub bframes: Option,
@@ -244,7 +235,7 @@ impl LexiconSchema for Video {
 
 pub mod audio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -368,7 +359,10 @@ where
     St::Codec: audio_state::IsUnset,
 {
     /// Set the `codec` field (required)
-    pub fn codec(mut self, value: impl Into) -> AudioBuilder, S> {
+    pub fn codec(
+        mut self,
+        value: impl Into,
+    ) -> AudioBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         AudioBuilder {
             _state: PhantomData,
@@ -384,7 +378,10 @@ where
     St::Rate: audio_state::IsUnset,
 {
     /// Set the `rate` field (required)
-    pub fn rate(mut self, value: impl Into) -> AudioBuilder, S> {
+    pub fn rate(
+        mut self,
+        value: impl Into,
+    ) -> AudioBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         AudioBuilder {
             _state: PhantomData,
@@ -422,10 +419,10 @@ where
 }
 
 fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.segment"),
@@ -434,11 +431,12 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("audio"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("codec"),
-                        SmolStr::new_static("rate"),
-                        SmolStr::new_static("channels"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("codec"), SmolStr::new_static("rate"),
+                            SmolStr::new_static("channels")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -450,9 +448,7 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("codec"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("rate"),
@@ -468,7 +464,9 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("framerate"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("num"), SmolStr::new_static("den")]),
+                    required: Some(
+                        vec![SmolStr::new_static("num"), SmolStr::new_static("den")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -492,17 +490,21 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Media file representing a segment of a livestream",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Media file representing a segment of a livestream",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("id"),
-                            SmolStr::new_static("signingKey"),
-                            SmolStr::new_static("startTime"),
-                            SmolStr::new_static("creator"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("id"),
+                                SmolStr::new_static("signingKey"),
+                                SmolStr::new_static("startTime"),
+                                SmolStr::new_static("creator")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -559,18 +561,20 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("id"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Unique identifier for the segment",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Unique identifier for the segment"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("signingKey"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The DID of the signing key used for this segment",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "The DID of the signing key used for this segment",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -583,9 +587,9 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("startTime"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this segment started",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this segment started"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -610,10 +614,9 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("segmentView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("record"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("cid"), SmolStr::new_static("record")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -638,11 +641,12 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("video"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("codec"),
-                        SmolStr::new_static("width"),
-                        SmolStr::new_static("height"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("codec"), SmolStr::new_static("width"),
+                            SmolStr::new_static("height")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -654,9 +658,7 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("codec"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("framerate"),
@@ -690,7 +692,7 @@ fn lexicon_doc_place_stream_segment() -> LexiconDoc<'static> {
 
 pub mod framerate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -828,7 +830,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Framerate {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Framerate {
         Framerate {
             den: self._fields.0.unwrap(),
             num: self._fields.1.unwrap(),
@@ -839,7 +844,7 @@ where
 
 pub mod segment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -949,9 +954,7 @@ impl SegmentBuilder {
     pub fn new() -> Self {
         SegmentBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -962,9 +965,7 @@ impl SegmentBuilder {
     pub fn builder() -> Self {
         SegmentBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -998,7 +999,10 @@ impl SegmentBuilder {
 
 impl SegmentBuilder {
     /// Set the `contentWarnings` field (optional)
-    pub fn content_warnings(mut self, value: impl Into>>) -> Self {
+    pub fn content_warnings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -1030,12 +1034,18 @@ where
 
 impl SegmentBuilder {
     /// Set the `distributionPolicy` field (optional)
-    pub fn distribution_policy(mut self, value: impl Into>>) -> Self {
+    pub fn distribution_policy(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
     /// Set the `distributionPolicy` field to an Option value (optional)
-    pub fn maybe_distribution_policy(mut self, value: Option>) -> Self {
+    pub fn maybe_distribution_policy(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -1060,7 +1070,10 @@ where
     St::Id: segment_state::IsUnset,
 {
     /// Set the `id` field (required)
-    pub fn id(mut self, value: impl Into) -> SegmentBuilder, S> {
+    pub fn id(
+        mut self,
+        value: impl Into,
+    ) -> SegmentBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         SegmentBuilder {
             _state: PhantomData,
@@ -1180,7 +1193,7 @@ where
 
 pub mod segment_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1318,7 +1331,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SegmentView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SegmentView {
         SegmentView {
             cid: self._fields.0.unwrap(),
             record: self._fields.1.unwrap(),
@@ -1329,7 +1345,7 @@ where
 
 pub mod video_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1453,7 +1469,10 @@ where
     St::Codec: video_state::IsUnset,
 {
     /// Set the `codec` field (required)
-    pub fn codec(mut self, value: impl Into) -> VideoBuilder, S> {
+    pub fn codec(
+        mut self,
+        value: impl Into,
+    ) -> VideoBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         VideoBuilder {
             _state: PhantomData,
@@ -1482,7 +1501,10 @@ where
     St::Height: video_state::IsUnset,
 {
     /// Set the `height` field (required)
-    pub fn height(mut self, value: impl Into) -> VideoBuilder, S> {
+    pub fn height(
+        mut self,
+        value: impl Into,
+    ) -> VideoBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         VideoBuilder {
             _state: PhantomData,
@@ -1498,7 +1520,10 @@ where
     St::Width: video_state::IsUnset,
 {
     /// Set the `width` field (required)
-    pub fn width(mut self, value: impl Into) -> VideoBuilder, S> {
+    pub fn width(
+        mut self,
+        value: impl Into,
+    ) -> VideoBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         VideoBuilder {
             _state: PhantomData,
@@ -1537,4 +1562,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server.rs b/crates/jacquard-api/src/place_stream/server.rs
index c71eeaa61..74917dec2 100644
--- a/crates/jacquard-api/src/place_stream/server.rs
+++ b/crates/jacquard-api/src/place_stream/server.rs
@@ -17,12 +17,13 @@ pub mod settings;
 pub mod update_webhook;
 pub mod upsert_storage;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -33,16 +34,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_stream::server;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::server;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RewriteRule {
     ///Text to search for and replace.
     pub from: S,
@@ -55,10 +53,7 @@ pub struct RewriteRule {
 /// S3 storage configuration for backups.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Storage {
     ///Whether backup storage is currently active.
     pub is_active: bool,
@@ -71,10 +66,7 @@ pub struct Storage {
 /// A webhook configuration for receiving Streamplace events.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Webhook {
     ///Whether this webhook is currently active.
     pub active: bool,
@@ -236,10 +228,10 @@ impl LexiconSchema for Webhook {
 }
 
 fn lexicon_doc_place_stream_server_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.server.defs"),
@@ -248,16 +240,18 @@ fn lexicon_doc_place_stream_server_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rewriteRule"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("from"), SmolStr::new_static("to")]),
+                    required: Some(
+                        vec![SmolStr::new_static("from"), SmolStr::new_static("to")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("from"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Text to search for and replace.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Text to search for and replace."),
+                                ),
                                 min_length: Some(1usize),
                                 max_length: Some(100usize),
                                 ..Default::default()
@@ -266,7 +260,9 @@ fn lexicon_doc_place_stream_server_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("to"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Text to replace with.")),
+                                description: Some(
+                                    CowStr::new_static("Text to replace with."),
+                                ),
                                 max_length: Some(100usize),
                                 ..Default::default()
                             }),
@@ -490,7 +486,7 @@ fn lexicon_doc_place_stream_server_defs() -> LexiconDoc<'static> {
 
 pub mod storage_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -600,7 +596,10 @@ where
     St::Url: storage_state::IsUnset,
 {
     /// Set the `url` field (required)
-    pub fn url(mut self, value: impl Into) -> StorageBuilder, S> {
+    pub fn url(
+        mut self,
+        value: impl Into,
+    ) -> StorageBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         StorageBuilder {
             _state: PhantomData,
@@ -636,7 +635,7 @@ where
 
 pub mod webhook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -768,7 +767,20 @@ impl WebhookBuilder {
         WebhookBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -781,7 +793,20 @@ impl WebhookBuilder {
         WebhookBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -877,7 +902,10 @@ where
     St::Id: webhook_state::IsUnset,
 {
     /// Set the `id` field (required)
-    pub fn id(mut self, value: impl Into) -> WebhookBuilder, S> {
+    pub fn id(
+        mut self,
+        value: impl Into,
+    ) -> WebhookBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         WebhookBuilder {
             _state: PhantomData,
@@ -941,7 +969,10 @@ impl WebhookBuilder {
 
 impl WebhookBuilder {
     /// Set the `rewrite` field (optional)
-    pub fn rewrite(mut self, value: impl Into>>>) -> Self {
+    pub fn rewrite(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.10 = value.into();
         self
     }
@@ -1046,4 +1077,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/create_webhook.rs b/crates/jacquard-api/src/place_stream/server/create_webhook.rs
index 081296070..53779b0a9 100644
--- a/crates/jacquard-api/src/place_stream/server/create_webhook.rs
+++ b/crates/jacquard-api/src/place_stream/server/create_webhook.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::server::RewriteRule;
-use crate::place_stream::server::Webhook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::UriValue;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::server::RewriteRule;
+use crate::place_stream::server::Webhook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateWebhook {
     ///Whether this webhook should be active upon creation.  Defaults to `false`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -55,20 +52,27 @@ pub struct CreateWebhook {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateWebhookOutput {
     pub webhook: Webhook,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CreateWebhookError {
     /// The provided webhook URL is invalid or unreachable.
@@ -82,10 +86,7 @@ pub enum CreateWebhookError {
     TooManyWebhooks(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CreateWebhookError {
@@ -136,8 +137,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateWebhookResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CreateWebhook {
     const NSID: &'static str = "place.stream.server.createWebhook";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateWebhookResponse;
 }
 
@@ -147,8 +149,9 @@ Path: `/xrpc/place.stream.server.createWebhook`. The request payload type is `Cr
 pub struct CreateWebhookRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateWebhookRequest {
     const PATH: &'static str = "/xrpc/place.stream.server.createWebhook";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CreateWebhook;
     type Response = CreateWebhookResponse;
 }
@@ -159,7 +162,7 @@ fn _default_create_webhook_active() -> Option {
 
 pub mod create_webhook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -202,7 +205,10 @@ pub mod create_webhook_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CreateWebhookBuilder {
+pub struct CreateWebhookBuilder<
+    St: create_webhook_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -405,7 +411,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateWebhook {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CreateWebhook {
         CreateWebhook {
             active: self._fields.0.or_else(|| Some(false)),
             description: self._fields.1,
@@ -419,4 +428,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/delete_storage.rs b/crates/jacquard-api/src/place_stream/server/delete_storage.rs
index d65637420..361593cbe 100644
--- a/crates/jacquard-api/src/place_stream/server/delete_storage.rs
+++ b/crates/jacquard-api/src/place_stream/server/delete_storage.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteStorageOutput {
     pub success: bool,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -46,8 +43,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteStorageResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteStorage {
     const NSID: &'static str = "place.stream.server.deleteStorage";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteStorageResponse;
 }
 
@@ -57,8 +55,9 @@ Path: `/xrpc/place.stream.server.deleteStorage`. The request payload type is `De
 pub struct DeleteStorageRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteStorageRequest {
     const PATH: &'static str = "/xrpc/place.stream.server.deleteStorage";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteStorage;
     type Response = DeleteStorageResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/delete_webhook.rs b/crates/jacquard-api/src/place_stream/server/delete_webhook.rs
index 34c568eae..38b471a56 100644
--- a/crates/jacquard-api/src/place_stream/server/delete_webhook.rs
+++ b/crates/jacquard-api/src/place_stream/server/delete_webhook.rs
@@ -10,17 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteWebhook {
     ///The ID of the webhook to delete.
     pub id: S,
@@ -28,11 +25,9 @@ pub struct DeleteWebhook {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteWebhookOutput {
     ///Whether the webhook was successfully deleted.
     pub success: bool,
@@ -40,9 +35,18 @@ pub struct DeleteWebhookOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DeleteWebhookError {
     /// The specified webhook was not found.
@@ -53,10 +57,7 @@ pub enum DeleteWebhookError {
     Unauthorized(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DeleteWebhookError {
@@ -100,8 +101,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteWebhookResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteWebhook {
     const NSID: &'static str = "place.stream.server.deleteWebhook";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteWebhookResponse;
 }
 
@@ -111,8 +113,9 @@ Path: `/xrpc/place.stream.server.deleteWebhook`. The request payload type is `De
 pub struct DeleteWebhookRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteWebhookRequest {
     const PATH: &'static str = "/xrpc/place.stream.server.deleteWebhook";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteWebhook;
     type Response = DeleteWebhookResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/get_server_time.rs b/crates/jacquard-api/src/place_stream/server/get_server_time.rs
index 68519a3ed..3138e88e0 100644
--- a/crates/jacquard-api/src/place_stream/server/get_server_time.rs
+++ b/crates/jacquard-api/src/place_stream/server/get_server_time.rs
@@ -10,22 +10,19 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetServerTime;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetServerTimeOutput {
     ///Current server time in RFC3339 format
     pub server_time: Datetime,
@@ -59,4 +56,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetServerTimeRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetServerTime;
     type Response = GetServerTimeResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/get_storage.rs b/crates/jacquard-api/src/place_stream/server/get_storage.rs
index e7cc62ef0..63b74955e 100644
--- a/crates/jacquard-api/src/place_stream/server/get_storage.rs
+++ b/crates/jacquard-api/src/place_stream/server/get_storage.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::server::Storage;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::server::Storage;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetStorageOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub storage: Option>,
@@ -61,4 +58,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStorageRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetStorage;
     type Response = GetStorageResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/get_webhook.rs b/crates/jacquard-api/src/place_stream/server/get_webhook.rs
index 629c023e0..495861fd5 100644
--- a/crates/jacquard-api/src/place_stream/server/get_webhook.rs
+++ b/crates/jacquard-api/src/place_stream/server/get_webhook.rs
@@ -8,38 +8,42 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::server::Webhook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::server::Webhook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetWebhook {
     pub id: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetWebhookOutput {
     pub webhook: Webhook,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetWebhookError {
     /// The specified webhook was not found.
@@ -50,10 +54,7 @@ pub enum GetWebhookError {
     Unauthorized(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetWebhookError {
@@ -114,7 +115,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetWebhookRequest {
 
 pub mod get_webhook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -193,7 +194,10 @@ where
     St::Id: get_webhook_state::IsUnset,
 {
     /// Set the `id` field (required)
-    pub fn id(mut self, value: impl Into) -> GetWebhookBuilder, S> {
+    pub fn id(
+        mut self,
+        value: impl Into,
+    ) -> GetWebhookBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         GetWebhookBuilder {
             _state: PhantomData,
@@ -214,4 +218,4 @@ where
             id: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/list_webhooks.rs b/crates/jacquard-api/src/place_stream/server/list_webhooks.rs
index 12de969b2..95986e753 100644
--- a/crates/jacquard-api/src/place_stream/server/list_webhooks.rs
+++ b/crates/jacquard-api/src/place_stream/server/list_webhooks.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::server::Webhook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::server::Webhook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListWebhooks {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub active: Option,
@@ -35,11 +32,9 @@ pub struct ListWebhooks {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListWebhooksOutput {
     ///A cursor for pagination, if there are more results.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -49,9 +44,18 @@ pub struct ListWebhooksOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ListWebhooksError {
     /// The provided cursor is invalid or expired.
@@ -59,10 +63,7 @@ pub enum ListWebhooksError {
     InvalidCursor(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ListWebhooksError {
@@ -120,7 +121,7 @@ fn _default_limit() -> Option {
 
 pub mod list_webhooks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -245,4 +246,4 @@ where
             limit: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/settings.rs b/crates/jacquard-api/src/place_stream/server/settings.rs
index c5df7adea..115f63ac9 100644
--- a/crates/jacquard-api/src/place_stream/server/settings.rs
+++ b/crates/jacquard-api/src/place_stream/server/settings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record containing user settings for a particular Streamplace node
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Settings {
 
 pub mod settings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -199,10 +199,10 @@ where
 }
 
 fn lexicon_doc_place_stream_server_settings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.server.settings"),
@@ -211,9 +211,11 @@ fn lexicon_doc_place_stream_server_settings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record containing user settings for a particular Streamplace node",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record containing user settings for a particular Streamplace node",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![]),
@@ -237,4 +239,4 @@ fn lexicon_doc_place_stream_server_settings() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/update_webhook.rs b/crates/jacquard-api/src/place_stream/server/update_webhook.rs
index 40dd81557..b71571b97 100644
--- a/crates/jacquard-api/src/place_stream/server/update_webhook.rs
+++ b/crates/jacquard-api/src/place_stream/server/update_webhook.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::server::RewriteRule;
-use crate::place_stream::server::Webhook;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::UriValue;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::server::RewriteRule;
+use crate::place_stream::server::Webhook;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateWebhook {
     ///Whether this webhook should be active.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -58,20 +55,27 @@ pub struct UpdateWebhook {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateWebhookOutput {
     pub webhook: Webhook,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum UpdateWebhookError {
     /// The specified webhook was not found.
@@ -88,10 +92,7 @@ pub enum UpdateWebhookError {
     DuplicateWebhook(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for UpdateWebhookError {
@@ -149,8 +150,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateWebhookResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpdateWebhook {
     const NSID: &'static str = "place.stream.server.updateWebhook";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpdateWebhookResponse;
 }
 
@@ -160,8 +162,9 @@ Path: `/xrpc/place.stream.server.updateWebhook`. The request payload type is `Up
 pub struct UpdateWebhookRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpdateWebhookRequest {
     const PATH: &'static str = "/xrpc/place.stream.server.updateWebhook";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpdateWebhook;
     type Response = UpdateWebhookResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/server/upsert_storage.rs b/crates/jacquard-api/src/place_stream/server/upsert_storage.rs
index c837797c6..c485f7a97 100644
--- a/crates/jacquard-api/src/place_stream/server/upsert_storage.rs
+++ b/crates/jacquard-api/src/place_stream/server/upsert_storage.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::server::Storage;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::server::Storage;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpsertStorage {
     ///Whether backup storage is currently active.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -33,20 +30,27 @@ pub struct UpsertStorage {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpsertStorageOutput {
     pub storage: Storage,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum UpsertStorageError {
     /// The provided S3 URL is invalid or malformed.
@@ -60,10 +64,7 @@ pub enum UpsertStorageError {
     MaskedCredentialsModified(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for UpsertStorageError {
@@ -114,8 +115,9 @@ impl jacquard_common::xrpc::XrpcResp for UpsertStorageResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpsertStorage {
     const NSID: &'static str = "place.stream.server.upsertStorage";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpsertStorageResponse;
 }
 
@@ -125,8 +127,9 @@ Path: `/xrpc/place.stream.server.upsertStorage`. The request payload type is `Up
 pub struct UpsertStorageRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpsertStorageRequest {
     const PATH: &'static str = "/xrpc/place.stream.server.upsertStorage";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpsertStorage;
     type Response = UpsertStorageResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/video.rs b/crates/jacquard-api/src/place_stream/video.rs
index a8d4f6d84..89b554558 100644
--- a/crates/jacquard-api/src/place_stream/video.rs
+++ b/crates/jacquard-api/src/place_stream/video.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,6 +25,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::place_stream::ActivityGame;
 use crate::place_stream::ActivityLabel;
@@ -34,15 +37,9 @@ use crate::place_stream::metadata::content_rights::ContentRights;
 use crate::place_stream::metadata::content_warnings::ContentWarnings;
 use crate::place_stream::richtext::video_facet::VideoFacet;
 use crate::place_stream::video;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Connection {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub r#ref: Option>,
@@ -96,6 +93,7 @@ pub struct Video {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -106,6 +104,7 @@ pub enum VideoActivity {
     ActivityLabel(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -234,16 +233,19 @@ impl LexiconSchema for Video {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("thumb"),
@@ -282,10 +284,10 @@ impl LexiconSchema for Video {
 }
 
 fn lexicon_doc_place_stream_video() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.video"),
@@ -479,7 +481,7 @@ fn lexicon_doc_place_stream_video() -> LexiconDoc<'static> {
 
 pub mod video_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -591,7 +593,18 @@ impl VideoBuilder {
         VideoBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -604,7 +617,18 @@ impl VideoBuilder {
         VideoBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -626,12 +650,18 @@ impl VideoBuilder {
 
 impl VideoBuilder {
     /// Set the `connections` field (optional)
-    pub fn connections(mut self, value: impl Into>>>) -> Self {
+    pub fn connections(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `connections` field to an Option value (optional)
-    pub fn maybe_connections(mut self, value: Option>>) -> Self {
+    pub fn maybe_connections(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -652,7 +682,10 @@ impl VideoBuilder {
 
 impl VideoBuilder {
     /// Set the `contentWarnings` field (optional)
-    pub fn content_warnings(mut self, value: impl Into>>) -> Self {
+    pub fn content_warnings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -697,12 +730,18 @@ impl VideoBuilder {
 
 impl VideoBuilder {
     /// Set the `descriptionFacets` field (optional)
-    pub fn description_facets(mut self, value: impl Into>>>) -> Self {
+    pub fn description_facets(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
     /// Set the `descriptionFacets` field to an Option value (optional)
-    pub fn maybe_description_facets(mut self, value: Option>>) -> Self {
+    pub fn maybe_description_facets(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.6 = value;
         self
     }
@@ -778,7 +817,10 @@ where
     St::Title: video_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> VideoBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> VideoBuilder, S> {
         self._fields.11 = Option::Some(value.into());
         VideoBuilder {
             _state: PhantomData,
@@ -832,4 +874,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/vod.rs b/crates/jacquard-api/src/place_stream/vod.rs
index dee8d7a69..6803156f3 100644
--- a/crates/jacquard-api/src/place_stream/vod.rs
+++ b/crates/jacquard-api/src/place_stream/vod.rs
@@ -10,6 +10,7 @@ pub mod comment;
 pub mod gate;
 pub mod get_comments;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -26,17 +27,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::app_bsky::actor::ProfileViewBasic;
-use crate::place_stream::vod;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::app_bsky::actor::ProfileViewBasic;
+use crate::place_stream::vod;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CommentView {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -55,10 +53,7 @@ pub struct CommentView {
 /// A comment view without its own `replyTo`, used to represent the parent of a reply without recursively nesting the whole thread.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CommentViewBasic {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -123,7 +118,7 @@ impl LexiconSchema for CommentViewBasic {
 
 pub mod comment_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -381,7 +376,10 @@ where
 
 impl CommentViewBuilder {
     /// Set the `replyTo` field (optional)
-    pub fn reply_to(mut self, value: impl Into>>) -> Self {
+    pub fn reply_to(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
@@ -435,7 +433,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CommentView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CommentView {
         CommentView {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -450,10 +451,10 @@ where
 }
 
 fn lexicon_doc_place_stream_vod_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.vod.defs"),
@@ -608,7 +609,7 @@ fn lexicon_doc_place_stream_vod_defs() -> LexiconDoc<'static> {
 
 pub mod comment_view_basic_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -719,7 +720,10 @@ pub mod comment_view_basic_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CommentViewBasicBuilder {
+pub struct CommentViewBasicBuilder<
+    St: comment_view_basic_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -734,7 +738,10 @@ pub struct CommentViewBasicBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CommentViewBasicBuilder {
+    pub fn new() -> CommentViewBasicBuilder<
+        comment_view_basic_state::Empty,
+        DefaultStr,
+    > {
         CommentViewBasicBuilder::new()
     }
 }
@@ -905,7 +912,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CommentViewBasic {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CommentViewBasic {
         CommentViewBasic {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -916,4 +926,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/vod/comment.rs b/crates/jacquard-api/src/place_stream/vod/comment.rs
index 875d2813b..19c2b51c4 100644
--- a/crates/jacquard-api/src/place_stream/vod/comment.rs
+++ b/crates/jacquard-api/src/place_stream/vod/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::place_stream::richtext::facet::Facet;
 use crate::place_stream::vod::comment;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Record containing a comment on a VOD.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -66,11 +66,9 @@ pub struct CommentGetRecordOutput {
     pub value: Comment,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReplyRef {
     pub parent: StrongRef,
     pub root: StrongRef,
@@ -167,7 +165,7 @@ impl LexiconSchema for ReplyRef {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -323,7 +321,10 @@ where
     St::Text: comment_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -384,10 +385,10 @@ where
 }
 
 fn lexicon_doc_place_stream_vod_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.vod.comment"),
@@ -478,10 +479,9 @@ fn lexicon_doc_place_stream_vod_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("replyRef"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("root"),
-                        SmolStr::new_static("parent"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("root"), SmolStr::new_static("parent")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -512,7 +512,7 @@ fn lexicon_doc_place_stream_vod_comment() -> LexiconDoc<'static> {
 
 pub mod reply_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -657,4 +657,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/vod/gate.rs b/crates/jacquard-api/src/place_stream/vod/gate.rs
index 0a1bdab6d..cef74fde9 100644
--- a/crates/jacquard-api/src/place_stream/vod/gate.rs
+++ b/crates/jacquard-api/src/place_stream/vod/gate.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record defining a single gated VOD comment.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Gate {
 
 pub mod gate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -218,10 +218,10 @@ where
 }
 
 fn lexicon_doc_place_stream_vod_gate() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.stream.vod.gate"),
@@ -230,9 +230,9 @@ fn lexicon_doc_place_stream_vod_gate() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record defining a single gated VOD comment.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Record defining a single gated VOD comment."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("hiddenComment")]),
@@ -242,9 +242,9 @@ fn lexicon_doc_place_stream_vod_gate() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("hiddenComment"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URI of the hidden VOD comment.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URI of the hidden VOD comment."),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -260,4 +260,4 @@ fn lexicon_doc_place_stream_vod_gate() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_stream/vod/get_comments.rs b/crates/jacquard-api/src/place_stream/vod/get_comments.rs
index 61a3501fa..8af7c91d6 100644
--- a/crates/jacquard-api/src/place_stream/vod/get_comments.rs
+++ b/crates/jacquard-api/src/place_stream/vod/get_comments.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::place_stream::vod::CommentView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_stream::vod::CommentView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetComments {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetComments {
     pub video: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetCommentsOutput {
     pub comments: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -80,7 +75,7 @@ fn _default_limit() -> Option {
 
 pub mod get_comments_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -211,4 +206,4 @@ where
             video: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_wisp.rs b/crates/jacquard-api/src/place_wisp.rs
index 0b781440a..2b4d4c81f 100644
--- a/crates/jacquard-api/src/place_wisp.rs
+++ b/crates/jacquard-api/src/place_wisp.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `place.wisp` Lexicon namespace/module.
 pub mod fs;
-pub mod settings;
+pub mod settings;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_wisp/fs.rs b/crates/jacquard-api/src/place_wisp/fs.rs
index 18b960aa1..d6400f264 100644
--- a/crates/jacquard-api/src/place_wisp/fs.rs
+++ b/crates/jacquard-api/src/place_wisp/fs.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_wisp::fs;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_wisp::fs;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Directory {
     pub entries: Vec>,
     pub r#type: S,
@@ -42,11 +39,9 @@ pub struct Directory {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Entry {
     pub name: S,
     pub node: EntryNode,
@@ -54,6 +49,7 @@ pub struct Entry {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -66,11 +62,9 @@ pub enum EntryNode {
     Subfs(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct File {
     ///True if blob content is base64-encoded (used to bypass PDS content sniffing)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -118,11 +112,9 @@ pub struct FsGetRecordOutput {
     pub value: Fs,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Subfs {
     ///If true, the subfs record's root entries are merged (flattened) into the parent directory, replacing the subfs entry. If false (default), the subfs entries are placed in a subdirectory with the subfs entry's name. Flat merging is useful for splitting large directories across multiple records while maintaining a flat structure.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -221,16 +213,19 @@ impl LexiconSchema for File {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -321,7 +316,7 @@ impl LexiconSchema for Subfs {
 
 pub mod directory_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -459,7 +454,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Directory {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Directory {
         Directory {
             entries: self._fields.0.unwrap(),
             r#type: self._fields.1.unwrap(),
@@ -469,10 +467,10 @@ where
 }
 
 fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.wisp.fs"),
@@ -481,10 +479,9 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("directory"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("entries"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("type"), SmolStr::new_static("entries")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -501,9 +498,7 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -513,10 +508,9 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("entry"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("node"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("node")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -533,7 +527,7 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("#file"),
                                     CowStr::new_static("#directory"),
-                                    CowStr::new_static("#subfs"),
+                                    CowStr::new_static("#subfs")
                                 ],
                                 ..Default::default()
                             }),
@@ -546,10 +540,9 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("file"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("type"),
-                        SmolStr::new_static("blob"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("type"), SmolStr::new_static("blob")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -561,33 +554,31 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("encoding"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content encoding (e.g., gzip for compressed files)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Content encoding (e.g., gzip for compressed files)",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("mimeType"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Original MIME type before compression",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Original MIME type before compression"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -597,15 +588,16 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Virtual filesystem manifest for a Wisp site",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Virtual filesystem manifest for a Wisp site"),
+                    ),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("site"),
-                            SmolStr::new_static("root"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("site"), SmolStr::new_static("root"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -688,7 +680,7 @@ fn lexicon_doc_place_wisp_fs() -> LexiconDoc<'static> {
 
 pub mod entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -779,7 +771,10 @@ where
     St::Name: entry_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> EntryBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> EntryBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         EntryBuilder {
             _state: PhantomData,
@@ -834,7 +829,7 @@ where
 
 pub mod file_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -879,13 +874,7 @@ pub mod file_state {
 /// Builder for constructing an instance of this type.
 pub struct FileBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option, Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -944,7 +933,10 @@ where
     St::Blob: file_state::IsUnset,
 {
     /// Set the `blob` field (required)
-    pub fn blob(mut self, value: impl Into>) -> FileBuilder, S> {
+    pub fn blob(
+        mut self,
+        value: impl Into>,
+    ) -> FileBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         FileBuilder {
             _state: PhantomData,
@@ -986,7 +978,10 @@ where
     St::Type: file_state::IsUnset,
 {
     /// Set the `type` field (required)
-    pub fn r#type(mut self, value: impl Into) -> FileBuilder, S> {
+    pub fn r#type(
+        mut self,
+        value: impl Into,
+    ) -> FileBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         FileBuilder {
             _state: PhantomData,
@@ -1028,7 +1023,7 @@ where
 
 pub mod fs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1087,12 +1082,7 @@ pub mod fs_state {
 /// Builder for constructing an instance of this type.
 pub struct FsBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -1230,7 +1220,7 @@ where
 
 pub mod subfs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1353,7 +1343,10 @@ where
     St::Type: subfs_state::IsUnset,
 {
     /// Set the `type` field (required)
-    pub fn r#type(mut self, value: impl Into) -> SubfsBuilder, S> {
+    pub fn r#type(
+        mut self,
+        value: impl Into,
+    ) -> SubfsBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         SubfsBuilder {
             _state: PhantomData,
@@ -1387,4 +1380,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/place_wisp/settings.rs b/crates/jacquard-api/src/place_wisp/settings.rs
index d38867b72..29112acc2 100644
--- a/crates/jacquard-api/src/place_wisp/settings.rs
+++ b/crates/jacquard-api/src/place_wisp/settings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::place_wisp::settings;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::place_wisp::settings;
 /// Custom HTTP header configuration
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CustomHeader {
     ///HTTP header name (e.g., 'Cache-Control', 'X-Frame-Options')
     pub name: S,
@@ -228,10 +225,10 @@ impl LexiconSchema for Settings {
 }
 
 fn lexicon_doc_place_wisp_settings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("place.wisp.settings"),
@@ -404,7 +401,7 @@ impl Default for Settings {
 
 pub mod settings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -512,12 +509,18 @@ impl SettingsBuilder {
 
 impl SettingsBuilder {
     /// Set the `headers` field (optional)
-    pub fn headers(mut self, value: impl Into>>>) -> Self {
+    pub fn headers(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `headers` field to an Option value (optional)
-    pub fn maybe_headers(mut self, value: Option>>) -> Self {
+    pub fn maybe_headers(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -577,4 +580,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet.rs b/crates/jacquard-api/src/pub_leaflet.rs
index 10b053323..308807dcc 100644
--- a/crates/jacquard-api/src/pub_leaflet.rs
+++ b/crates/jacquard-api/src/pub_leaflet.rs
@@ -16,4 +16,4 @@ pub mod poll;
 pub mod publication;
 pub mod publication_page;
 pub mod richtext;
-pub mod theme;
+pub mod theme;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/auth_full_permissions.rs b/crates/jacquard-api/src/pub_leaflet/auth_full_permissions.rs
index 18d910a03..8bdc20081 100644
--- a/crates/jacquard-api/src/pub_leaflet/auth_full_permissions.rs
+++ b/crates/jacquard-api/src/pub_leaflet/auth_full_permissions.rs
@@ -5,4 +5,4 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks.rs b/crates/jacquard-api/src/pub_leaflet/blocks.rs
index 852e1d5d2..e33c311b6 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks.rs
@@ -21,4 +21,4 @@ pub mod signup;
 pub mod standard_site_post;
 pub mod text;
 pub mod unordered_list;
-pub mod website;
+pub mod website;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/blockquote.rs b/crates/jacquard-api/src/pub_leaflet/blocks/blockquote.rs
index aa4b5ad36..a4c05c1f2 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/blockquote.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/blockquote.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Blockquote {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -51,10 +48,10 @@ impl LexiconSchema for Blockquote {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_blockquote() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.blockquote"),
@@ -79,9 +76,7 @@ fn lexicon_doc_pub_leaflet_blocks_blockquote() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("plaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -92,4 +87,4 @@ fn lexicon_doc_pub_leaflet_blocks_blockquote() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/bsky_post.rs b/crates/jacquard-api/src/pub_leaflet/blocks/bsky_post.rs
index faded6842..c08032923 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/bsky_post.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/bsky_post.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BskyPost {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub client_host: Option,
@@ -55,7 +52,7 @@ impl LexiconSchema for BskyPost {
 
 pub mod bsky_post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -184,10 +181,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_bskyPost() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.bskyPost"),
@@ -202,9 +199,7 @@ fn lexicon_doc_pub_leaflet_blocks_bskyPost() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("clientHost"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("postRef"),
@@ -222,4 +217,4 @@ fn lexicon_doc_pub_leaflet_blocks_bskyPost() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/button.rs b/crates/jacquard-api/src/pub_leaflet/blocks/button.rs
index 7c8e6abcc..7d964e79f 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/button.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/button.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Button {
     pub text: S,
     pub url: UriValue,
@@ -54,7 +51,7 @@ impl LexiconSchema for Button {
 
 pub mod button_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -145,7 +142,10 @@ where
     St::Text: button_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> ButtonBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> ButtonBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ButtonBuilder {
             _state: PhantomData,
@@ -199,10 +199,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_button() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.button"),
@@ -211,18 +211,15 @@ fn lexicon_doc_pub_leaflet_blocks_button() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("text"),
-                        SmolStr::new_static("url"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("text"), SmolStr::new_static("url")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("text"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("url"),
@@ -240,4 +237,4 @@ fn lexicon_doc_pub_leaflet_blocks_button() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/code.rs b/crates/jacquard-api/src/pub_leaflet/blocks/code.rs
index ae62795d8..eb7a89209 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/code.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/code.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Code {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub language: Option,
@@ -52,10 +49,10 @@ impl LexiconSchema for Code {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_code() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.code"),
@@ -70,21 +67,15 @@ fn lexicon_doc_pub_leaflet_blocks_code() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("language"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("plaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("syntaxHighlightingTheme"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -95,4 +86,4 @@ fn lexicon_doc_pub_leaflet_blocks_code() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/header.rs b/crates/jacquard-api/src/pub_leaflet/blocks/header.rs
index fec956097..c39d89d34 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/header.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/header.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Header {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -71,10 +68,10 @@ impl LexiconSchema for Header {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_header() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.header"),
@@ -107,9 +104,7 @@ fn lexicon_doc_pub_leaflet_blocks_header() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("plaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -120,4 +115,4 @@ fn lexicon_doc_pub_leaflet_blocks_header() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/horizontal_rule.rs b/crates/jacquard-api/src/pub_leaflet/blocks/horizontal_rule.rs
index 9a02d0166..4b51acc91 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/horizontal_rule.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/horizontal_rule.rs
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HorizontalRule {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -47,10 +44,10 @@ impl LexiconSchema for HorizontalRule {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_horizontalRule() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.horizontalRule"),
@@ -72,4 +69,4 @@ fn lexicon_doc_pub_leaflet_blocks_horizontalRule() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/iframe.rs b/crates/jacquard-api/src/pub_leaflet/blocks/iframe.rs
index d66b90c7d..0e69c3cc5 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/iframe.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/iframe.rs
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::blocks::iframe;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::blocks::iframe;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AspectRatio {
     pub height: i64,
     pub width: i64,
@@ -38,11 +35,9 @@ pub struct AspectRatio {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Iframe {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub aspect_ratio: Option>,
@@ -103,7 +98,7 @@ impl LexiconSchema for Iframe {
 
 pub mod aspect_ratio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -241,7 +236,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AspectRatio {
         AspectRatio {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -251,10 +249,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_iframe() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.iframe"),
@@ -263,10 +261,9 @@ fn lexicon_doc_pub_leaflet_blocks_iframe() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("aspectRatio"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("width"),
-                        SmolStr::new_static("height"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("width"), SmolStr::new_static("height")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -329,7 +326,7 @@ fn lexicon_doc_pub_leaflet_blocks_iframe() -> LexiconDoc<'static> {
 
 pub mod iframe_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -362,11 +359,7 @@ pub mod iframe_state {
 /// Builder for constructing an instance of this type.
 pub struct IframeBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -408,7 +401,10 @@ impl IframeBuilder {
 
 impl IframeBuilder {
     /// Set the `aspectRatio` field (optional)
-    pub fn aspect_ratio(mut self, value: impl Into>>) -> Self {
+    pub fn aspect_ratio(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
@@ -474,4 +470,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/image.rs b/crates/jacquard-api/src/pub_leaflet/blocks/image.rs
index 39af31a8b..a652c4ede 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/image.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/image.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::blocks::image;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::blocks::image;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AspectRatio {
     pub height: i64,
     pub width: i64,
@@ -38,11 +35,9 @@ pub struct AspectRatio {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Image {
     ///Alt text description of the image, for accessibility.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -100,16 +95,19 @@ impl LexiconSchema for Image {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -125,7 +123,7 @@ impl LexiconSchema for Image {
 
 pub mod aspect_ratio_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -263,7 +261,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AspectRatio {
         AspectRatio {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -273,10 +274,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_image() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.image"),
@@ -285,10 +286,9 @@ fn lexicon_doc_pub_leaflet_blocks_image() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("aspectRatio"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("width"),
-                        SmolStr::new_static("height"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("width"), SmolStr::new_static("height")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -312,19 +312,23 @@ fn lexicon_doc_pub_leaflet_blocks_image() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("image"),
-                        SmolStr::new_static("aspectRatio"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("image"),
+                            SmolStr::new_static("aspectRatio")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("alt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Alt text description of the image, for accessibility.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Alt text description of the image, for accessibility.",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -343,9 +347,7 @@ fn lexicon_doc_pub_leaflet_blocks_image() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("image"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -360,7 +362,7 @@ fn lexicon_doc_pub_leaflet_blocks_image() -> LexiconDoc<'static> {
 
 pub mod image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -540,4 +542,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/math.rs b/crates/jacquard-api/src/pub_leaflet/blocks/math.rs
index 6bbe1b9b0..3aa5e475a 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/math.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/math.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Math {
     pub tex: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -48,10 +45,10 @@ impl LexiconSchema for Math {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_math() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.math"),
@@ -66,9 +63,7 @@ fn lexicon_doc_pub_leaflet_blocks_math() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("tex"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -79,4 +74,4 @@ fn lexicon_doc_pub_leaflet_blocks_math() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/ordered_list.rs b/crates/jacquard-api/src/pub_leaflet/blocks/ordered_list.rs
index 08baf1951..3c9deeaed 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/ordered_list.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/ordered_list.rs
@@ -20,20 +20,17 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::pub_leaflet::blocks::header::Header;
 use crate::pub_leaflet::blocks::image::Image;
-use crate::pub_leaflet::blocks::ordered_list;
 use crate::pub_leaflet::blocks::text::Text;
 use crate::pub_leaflet::blocks::unordered_list::UnorderedList;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::pub_leaflet::blocks::ordered_list;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     ///If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -49,6 +46,7 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -61,11 +59,9 @@ pub enum ListItemContent {
     Image(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OrderedList {
     pub children: Vec>,
     ///The starting number for this ordered list. Defaults to 1 if not specified.
@@ -107,7 +103,7 @@ impl LexiconSchema for OrderedList {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -200,12 +196,18 @@ impl ListItemBuilder {
 
 impl ListItemBuilder {
     /// Set the `children` field (optional)
-    pub fn children(mut self, value: impl Into>>>) -> Self {
+    pub fn children(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `children` field to an Option value (optional)
-    pub fn maybe_children(mut self, value: Option>>) -> Self {
+    pub fn maybe_children(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -232,12 +234,18 @@ where
 
 impl ListItemBuilder {
     /// Set the `unorderedListChildren` field (optional)
-    pub fn unordered_list_children(mut self, value: impl Into>>) -> Self {
+    pub fn unordered_list_children(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `unorderedListChildren` field to an Option value (optional)
-    pub fn maybe_unordered_list_children(mut self, value: Option>) -> Self {
+    pub fn maybe_unordered_list_children(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -271,10 +279,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_orderedList() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.orderedList"),
@@ -369,7 +377,7 @@ fn lexicon_doc_pub_leaflet_blocks_orderedList() -> LexiconDoc<'static> {
 
 pub mod ordered_list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -488,11 +496,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> OrderedList {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> OrderedList {
         OrderedList {
             children: self._fields.0.unwrap(),
             start_index: self._fields.1,
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/page.rs b/crates/jacquard-api/src/pub_leaflet/blocks/page.rs
index 86ed4f43e..bbd359698 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/page.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/page.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Page {
     pub id: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -48,10 +45,10 @@ impl LexiconSchema for Page {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_page() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.page"),
@@ -66,9 +63,7 @@ fn lexicon_doc_pub_leaflet_blocks_page() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -79,4 +74,4 @@ fn lexicon_doc_pub_leaflet_blocks_page() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/poll.rs b/crates/jacquard-api/src/pub_leaflet/blocks/poll.rs
index 4f5a2eddd..b6460f870 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/poll.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/poll.rs
@@ -20,16 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Poll {
     pub poll_ref: StrongRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -53,7 +50,7 @@ impl LexiconSchema for Poll {
 
 pub mod poll_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -167,10 +164,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_poll() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.poll"),
@@ -199,4 +196,4 @@ fn lexicon_doc_pub_leaflet_blocks_poll() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/posts_list.rs b/crates/jacquard-api/src/pub_leaflet/blocks/posts_list.rs
index db829bbb4..a45710002 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/posts_list.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/posts_list.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -19,13 +19,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PostsList {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub filter_by_tags: Option>,
@@ -37,6 +34,7 @@ pub struct PostsList {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum PostsListView {
     Small,
@@ -130,10 +128,10 @@ impl LexiconSchema for PostsList {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_postsList() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.postsList"),
@@ -163,9 +161,7 @@ fn lexicon_doc_pub_leaflet_blocks_postsList() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("view"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -176,4 +172,4 @@ fn lexicon_doc_pub_leaflet_blocks_postsList() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/signup.rs b/crates/jacquard-api/src/pub_leaflet/blocks/signup.rs
index 85ad80588..673703319 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/signup.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/signup.rs
@@ -19,14 +19,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A subscribe/signup form for the publication. Renders the publication's subscribe form; carries no configurable data.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signup {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -48,10 +45,10 @@ impl LexiconSchema for Signup {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_signup() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.signup"),
@@ -78,4 +75,4 @@ fn lexicon_doc_pub_leaflet_blocks_signup() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/standard_site_post.rs b/crates/jacquard-api/src/pub_leaflet/blocks/standard_site_post.rs
index 1c42130af..ae8341051 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/standard_site_post.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/standard_site_post.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StandardSitePost {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option,
@@ -42,6 +39,7 @@ pub struct StandardSitePost {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum StandardSitePostSize {
     Large,
@@ -118,7 +116,9 @@ where
             StandardSitePostSize::Large => StandardSitePostSize::Large,
             StandardSitePostSize::Medium => StandardSitePostSize::Medium,
             StandardSitePostSize::Small => StandardSitePostSize::Small,
-            StandardSitePostSize::Other(v) => StandardSitePostSize::Other(v.into_static()),
+            StandardSitePostSize::Other(v) => {
+                StandardSitePostSize::Other(v.into_static())
+            }
         }
     }
 }
@@ -140,7 +140,7 @@ impl LexiconSchema for StandardSitePost {
 
 pub mod standard_site_post_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -171,7 +171,10 @@ pub mod standard_site_post_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct StandardSitePostBuilder {
+pub struct StandardSitePostBuilder<
+    St: standard_site_post_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -184,7 +187,10 @@ pub struct StandardSitePostBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> StandardSitePostBuilder {
+    pub fn new() -> StandardSitePostBuilder<
+        standard_site_post_state::Empty,
+        DefaultStr,
+    > {
         StandardSitePostBuilder::new()
     }
 }
@@ -292,7 +298,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StandardSitePost {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StandardSitePost {
         StandardSitePost {
             cid: self._fields.0,
             show_publication_theme: self._fields.1,
@@ -304,10 +313,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_standardSitePost() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.standardSitePost"),
@@ -322,9 +331,7 @@ fn lexicon_doc_pub_leaflet_blocks_standardSitePost() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("showPublicationTheme"),
@@ -334,9 +341,7 @@ fn lexicon_doc_pub_leaflet_blocks_standardSitePost() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("size"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -354,4 +359,4 @@ fn lexicon_doc_pub_leaflet_blocks_standardSitePost() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/text.rs b/crates/jacquard-api/src/pub_leaflet/blocks/text.rs
index dd45204a0..25fd0f032 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/text.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/text.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -17,16 +17,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::richtext::facet::Facet;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Text {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub facets: Option>>,
@@ -53,10 +50,10 @@ impl LexiconSchema for Text {
 }
 
 fn lexicon_doc_pub_leaflet_blocks_text() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.text"),
@@ -81,15 +78,11 @@ fn lexicon_doc_pub_leaflet_blocks_text() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("plaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("textSize"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -100,4 +93,4 @@ fn lexicon_doc_pub_leaflet_blocks_text() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/unordered_list.rs b/crates/jacquard-api/src/pub_leaflet/blocks/unordered_list.rs
index 9ddb6fa7a..0fc3c466f 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/unordered_list.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/unordered_list.rs
@@ -20,20 +20,17 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::pub_leaflet::blocks::header::Header;
 use crate::pub_leaflet::blocks::image::Image;
 use crate::pub_leaflet::blocks::ordered_list::OrderedList;
 use crate::pub_leaflet::blocks::text::Text;
 use crate::pub_leaflet::blocks::unordered_list;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     ///If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -49,6 +46,7 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -61,11 +59,9 @@ pub enum ListItemContent {
     Image(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UnorderedList {
     pub children: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -104,7 +100,7 @@ impl LexiconSchema for UnorderedList {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -197,12 +193,18 @@ impl ListItemBuilder {
 
 impl ListItemBuilder {
     /// Set the `children` field (optional)
-    pub fn children(mut self, value: impl Into>>>) -> Self {
+    pub fn children(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `children` field to an Option value (optional)
-    pub fn maybe_children(mut self, value: Option>>) -> Self {
+    pub fn maybe_children(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -229,7 +231,10 @@ where
 
 impl ListItemBuilder {
     /// Set the `orderedListChildren` field (optional)
-    pub fn ordered_list_children(mut self, value: impl Into>>) -> Self {
+    pub fn ordered_list_children(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -268,10 +273,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_unorderedList() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.unorderedList"),
@@ -358,7 +363,7 @@ fn lexicon_doc_pub_leaflet_blocks_unorderedList() -> LexiconDoc<'static> {
 
 pub mod unordered_list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -389,7 +394,10 @@ pub mod unordered_list_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct UnorderedListBuilder {
+pub struct UnorderedListBuilder<
+    St: unordered_list_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>,),
     _type: PhantomData S>,
@@ -463,10 +471,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UnorderedList {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UnorderedList {
         UnorderedList {
             children: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/blocks/website.rs b/crates/jacquard-api/src/pub_leaflet/blocks/website.rs
index c60690897..33249fdff 100644
--- a/crates/jacquard-api/src/pub_leaflet/blocks/website.rs
+++ b/crates/jacquard-api/src/pub_leaflet/blocks/website.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,13 +24,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Website {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub description: Option,
@@ -70,16 +67,19 @@ impl LexiconSchema for Website {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("preview_image"),
@@ -95,7 +95,7 @@ impl LexiconSchema for Website {
 
 pub mod website_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -128,12 +128,7 @@ pub mod website_state {
 /// Builder for constructing an instance of this type.
 pub struct WebsiteBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -259,10 +254,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_blocks_website() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.blocks.website"),
@@ -277,15 +272,11 @@ fn lexicon_doc_pub_leaflet_blocks_website() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("previewImage"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("src"),
@@ -296,9 +287,7 @@ fn lexicon_doc_pub_leaflet_blocks_website() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -309,4 +298,4 @@ fn lexicon_doc_pub_leaflet_blocks_website() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/comment.rs b/crates/jacquard-api/src/pub_leaflet/comment.rs
index 86f695d10..369c96e51 100644
--- a/crates/jacquard-api/src/pub_leaflet/comment.rs
+++ b/crates/jacquard-api/src/pub_leaflet/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::comment;
-use crate::pub_leaflet::pages::linear_document::Quote;
-use crate::pub_leaflet::richtext::facet::Facet;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::pages::linear_document::Quote;
+use crate::pub_leaflet::richtext::facet::Facet;
+use crate::pub_leaflet::comment;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LinearDocumentQuote {
     pub document: AtUri,
     pub quote: Quote,
@@ -79,11 +76,9 @@ pub struct CommentGetRecordOutput {
     pub value: Comment,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReplyRef {
     pub parent: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -170,7 +165,7 @@ impl LexiconSchema for ReplyRef {
 
 pub mod linear_document_quote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -224,14 +219,20 @@ pub struct LinearDocumentQuoteBuilder<
 
 impl LinearDocumentQuote {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> LinearDocumentQuoteBuilder {
+    pub fn new() -> LinearDocumentQuoteBuilder<
+        linear_document_quote_state::Empty,
+        DefaultStr,
+    > {
         LinearDocumentQuoteBuilder::new()
     }
 }
 
 impl LinearDocumentQuote {
     /// Create a new builder for this type
-    pub fn builder() -> LinearDocumentQuoteBuilder {
+    pub fn builder() -> LinearDocumentQuoteBuilder<
+        linear_document_quote_state::Empty,
+        S,
+    > {
         LinearDocumentQuoteBuilder::builder()
     }
 }
@@ -311,7 +312,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LinearDocumentQuote {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LinearDocumentQuote {
         LinearDocumentQuote {
             document: self._fields.0.unwrap(),
             quote: self._fields.1.unwrap(),
@@ -321,10 +325,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.comment"),
@@ -333,10 +337,11 @@ fn lexicon_doc_pub_leaflet_comment() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("linearDocumentQuote"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("document"),
-                        SmolStr::new_static("quote"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("document"), SmolStr::new_static("quote")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -350,7 +355,9 @@ fn lexicon_doc_pub_leaflet_comment() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("quote"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("pub.leaflet.pages.linearDocument#quote"),
+                                r#ref: CowStr::new_static(
+                                    "pub.leaflet.pages.linearDocument#quote",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -365,11 +372,13 @@ fn lexicon_doc_pub_leaflet_comment() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("Record containing a comment")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("plaintext"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("plaintext"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -457,7 +466,7 @@ fn lexicon_doc_pub_leaflet_comment() -> LexiconDoc<'static> {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -566,12 +575,18 @@ impl CommentBuilder {
 
 impl CommentBuilder {
     /// Set the `attachment` field (optional)
-    pub fn attachment(mut self, value: impl Into>>) -> Self {
+    pub fn attachment(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `attachment` field to an Option value (optional)
-    pub fn maybe_attachment(mut self, value: Option>) -> Self {
+    pub fn maybe_attachment(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -710,7 +725,7 @@ where
 
 pub mod reply_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -821,4 +836,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/content.rs b/crates/jacquard-api/src/pub_leaflet/content.rs
index 0905fcaf5..b129034a0 100644
--- a/crates/jacquard-api/src/pub_leaflet/content.rs
+++ b/crates/jacquard-api/src/pub_leaflet/content.rs
@@ -21,18 +21,15 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::pages::canvas::Canvas;
-use crate::pub_leaflet::pages::linear_document::LinearDocument;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::pages::canvas::Canvas;
+use crate::pub_leaflet::pages::linear_document::LinearDocument;
 /// Content format for leaflet documents
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Content {
     ///JSON-encoded array of pages. When the inline pages array would be too large to store on the PDS, the pages are uploaded as a blob and referenced here. When set, consumers MUST ignore `pages` and use the decoded blob contents as the page array; the inline `pages` field will be empty or a stub.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -45,6 +42,7 @@ pub struct Content {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -82,16 +80,19 @@ impl LexiconSchema for Content {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["application/json"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob_pages"),
@@ -107,7 +108,7 @@ impl LexiconSchema for Content {
 
 pub mod content_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +256,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_content() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.content"),
@@ -312,4 +313,4 @@ fn lexicon_doc_pub_leaflet_content() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/document.rs b/crates/jacquard-api/src/pub_leaflet/document.rs
index d8f11d084..eea8e3f30 100644
--- a/crates/jacquard-api/src/pub_leaflet/document.rs
+++ b/crates/jacquard-api/src/pub_leaflet/document.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,14 +26,14 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::pub_leaflet::pages::canvas::Canvas;
 use crate::pub_leaflet::pages::linear_document::LinearDocument;
 use crate::pub_leaflet::publication::Preferences;
 use crate::pub_leaflet::publication::Theme;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Record containing a document
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -67,6 +67,7 @@ pub struct Document {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -148,23 +149,25 @@ impl LexiconSchema for Document {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("cover_image"),
                         accepted: vec![
-                            "image/png".to_string(),
-                            "image/jpeg".to_string(),
-                            "image/webp".to_string(),
+                            "image/png".to_string(), "image/jpeg".to_string(),
+                            "image/webp".to_string()
                         ],
                         actual: mime.to_string(),
                     });
@@ -223,7 +226,7 @@ impl LexiconSchema for Document {
 
 pub mod document_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -317,9 +320,7 @@ impl DocumentBuilder {
     pub fn new() -> Self {
         DocumentBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -330,9 +331,7 @@ impl DocumentBuilder {
     pub fn builder() -> Self {
         DocumentBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -543,10 +542,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_document() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.document"),
@@ -555,14 +554,17 @@ fn lexicon_doc_pub_leaflet_document() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Record containing a document")),
+                    description: Some(
+                        CowStr::new_static("Record containing a document"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("pages"),
-                            SmolStr::new_static("author"),
-                            SmolStr::new_static("title"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("pages"), SmolStr::new_static("author"),
+                                SmolStr::new_static("title")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -575,9 +577,7 @@ fn lexicon_doc_pub_leaflet_document() -> LexiconDoc<'static> {
                             );
                             map.insert(
                                 SmolStr::new_static("coverImage"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("description"),
@@ -593,7 +593,7 @@ fn lexicon_doc_pub_leaflet_document() -> LexiconDoc<'static> {
                                     items: LexArrayItem::Union(LexRefUnion {
                                         refs: vec![
                                             CowStr::new_static("pub.leaflet.pages.linearDocument"),
-                                            CowStr::new_static("pub.leaflet.pages.canvas"),
+                                            CowStr::new_static("pub.leaflet.pages.canvas")
                                         ],
                                         ..Default::default()
                                     }),
@@ -666,4 +666,4 @@ fn lexicon_doc_pub_leaflet_document() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/graph.rs b/crates/jacquard-api/src/pub_leaflet/graph.rs
index eb6c0485c..ae907a75b 100644
--- a/crates/jacquard-api/src/pub_leaflet/graph.rs
+++ b/crates/jacquard-api/src/pub_leaflet/graph.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `pub.leaflet.graph` Lexicon namespace/module.
-pub mod subscription;
+pub mod subscription;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/graph/subscription.rs b/crates/jacquard-api/src/pub_leaflet/graph/subscription.rs
index 1be58da2c..812d519be 100644
--- a/crates/jacquard-api/src/pub_leaflet/graph/subscription.rs
+++ b/crates/jacquard-api/src/pub_leaflet/graph/subscription.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a subscription to a publication
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -103,7 +103,7 @@ impl LexiconSchema for Subscription {
 
 pub mod subscription_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -208,7 +208,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Subscription {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Subscription {
         Subscription {
             publication: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -217,10 +220,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_graph_subscription() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.graph.subscription"),
@@ -229,9 +232,11 @@ fn lexicon_doc_pub_leaflet_graph_subscription() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a subscription to a publication",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a subscription to a publication",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("publication")]),
@@ -256,4 +261,4 @@ fn lexicon_doc_pub_leaflet_graph_subscription() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/interactions.rs b/crates/jacquard-api/src/pub_leaflet/interactions.rs
index b29aefb61..a8997d77b 100644
--- a/crates/jacquard-api/src/pub_leaflet/interactions.rs
+++ b/crates/jacquard-api/src/pub_leaflet/interactions.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `pub.leaflet.interactions` Lexicon namespace/module.
-pub mod recommend;
+pub mod recommend;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/interactions/recommend.rs b/crates/jacquard-api/src/pub_leaflet/interactions/recommend.rs
index 715e2c1cb..0b0b3aff7 100644
--- a/crates/jacquard-api/src/pub_leaflet/interactions/recommend.rs
+++ b/crates/jacquard-api/src/pub_leaflet/interactions/recommend.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record representing a recommend on a document
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -104,7 +104,7 @@ impl LexiconSchema for Recommend {
 
 pub mod recommend_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -242,7 +242,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Recommend {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Recommend {
         Recommend {
             created_at: self._fields.0.unwrap(),
             subject: self._fields.1.unwrap(),
@@ -252,10 +255,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_interactions_recommend() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.interactions.recommend"),
@@ -264,15 +267,19 @@ fn lexicon_doc_pub_leaflet_interactions_recommend() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record representing a recommend on a document",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record representing a recommend on a document",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -301,4 +308,4 @@ fn lexicon_doc_pub_leaflet_interactions_recommend() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/pages.rs b/crates/jacquard-api/src/pub_leaflet/pages.rs
index c4ee7d12c..4ec0e4fab 100644
--- a/crates/jacquard-api/src/pub_leaflet/pages.rs
+++ b/crates/jacquard-api/src/pub_leaflet/pages.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `pub.leaflet.pages` Lexicon namespace/module.
 pub mod canvas;
-pub mod linear_document;
+pub mod linear_document;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/pages/canvas.rs b/crates/jacquard-api/src/pub_leaflet/pages/canvas.rs
index 21f7d86fe..89218a914 100644
--- a/crates/jacquard-api/src/pub_leaflet/pages/canvas.rs
+++ b/crates/jacquard-api/src/pub_leaflet/pages/canvas.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,6 +20,9 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::pub_leaflet::blocks::blockquote::Blockquote;
 use crate::pub_leaflet::blocks::bsky_post::BskyPost;
 use crate::pub_leaflet::blocks::button::Button;
@@ -39,15 +42,9 @@ use crate::pub_leaflet::blocks::text::Text;
 use crate::pub_leaflet::blocks::unordered_list::UnorderedList;
 use crate::pub_leaflet::blocks::website::Website;
 use crate::pub_leaflet::pages::canvas;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Block {
     pub block: BlockBlock,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -62,6 +59,7 @@ pub struct Block {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -104,11 +102,9 @@ pub enum BlockBlock {
     Signup(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Canvas {
     pub blocks: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -117,11 +113,9 @@ pub struct Canvas {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Position {
     pub block: Vec,
     pub offset: i64,
@@ -129,11 +123,9 @@ pub struct Position {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Quote {
     pub end: canvas::Position,
     pub start: canvas::Position,
@@ -141,6 +133,7 @@ pub struct Quote {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct TextAlignCenter;
 impl core::fmt::Display for TextAlignCenter {
@@ -149,6 +142,7 @@ impl core::fmt::Display for TextAlignCenter {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct TextAlignLeft;
 impl core::fmt::Display for TextAlignLeft {
@@ -157,6 +151,7 @@ impl core::fmt::Display for TextAlignLeft {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct TextAlignRight;
 impl core::fmt::Display for TextAlignRight {
@@ -227,7 +222,7 @@ impl LexiconSchema for Quote {
 
 pub mod block_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -400,7 +395,10 @@ where
     St::Width: block_state::IsUnset,
 {
     /// Set the `width` field (required)
-    pub fn width(mut self, value: impl Into) -> BlockBuilder, S> {
+    pub fn width(
+        mut self,
+        value: impl Into,
+    ) -> BlockBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         BlockBuilder {
             _state: PhantomData,
@@ -477,10 +475,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.pages.canvas"),
@@ -489,12 +487,12 @@ fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("block"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("block"),
-                        SmolStr::new_static("x"),
-                        SmolStr::new_static("y"),
-                        SmolStr::new_static("width"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("block"), SmolStr::new_static("x"),
+                            SmolStr::new_static("y"), SmolStr::new_static("width")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -519,7 +517,7 @@ fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
                                     CowStr::new_static("pub.leaflet.blocks.poll"),
                                     CowStr::new_static("pub.leaflet.blocks.button"),
                                     CowStr::new_static("pub.leaflet.blocks.postsList"),
-                                    CowStr::new_static("pub.leaflet.blocks.signup"),
+                                    CowStr::new_static("pub.leaflet.blocks.signup")
                                 ],
                                 ..Default::default()
                             }),
@@ -578,9 +576,7 @@ fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -590,10 +586,9 @@ fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("position"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("block"),
-                        SmolStr::new_static("offset"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("block"), SmolStr::new_static("offset")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -620,10 +615,9 @@ fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("quote"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("start"),
-                        SmolStr::new_static("end"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("start"), SmolStr::new_static("end")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -648,21 +642,15 @@ fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("textAlignCenter"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("textAlignLeft"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("textAlignRight"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map
         },
@@ -672,7 +660,7 @@ fn lexicon_doc_pub_leaflet_pages_canvas() -> LexiconDoc<'static> {
 
 pub mod canvas_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -802,7 +790,7 @@ where
 
 pub mod position_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -951,7 +939,7 @@ where
 
 pub mod quote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1096,4 +1084,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/pages/linear_document.rs b/crates/jacquard-api/src/pub_leaflet/pages/linear_document.rs
index 34644a403..0872d72cf 100644
--- a/crates/jacquard-api/src/pub_leaflet/pages/linear_document.rs
+++ b/crates/jacquard-api/src/pub_leaflet/pages/linear_document.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,6 +20,9 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::pub_leaflet::blocks::blockquote::Blockquote;
 use crate::pub_leaflet::blocks::bsky_post::BskyPost;
 use crate::pub_leaflet::blocks::button::Button;
@@ -39,15 +42,9 @@ use crate::pub_leaflet::blocks::text::Text;
 use crate::pub_leaflet::blocks::unordered_list::UnorderedList;
 use crate::pub_leaflet::blocks::website::Website;
 use crate::pub_leaflet::pages::linear_document;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Block {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub alignment: Option>,
@@ -56,6 +53,7 @@ pub struct Block {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum BlockAlignment {
     TextAlignLeft,
@@ -141,6 +139,7 @@ where
     }
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -183,11 +182,9 @@ pub enum BlockBlock {
     Signup(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LinearDocument {
     pub blocks: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -196,11 +193,9 @@ pub struct LinearDocument {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Position {
     pub block: Vec,
     pub offset: i64,
@@ -208,11 +203,9 @@ pub struct Position {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Quote {
     pub end: linear_document::Position,
     pub start: linear_document::Position,
@@ -220,6 +213,7 @@ pub struct Quote {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct TextAlignCenter;
 impl core::fmt::Display for TextAlignCenter {
@@ -228,6 +222,7 @@ impl core::fmt::Display for TextAlignCenter {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct TextAlignJustify;
 impl core::fmt::Display for TextAlignJustify {
@@ -236,6 +231,7 @@ impl core::fmt::Display for TextAlignJustify {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct TextAlignLeft;
 impl core::fmt::Display for TextAlignLeft {
@@ -244,6 +240,7 @@ impl core::fmt::Display for TextAlignLeft {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
 pub struct TextAlignRight;
 impl core::fmt::Display for TextAlignRight {
@@ -314,7 +311,7 @@ impl LexiconSchema for Quote {
 
 pub mod block_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -443,10 +440,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.pages.linearDocument"),
@@ -461,9 +458,7 @@ fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("alignment"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("block"),
@@ -486,7 +481,7 @@ fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
                                     CowStr::new_static("pub.leaflet.blocks.poll"),
                                     CowStr::new_static("pub.leaflet.blocks.button"),
                                     CowStr::new_static("pub.leaflet.blocks.postsList"),
-                                    CowStr::new_static("pub.leaflet.blocks.signup"),
+                                    CowStr::new_static("pub.leaflet.blocks.signup")
                                 ],
                                 ..Default::default()
                             }),
@@ -515,9 +510,7 @@ fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -527,10 +520,9 @@ fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("position"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("block"),
-                        SmolStr::new_static("offset"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("block"), SmolStr::new_static("offset")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -557,10 +549,9 @@ fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("quote"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("start"),
-                        SmolStr::new_static("end"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("start"), SmolStr::new_static("end")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -585,27 +576,19 @@ fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("textAlignCenter"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("textAlignJustify"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("textAlignLeft"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("textAlignRight"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map
         },
@@ -615,7 +598,7 @@ fn lexicon_doc_pub_leaflet_pages_linearDocument() -> LexiconDoc<'static> {
 
 pub mod linear_document_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -646,7 +629,10 @@ pub mod linear_document_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct LinearDocumentBuilder {
+pub struct LinearDocumentBuilder<
+    St: linear_document_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>, Option),
     _type: PhantomData S>,
@@ -734,7 +720,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LinearDocument {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LinearDocument {
         LinearDocument {
             blocks: self._fields.0.unwrap(),
             id: self._fields.1,
@@ -745,7 +734,7 @@ where
 
 pub mod position_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -894,7 +883,7 @@ where
 
 pub mod quote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1042,4 +1031,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/poll.rs b/crates/jacquard-api/src/pub_leaflet/poll.rs
index e7582c67b..5de94448b 100644
--- a/crates/jacquard-api/src/pub_leaflet/poll.rs
+++ b/crates/jacquard-api/src/pub_leaflet/poll.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `pub.leaflet.poll` Lexicon namespace/module.
 pub mod definition;
-pub mod vote;
+pub mod vote;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/poll/definition.rs b/crates/jacquard-api/src/pub_leaflet/poll/definition.rs
index faeca020a..e9a90bca6 100644
--- a/crates/jacquard-api/src/pub_leaflet/poll/definition.rs
+++ b/crates/jacquard-api/src/pub_leaflet/poll/definition.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::poll::definition;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::poll::definition;
 /// Record declaring a poll
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -57,11 +57,9 @@ pub struct DefinitionGetRecordOutput {
     pub value: Definition,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DefinitionOption {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub text: Option,
@@ -180,7 +178,7 @@ impl LexiconSchema for DefinitionOption {
 
 pub mod definition_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -225,11 +223,7 @@ pub mod definition_state {
 /// Builder for constructing an instance of this type.
 pub struct DefinitionBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>>,
-    ),
+    _fields: (Option, Option, Option>>),
     _type: PhantomData S>,
 }
 
@@ -336,7 +330,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Definition {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Definition {
         Definition {
             end_date: self._fields.0,
             name: self._fields.1.unwrap(),
@@ -347,10 +344,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_poll_definition() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.poll.definition"),
@@ -362,10 +359,11 @@ fn lexicon_doc_pub_leaflet_poll_definition() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("Record declaring a poll")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("options"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"), SmolStr::new_static("options")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -424,4 +422,4 @@ fn lexicon_doc_pub_leaflet_poll_definition() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/poll/vote.rs b/crates/jacquard-api/src/pub_leaflet/poll/vote.rs
index a46a1dae8..b28403090 100644
--- a/crates/jacquard-api/src/pub_leaflet/poll/vote.rs
+++ b/crates/jacquard-api/src/pub_leaflet/poll/vote.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record declaring a vote on a poll
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Vote {
 
 pub mod vote_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -196,7 +196,10 @@ where
     St::Option: vote_state::IsUnset,
 {
     /// Set the `option` field (required)
-    pub fn option(mut self, value: impl Into>) -> VoteBuilder, S> {
+    pub fn option(
+        mut self,
+        value: impl Into>,
+    ) -> VoteBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         VoteBuilder {
             _state: PhantomData,
@@ -250,10 +253,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_poll_vote() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.poll.vote"),
@@ -262,13 +265,16 @@ fn lexicon_doc_pub_leaflet_poll_vote() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Record declaring a vote on a poll")),
+                    description: Some(
+                        CowStr::new_static("Record declaring a vote on a poll"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("poll"),
-                            SmolStr::new_static("option"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("poll"), SmolStr::new_static("option")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -299,4 +305,4 @@ fn lexicon_doc_pub_leaflet_poll_vote() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/publication.rs b/crates/jacquard-api/src/pub_leaflet/publication.rs
index b2cd269c1..c7a834465 100644
--- a/crates/jacquard-api/src/pub_leaflet/publication.rs
+++ b/crates/jacquard-api/src/pub_leaflet/publication.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,13 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::publication;
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::pub_leaflet::theme::background_image::BackgroundImage;
 use crate::pub_leaflet::theme::color::Rgb;
 use crate::pub_leaflet::theme::color::Rgba;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::pub_leaflet::publication;
 /// Record declaring a publication
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -68,11 +68,9 @@ pub struct PublicationGetRecordOutput {
     pub value: Publication,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Preferences {
     /// Defaults to `true`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -98,11 +96,9 @@ pub struct Preferences {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Theme {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub accent_background: Option>,
@@ -130,6 +126,7 @@ pub struct Theme {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -140,6 +137,7 @@ pub enum ThemeAccentBackground {
     ColorRgb(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -150,6 +148,7 @@ pub enum ThemeAccentText {
     ColorRgb(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -160,6 +159,7 @@ pub enum ThemeBackgroundColor {
     ColorRgb(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -170,6 +170,7 @@ pub enum ThemePageBackground {
     ColorRgb(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -250,16 +251,19 @@ impl LexiconSchema for Publication {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("icon"),
@@ -354,7 +358,7 @@ impl LexiconSchema for Theme {
 
 pub mod publication_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -494,12 +498,18 @@ where
 
 impl PublicationBuilder {
     /// Set the `preferences` field (optional)
-    pub fn preferences(mut self, value: impl Into>>) -> Self {
+    pub fn preferences(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
     /// Set the `preferences` field to an Option value (optional)
-    pub fn maybe_preferences(mut self, value: Option>) -> Self {
+    pub fn maybe_preferences(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -536,7 +546,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Publication {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Publication {
         Publication {
             base_path: self._fields.0,
             description: self._fields.1,
@@ -550,10 +563,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.publication"),
@@ -562,7 +575,9 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Record declaring a publication")),
+                    description: Some(
+                        CowStr::new_static("Record declaring a publication"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("name")]),
@@ -584,9 +599,7 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
                             );
                             map.insert(
                                 SmolStr::new_static("icon"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("name"),
@@ -668,7 +681,7 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("pub.leaflet.theme.color#rgba"),
-                                    CowStr::new_static("pub.leaflet.theme.color#rgb"),
+                                    CowStr::new_static("pub.leaflet.theme.color#rgb")
                                 ],
                                 ..Default::default()
                             }),
@@ -678,7 +691,7 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("pub.leaflet.theme.color#rgba"),
-                                    CowStr::new_static("pub.leaflet.theme.color#rgb"),
+                                    CowStr::new_static("pub.leaflet.theme.color#rgb")
                                 ],
                                 ..Default::default()
                             }),
@@ -688,7 +701,7 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("pub.leaflet.theme.color#rgba"),
-                                    CowStr::new_static("pub.leaflet.theme.color#rgb"),
+                                    CowStr::new_static("pub.leaflet.theme.color#rgb")
                                 ],
                                 ..Default::default()
                             }),
@@ -696,7 +709,9 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("backgroundImage"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("pub.leaflet.theme.backgroundImage"),
+                                r#ref: CowStr::new_static(
+                                    "pub.leaflet.theme.backgroundImage",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -719,7 +734,7 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("pub.leaflet.theme.color#rgba"),
-                                    CowStr::new_static("pub.leaflet.theme.color#rgb"),
+                                    CowStr::new_static("pub.leaflet.theme.color#rgb")
                                 ],
                                 ..Default::default()
                             }),
@@ -737,7 +752,7 @@ fn lexicon_doc_pub_leaflet_publication() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("pub.leaflet.theme.color#rgba"),
-                                    CowStr::new_static("pub.leaflet.theme.color#rgb"),
+                                    CowStr::new_static("pub.leaflet.theme.color#rgb")
                                 ],
                                 ..Default::default()
                             }),
@@ -812,4 +827,4 @@ impl Default for Theme {
             extra_data: Default::default(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/publication_page.rs b/crates/jacquard-api/src/pub_leaflet/publication_page.rs
index dc0a812d0..06ddb3a06 100644
--- a/crates/jacquard-api/src/pub_leaflet/publication_page.rs
+++ b/crates/jacquard-api/src/pub_leaflet/publication_page.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::content::Content;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::content::Content;
 /// A static page belonging to a publication (e.g. about / contact). The rkey is derived from the page path slug.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -120,7 +120,7 @@ impl LexiconSchema for PublicationPage {
 
 pub mod publication_page_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -177,7 +177,10 @@ pub mod publication_page_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PublicationPageBuilder {
+pub struct PublicationPageBuilder<
+    St: publication_page_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -327,7 +330,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PublicationPage {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PublicationPage {
         PublicationPage {
             content: self._fields.0.unwrap(),
             path: self._fields.1.unwrap(),
@@ -340,10 +346,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_publicationPage() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.publicationPage"),
@@ -413,4 +419,4 @@ fn lexicon_doc_pub_leaflet_publicationPage() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/richtext.rs b/crates/jacquard-api/src/pub_leaflet/richtext.rs
index 2cbe80e87..589c064f5 100644
--- a/crates/jacquard-api/src/pub_leaflet/richtext.rs
+++ b/crates/jacquard-api/src/pub_leaflet/richtext.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `pub.leaflet.richtext` Lexicon namespace/module.
-pub mod facet;
+pub mod facet;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/richtext/facet.rs b/crates/jacquard-api/src/pub_leaflet/richtext/facet.rs
index 4663557b4..16f9336cc 100644
--- a/crates/jacquard-api/src/pub_leaflet/richtext/facet.rs
+++ b/crates/jacquard-api/src/pub_leaflet/richtext/facet.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,19 +21,16 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::pub_leaflet::richtext::facet;
-use crate::pub_leaflet::theme::color::Rgb;
-use crate::pub_leaflet::theme::color::Rgba;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::pub_leaflet::theme::color::Rgb;
+use crate::pub_leaflet::theme::color::Rgba;
+use crate::pub_leaflet::richtext::facet;
 /// Facet feature for mentioning an AT URI.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AtMention {
     pub at_uri: UriValue,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -45,10 +42,7 @@ pub struct AtMention {
 /// Facet feature for bold text
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Bold {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -57,10 +51,7 @@ pub struct Bold {
 /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ByteSlice {
     pub byte_end: i64,
     pub byte_start: i64,
@@ -71,10 +62,7 @@ pub struct ByteSlice {
 /// Facet feature for inline code.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Code {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -83,10 +71,7 @@ pub struct Code {
 /// Facet feature for mentioning a did.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DidMention {
     pub did: Did,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -96,10 +81,7 @@ pub struct DidMention {
 /// Facet feature for a footnote reference
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Footnote {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub content_facets: Option>>,
@@ -112,10 +94,7 @@ pub struct Footnote {
 /// Facet feature for highlighted text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Highlight {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub color: Option>,
@@ -123,6 +102,7 @@ pub struct Highlight {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -136,10 +116,7 @@ pub enum HighlightColor {
 /// Facet feature for an identifier. Used for linking to a segment
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Id {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub id: Option,
@@ -150,10 +127,7 @@ pub struct Id {
 /// Facet feature for italic text
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Italic {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -162,10 +136,7 @@ pub struct Italic {
 /// Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Link {
     pub uri: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -175,10 +146,7 @@ pub struct Link {
 /// Annotation of a sub-string within rich text.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Facet {
     pub features: Vec>,
     pub index: facet::ByteSlice,
@@ -186,6 +154,7 @@ pub struct Facet {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -217,10 +186,7 @@ pub enum FacetFeaturesItem {
 /// Facet feature for strikethrough markup
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Strikethrough {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -229,10 +195,7 @@ pub struct Strikethrough {
 /// Facet feature for underline markup
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Underline {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -455,7 +418,7 @@ impl LexiconSchema for Underline {
 
 pub mod at_mention_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -574,7 +537,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AtMention {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AtMention {
         AtMention {
             at_uri: self._fields.0.unwrap(),
             href: self._fields.1,
@@ -584,10 +550,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.richtext.facet"),
@@ -596,9 +562,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("atMention"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Facet feature for mentioning an AT URI.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Facet feature for mentioning an AT URI."),
+                    ),
                     required: Some(vec![SmolStr::new_static("atURI")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -674,7 +640,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("code"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for inline code.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for inline code."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -687,7 +655,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("didMention"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for mentioning a did.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for mentioning a did."),
+                    ),
                     required: Some(vec![SmolStr::new_static("did")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -707,11 +677,15 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("footnote"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for a footnote reference")),
-                    required: Some(vec![
-                        SmolStr::new_static("footnoteId"),
-                        SmolStr::new_static("contentPlaintext"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Facet feature for a footnote reference"),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("footnoteId"),
+                            SmolStr::new_static("contentPlaintext")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -727,15 +701,11 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("contentPlaintext"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("footnoteId"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -745,7 +715,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("highlight"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for highlighted text.")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for highlighted text."),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -755,7 +727,7 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("pub.leaflet.theme.color#rgba"),
-                                    CowStr::new_static("pub.leaflet.theme.color#rgb"),
+                                    CowStr::new_static("pub.leaflet.theme.color#rgb")
                                 ],
                                 ..Default::default()
                             }),
@@ -768,18 +740,18 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("id"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Facet feature for an identifier. Used for linking to a segment",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Facet feature for an identifier. Used for linking to a segment",
+                        ),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("id"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -789,7 +761,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("italic"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for italic text")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for italic text"),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -823,13 +797,16 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Annotation of a sub-string within rich text.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("index"),
-                        SmolStr::new_static("features"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Annotation of a sub-string within rich text.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("index"), SmolStr::new_static("features")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -845,10 +822,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
                                         CowStr::new_static("#highlight"),
                                         CowStr::new_static("#underline"),
                                         CowStr::new_static("#strikethrough"),
-                                        CowStr::new_static("#id"),
-                                        CowStr::new_static("#bold"),
+                                        CowStr::new_static("#id"), CowStr::new_static("#bold"),
                                         CowStr::new_static("#italic"),
-                                        CowStr::new_static("#footnote"),
+                                        CowStr::new_static("#footnote")
                                     ],
                                     ..Default::default()
                                 }),
@@ -870,7 +846,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("strikethrough"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for strikethrough markup")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for strikethrough markup"),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -883,7 +861,9 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("underline"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Facet feature for underline markup")),
+                    description: Some(
+                        CowStr::new_static("Facet feature for underline markup"),
+                    ),
                     required: Some(vec![]),
                     properties: {
                         #[allow(unused_mut)]
@@ -901,7 +881,7 @@ fn lexicon_doc_pub_leaflet_richtext_facet() -> LexiconDoc<'static> {
 
 pub mod byte_slice_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1039,7 +1019,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ByteSlice {
         ByteSlice {
             byte_end: self._fields.0.unwrap(),
             byte_start: self._fields.1.unwrap(),
@@ -1050,7 +1033,7 @@ where
 
 pub mod did_mention_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1155,7 +1138,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DidMention {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DidMention {
         DidMention {
             did: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -1165,7 +1151,7 @@ where
 
 pub mod facet_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1210,10 +1196,7 @@ pub mod facet_state {
 /// Builder for constructing an instance of this type.
 pub struct FacetBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>>,
-        Option>,
-    ),
+    _fields: (Option>>, Option>),
     _type: PhantomData S>,
 }
 
@@ -1313,4 +1296,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/theme.rs b/crates/jacquard-api/src/pub_leaflet/theme.rs
index 920c657b6..57b5da627 100644
--- a/crates/jacquard-api/src/pub_leaflet/theme.rs
+++ b/crates/jacquard-api/src/pub_leaflet/theme.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `pub.leaflet.theme` Lexicon namespace/module.
 pub mod background_image;
-pub mod color;
+pub mod color;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/theme/background_image.rs b/crates/jacquard-api/src/pub_leaflet/theme/background_image.rs
index 129f7f216..dff4476f1 100644
--- a/crates/jacquard-api/src/pub_leaflet/theme/background_image.rs
+++ b/crates/jacquard-api/src/pub_leaflet/theme/background_image.rs
@@ -23,13 +23,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BackgroundImage {
     pub image: BlobRef,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -69,16 +66,19 @@ impl LexiconSchema for BackgroundImage {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -94,7 +94,7 @@ impl LexiconSchema for BackgroundImage {
 
 pub mod background_image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -125,7 +125,10 @@ pub mod background_image_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct BackgroundImageBuilder {
+pub struct BackgroundImageBuilder<
+    St: background_image_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -227,7 +230,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BackgroundImage {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BackgroundImage {
         BackgroundImage {
             image: self._fields.0.unwrap(),
             repeat: self._fields.1,
@@ -238,10 +244,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_theme_backgroundImage() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.theme.backgroundImage"),
@@ -256,9 +262,7 @@ fn lexicon_doc_pub_leaflet_theme_backgroundImage() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("image"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("repeat"),
@@ -281,4 +285,4 @@ fn lexicon_doc_pub_leaflet_theme_backgroundImage() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_leaflet/theme/color.rs b/crates/jacquard-api/src/pub_leaflet/theme/color.rs
index 711dd2535..449ba2656 100644
--- a/crates/jacquard-api/src/pub_leaflet/theme/color.rs
+++ b/crates/jacquard-api/src/pub_leaflet/theme/color.rs
@@ -22,13 +22,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Rgb {
     pub b: i64,
     pub g: i64,
@@ -37,11 +34,9 @@ pub struct Rgb {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Rgba {
     pub a: i64,
     pub b: i64,
@@ -223,7 +218,7 @@ impl LexiconSchema for Rgba {
 
 pub mod rgb_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -398,10 +393,10 @@ where
 }
 
 fn lexicon_doc_pub_leaflet_theme_color() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.leaflet.theme.color"),
@@ -410,11 +405,12 @@ fn lexicon_doc_pub_leaflet_theme_color() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rgb"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("r"),
-                        SmolStr::new_static("g"),
-                        SmolStr::new_static("b"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("r"), SmolStr::new_static("g"),
+                            SmolStr::new_static("b")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -450,12 +446,12 @@ fn lexicon_doc_pub_leaflet_theme_color() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rgba"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("r"),
-                        SmolStr::new_static("g"),
-                        SmolStr::new_static("b"),
-                        SmolStr::new_static("a"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("r"), SmolStr::new_static("g"),
+                            SmolStr::new_static("b"), SmolStr::new_static("a")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -504,7 +500,7 @@ fn lexicon_doc_pub_leaflet_theme_color() -> LexiconDoc<'static> {
 
 pub mod rgba_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -711,4 +707,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy.rs b/crates/jacquard-api/src/pub_quizzy.rs
index 6c95bd0da..0bfcf79e2 100644
--- a/crates/jacquard-api/src/pub_quizzy.rs
+++ b/crates/jacquard-api/src/pub_quizzy.rs
@@ -12,4 +12,4 @@ pub mod quiz_begin;
 pub mod quiz_done;
 pub mod quiz_score;
 pub mod team;
-pub mod team_score;
+pub mod team_score;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/answer.rs b/crates/jacquard-api/src/pub_quizzy/answer.rs
index 9af1e1c5d..17bc05d84 100644
--- a/crates/jacquard-api/src/pub_quizzy/answer.rs
+++ b/crates/jacquard-api/src/pub_quizzy/answer.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A person's answer to a question
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -222,7 +222,7 @@ impl LexiconSchema for Answer {
 
 pub mod answer_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -386,7 +386,10 @@ where
     St::Text: answer_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> AnswerBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> AnswerBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         AnswerBuilder {
             _state: PhantomData,
@@ -446,10 +449,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_answer() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.answer"),
@@ -458,24 +461,30 @@ fn lexicon_doc_pub_quizzy_answer() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A person's answer to a question")),
+                    description: Some(
+                        CowStr::new_static("A person's answer to a question"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("question"),
-                            SmolStr::new_static("text"),
-                            SmolStr::new_static("certainty"),
-                            SmolStr::new_static("timestamp"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("question"),
+                                SmolStr::new_static("text"),
+                                SmolStr::new_static("certainty"),
+                                SmolStr::new_static("timestamp")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("certainty"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "How certain the person is about this answer",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "How certain the person is about this answer",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -498,9 +507,9 @@ fn lexicon_doc_pub_quizzy_answer() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("timestamp"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "When this answer was submitted",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("When this answer was submitted"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -516,4 +525,4 @@ fn lexicon_doc_pub_quizzy_answer() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/league.rs b/crates/jacquard-api/src/pub_quizzy/league.rs
index 12c4e4f69..472ca8932 100644
--- a/crates/jacquard-api/src/pub_quizzy/league.rs
+++ b/crates/jacquard-api/src/pub_quizzy/league.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A quiz league with quiz masters and teams
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -166,7 +166,7 @@ impl LexiconSchema for League {
 
 pub mod league_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -271,7 +271,10 @@ where
     St::Name: league_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> LeagueBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> LeagueBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         LeagueBuilder {
             _state: PhantomData,
@@ -347,10 +350,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_league() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.league"),
@@ -359,16 +362,18 @@ fn lexicon_doc_pub_quizzy_league() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A quiz league with quiz masters and teams",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A quiz league with quiz masters and teams"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("quizMasters"),
-                            SmolStr::new_static("teams"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("quizMasters"),
+                                SmolStr::new_static("teams")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -384,9 +389,11 @@ fn lexicon_doc_pub_quizzy_league() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("quizMasters"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "DIDs of quiz masters who can run quizzes for this league",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "DIDs of quiz masters who can run quizzes for this league",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         format: Some(LexStringFormat::Did),
                                         ..Default::default()
@@ -399,9 +406,9 @@ fn lexicon_doc_pub_quizzy_league() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("teams"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Teams participating in this league",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Teams participating in this league"),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("com.atproto.repo.strongRef"),
                                         ..Default::default()
@@ -421,4 +428,4 @@ fn lexicon_doc_pub_quizzy_league() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/profile.rs b/crates/jacquard-api/src/pub_quizzy/profile.rs
index 17af3f8e4..957de1bbd 100644
--- a/crates/jacquard-api/src/pub_quizzy/profile.rs
+++ b/crates/jacquard-api/src/pub_quizzy/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Details about this person's account
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -123,20 +123,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -214,7 +219,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -353,10 +358,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.profile"),
@@ -365,7 +370,9 @@ fn lexicon_doc_pub_quizzy_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Details about this person's account")),
+                    description: Some(
+                        CowStr::new_static("Details about this person's account"),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
                         properties: {
@@ -373,9 +380,7 @@ fn lexicon_doc_pub_quizzy_profile() -> LexiconDoc<'static> {
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("avatarAlt"),
@@ -388,9 +393,9 @@ fn lexicon_doc_pub_quizzy_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Free-form profile description text.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Free-form profile description text."),
+                                    ),
                                     max_length: Some(2560usize),
                                     max_graphemes: Some(256usize),
                                     ..Default::default()
@@ -415,4 +420,4 @@ fn lexicon_doc_pub_quizzy_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/quiz.rs b/crates/jacquard-api/src/pub_quizzy/quiz.rs
index f6241834f..88665b35b 100644
--- a/crates/jacquard-api/src/pub_quizzy/quiz.rs
+++ b/crates/jacquard-api/src/pub_quizzy/quiz.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::pub_quizzy::quiz;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::pub_quizzy::quiz;
 /// A quiz containing one or more rounds of questions
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -79,10 +79,7 @@ pub struct QuizGetRecordOutput {
 /// Reference to a question with its point value
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct QuestionRef {
     ///A custom name for this question, as opposed to its number
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -99,10 +96,7 @@ pub struct QuestionRef {
 /// A round within a quiz
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Round {
     ///Ordered list of questions in this round
     pub questions: Vec>,
@@ -342,7 +336,7 @@ fn _default_quiz_has_visuals() -> Option {
 
 pub mod quiz_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -581,7 +575,10 @@ where
     St::Title: quiz_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> QuizBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> QuizBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         QuizBuilder {
             _state: PhantomData,
@@ -630,10 +627,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_quiz() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.quiz"),
@@ -750,9 +747,11 @@ fn lexicon_doc_pub_quizzy_quiz() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("questionRef"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Reference to a question with its point value",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Reference to a question with its point value",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("question")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -760,9 +759,11 @@ fn lexicon_doc_pub_quizzy_quiz() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "A custom name for this question, as opposed to its number",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "A custom name for this question, as opposed to its number",
+                                    ),
+                                ),
                                 max_length: Some(16usize),
                                 max_graphemes: Some(160usize),
                                 ..Default::default()
@@ -798,9 +799,11 @@ fn lexicon_doc_pub_quizzy_quiz() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("questions"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Ordered list of questions in this round",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Ordered list of questions in this round",
+                                    ),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#questionRef"),
                                     ..Default::default()
@@ -813,9 +816,11 @@ fn lexicon_doc_pub_quizzy_quiz() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("title"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional title for this round (requires locale if set)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional title for this round (requires locale if set)",
+                                    ),
+                                ),
                                 max_length: Some(1000usize),
                                 max_graphemes: Some(100usize),
                                 ..Default::default()
@@ -838,7 +843,7 @@ fn _default_question_ref_points() -> Option {
 
 pub mod question_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -971,7 +976,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> QuestionRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> QuestionRef {
         QuestionRef {
             name: self._fields.0,
             points: self._fields.1.or_else(|| Some(1i64)),
@@ -983,7 +991,7 @@ where
 
 pub mod round_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1109,4 +1117,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/quiz_begin.rs b/crates/jacquard-api/src/pub_quizzy/quiz_begin.rs
index 7003ff096..820eaced5 100644
--- a/crates/jacquard-api/src/pub_quizzy/quiz_begin.rs
+++ b/crates/jacquard-api/src/pub_quizzy/quiz_begin.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Marks the start of a quiz session
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for QuizBegin {
 
 pub mod quiz_begin_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -326,7 +326,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> QuizBegin {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> QuizBegin {
         QuizBegin {
             ends_at: self._fields.0.unwrap(),
             league: self._fields.1.unwrap(),
@@ -338,10 +341,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_quizBegin() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.quizBegin"),
@@ -350,15 +353,18 @@ fn lexicon_doc_pub_quizzy_quizBegin() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Marks the start of a quiz session")),
+                    description: Some(
+                        CowStr::new_static("Marks the start of a quiz session"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("league"),
-                            SmolStr::new_static("quiz"),
-                            SmolStr::new_static("startedAt"),
-                            SmolStr::new_static("endsAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("league"), SmolStr::new_static("quiz"),
+                                SmolStr::new_static("startedAt"),
+                                SmolStr::new_static("endsAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -387,7 +393,9 @@ fn lexicon_doc_pub_quizzy_quizBegin() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("startedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("When the quiz starts")),
+                                    description: Some(
+                                        CowStr::new_static("When the quiz starts"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -403,4 +411,4 @@ fn lexicon_doc_pub_quizzy_quizBegin() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/quiz_done.rs b/crates/jacquard-api/src/pub_quizzy/quiz_done.rs
index cfd8b6b98..d473fc08d 100644
--- a/crates/jacquard-api/src/pub_quizzy/quiz_done.rs
+++ b/crates/jacquard-api/src/pub_quizzy/quiz_done.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Signals that a participant has finished contributing to answers for this quiz
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for QuizDone {
 
 pub mod quiz_done_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_quizDone() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.quizDone"),
@@ -311,4 +311,4 @@ fn lexicon_doc_pub_quizzy_quizDone() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/quiz_score.rs b/crates/jacquard-api/src/pub_quizzy/quiz_score.rs
index 20f951b69..9bb9e9dbc 100644
--- a/crates/jacquard-api/src/pub_quizzy/quiz_score.rs
+++ b/crates/jacquard-api/src/pub_quizzy/quiz_score.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::pub_quizzy::quiz_score;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::pub_quizzy::quiz_score;
 /// Final rankings for a completed quiz
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -61,10 +61,7 @@ pub struct QuizScoreGetRecordOutput {
 /// A team's final result
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TeamResult {
     ///Reference to the team's detailed score record
     pub team_score: StrongRef,
@@ -171,7 +168,7 @@ impl LexiconSchema for TeamResult {
 
 pub mod quiz_score_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -309,7 +306,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> QuizScore {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> QuizScore {
         QuizScore {
             quiz_begin: self._fields.0.unwrap(),
             results: self._fields.1.unwrap(),
@@ -319,10 +319,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_quizScore() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.quizScore"),
@@ -331,13 +331,17 @@ fn lexicon_doc_pub_quizzy_quizScore() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Final rankings for a completed quiz")),
+                    description: Some(
+                        CowStr::new_static("Final rankings for a completed quiz"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("quizBegin"),
-                            SmolStr::new_static("results"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("quizBegin"),
+                                SmolStr::new_static("results")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -351,9 +355,11 @@ fn lexicon_doc_pub_quizzy_quizScore() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("results"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Ordered list of team results (by ranking)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Ordered list of team results (by ranking)",
+                                        ),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("#teamResult"),
                                         ..Default::default()
@@ -374,10 +380,12 @@ fn lexicon_doc_pub_quizzy_quizScore() -> LexiconDoc<'static> {
                 SmolStr::new_static("teamResult"),
                 LexUserType::Object(LexObject {
                     description: Some(CowStr::new_static("A team's final result")),
-                    required: Some(vec![
-                        SmolStr::new_static("teamScore"),
-                        SmolStr::new_static("totalScore"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("teamScore"),
+                            SmolStr::new_static("totalScore")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -408,7 +416,7 @@ fn lexicon_doc_pub_quizzy_quizScore() -> LexiconDoc<'static> {
 
 pub mod team_result_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -546,11 +554,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TeamResult {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TeamResult {
         TeamResult {
             team_score: self._fields.0.unwrap(),
             total_score: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/team.rs b/crates/jacquard-api/src/pub_quizzy/team.rs
index 475b2b11a..d1bbb47f2 100644
--- a/crates/jacquard-api/src/pub_quizzy/team.rs
+++ b/crates/jacquard-api/src/pub_quizzy/team.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A quiz team
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -122,20 +122,25 @@ impl LexiconSchema for Team {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -215,7 +220,7 @@ impl LexiconSchema for Team {
 
 pub mod team_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -260,12 +265,7 @@ pub mod team_state {
 /// Builder for constructing an instance of this type.
 pub struct TeamBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option>>,
-        Option,
-    ),
+    _fields: (Option>, Option, Option>>, Option),
     _type: PhantomData S>,
 }
 
@@ -356,7 +356,10 @@ where
     St::Name: team_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> TeamBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> TeamBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         TeamBuilder {
             _state: PhantomData,
@@ -395,10 +398,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_team() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.team"),
@@ -410,18 +413,17 @@ fn lexicon_doc_pub_quizzy_team() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("A quiz team")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("members"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"), SmolStr::new_static("members")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("avatarAlt"),
@@ -434,7 +436,9 @@ fn lexicon_doc_pub_quizzy_team() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("members"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static("DIDs of team members")),
+                                    description: Some(
+                                        CowStr::new_static("DIDs of team members"),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         format: Some(LexStringFormat::Did),
                                         ..Default::default()
@@ -464,4 +468,4 @@ fn lexicon_doc_pub_quizzy_team() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/pub_quizzy/team_score.rs b/crates/jacquard-api/src/pub_quizzy/team_score.rs
index ff5ac7139..0d71e812f 100644
--- a/crates/jacquard-api/src/pub_quizzy/team_score.rs
+++ b/crates/jacquard-api/src/pub_quizzy/team_score.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::pub_quizzy::team_score;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::pub_quizzy::team_score;
 /// A team's scored answers for a quiz
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -63,10 +63,7 @@ pub struct TeamScoreGetRecordOutput {
 /// An answer with scores for each expected answer
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ScoredAnswer {
     ///Reference to the answer record
     pub answer: StrongRef,
@@ -199,7 +196,7 @@ impl LexiconSchema for ScoredAnswer {
 
 pub mod team_score_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -376,7 +373,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TeamScore {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TeamScore {
         TeamScore {
             answers: self._fields.0.unwrap(),
             quiz_begin: self._fields.1.unwrap(),
@@ -387,10 +387,10 @@ where
 }
 
 fn lexicon_doc_pub_quizzy_teamScore() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("pub.quizzy.teamScore"),
@@ -399,23 +399,26 @@ fn lexicon_doc_pub_quizzy_teamScore() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A team's scored answers for a quiz")),
+                    description: Some(
+                        CowStr::new_static("A team's scored answers for a quiz"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("quizBegin"),
-                            SmolStr::new_static("team"),
-                            SmolStr::new_static("answers"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("quizBegin"),
+                                SmolStr::new_static("team"), SmolStr::new_static("answers")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("answers"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Scored answers for this team",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Scored answers for this team"),
+                                    ),
                                     items: LexArrayItem::Ref(LexRef {
                                         r#ref: CowStr::new_static("#scoredAnswer"),
                                         ..Default::default()
@@ -448,13 +451,16 @@ fn lexicon_doc_pub_quizzy_teamScore() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("scoredAnswer"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "An answer with scores for each expected answer",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("answer"),
-                        SmolStr::new_static("scores"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "An answer with scores for each expected answer",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("answer"), SmolStr::new_static("scores")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -468,9 +474,11 @@ fn lexicon_doc_pub_quizzy_teamScore() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("commentary"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional commentary from the quiz master",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional commentary from the quiz master",
+                                    ),
+                                ),
                                 max_length: Some(5000usize),
                                 max_graphemes: Some(500usize),
                                 ..Default::default()
@@ -479,9 +487,11 @@ fn lexicon_doc_pub_quizzy_teamScore() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("scores"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Points awarded for each expected answer in the question",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Points awarded for each expected answer in the question",
+                                    ),
+                                ),
                                 items: LexArrayItem::Integer(LexInteger {
                                     ..Default::default()
                                 }),
@@ -503,7 +513,7 @@ fn lexicon_doc_pub_quizzy_teamScore() -> LexiconDoc<'static> {
 
 pub mod scored_answer_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -655,7 +665,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ScoredAnswer {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ScoredAnswer {
         ScoredAnswer {
             answer: self._fields.0.unwrap(),
             commentary: self._fields.1,
@@ -663,4 +676,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt.rs b/crates/jacquard-api/src/science_alt.rs
index 575e4b4bd..787d5e61a 100644
--- a/crates/jacquard-api/src/science_alt.rs
+++ b/crates/jacquard-api/src/science_alt.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `science.alt` Lexicon namespace/module.
-pub mod dataset;
+pub mod dataset;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset.rs b/crates/jacquard-api/src/science_alt/dataset.rs
index 4d63e1050..845663565 100644
--- a/crates/jacquard-api/src/science_alt/dataset.rs
+++ b/crates/jacquard-api/src/science_alt/dataset.rs
@@ -17,4 +17,4 @@ pub mod storage_blobs;
 pub mod storage_external;
 pub mod storage_http;
 pub mod storage_s3;
-pub mod verification_method;
+pub mod verification_method;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/array_format.rs b/crates/jacquard-api/src/science_alt/dataset/array_format.rs
index 05a3d3db6..73de9f4a8 100644
--- a/crates/jacquard-api/src/science_alt/dataset/array_format.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/array_format.rs
@@ -5,9 +5,9 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Arrow tensor format. Stores multi-dimensional arrays using Arrow's tensor IPC format. Versions maintained at https://json-schema.alt.science/atdata-arrow-tensor/{version}/
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -141,4 +141,4 @@ impl core::fmt::Display for StructuredBytes {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "structuredBytes")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/entry.rs b/crates/jacquard-api/src/science_alt/dataset/entry.rs
index 2490957d8..00cb17009 100644
--- a/crates/jacquard-api/src/science_alt/dataset/entry.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/entry.rs
@@ -10,8 +10,8 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,20 +25,17 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::science_alt::dataset::entry;
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::science_alt::dataset::storage_blobs::StorageBlobs;
 use crate::science_alt::dataset::storage_http::StorageHttp;
 use crate::science_alt::dataset::storage_s3::StorageS3;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::science_alt::dataset::entry;
 /// Information about dataset size
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DatasetSize {
     ///Total size in bytes
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -97,6 +94,7 @@ pub struct Entry {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -123,10 +121,7 @@ pub struct EntryGetRecordOutput {
 /// Content hash for shard integrity verification. Algorithm is flexible to allow SHA-256, BLAKE3, or other hash functions.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ShardChecksum {
     ///Hash algorithm identifier (e.g., 'sha256', 'blake3')
     pub algorithm: S,
@@ -326,10 +321,10 @@ impl LexiconSchema for ShardChecksum {
 }
 
 fn lexicon_doc_science_alt_dataset_entry() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.entry"),
@@ -338,7 +333,9 @@ fn lexicon_doc_science_alt_dataset_entry() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("datasetSize"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Information about dataset size")),
+                    description: Some(
+                        CowStr::new_static("Information about dataset size"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -572,7 +569,7 @@ fn lexicon_doc_science_alt_dataset_entry() -> LexiconDoc<'static> {
 
 pub mod entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -682,9 +679,7 @@ impl EntryBuilder {
     pub fn new() -> Self {
         EntryBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -695,9 +690,7 @@ impl EntryBuilder {
     pub fn builder() -> Self {
         EntryBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -793,7 +786,10 @@ where
     St::Name: entry_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> EntryBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> EntryBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         EntryBuilder {
             _state: PhantomData,
@@ -909,4 +905,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/label.rs b/crates/jacquard-api/src/science_alt/dataset/label.rs
index ab5b7e92b..8d4e488a4 100644
--- a/crates/jacquard-api/src/science_alt/dataset/label.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/label.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Named label pointing to a dataset entry. Multiple labels with the same name but different versions can coexist, enabling versioned references to immutable dataset entries.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -156,7 +156,7 @@ impl LexiconSchema for Label {
 
 pub mod label_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,13 +215,7 @@ pub mod label_state {
 /// Builder for constructing an instance of this type.
 pub struct LabelBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option, Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -318,7 +312,10 @@ where
     St::Name: label_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> LabelBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> LabelBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         LabelBuilder {
             _state: PhantomData,
@@ -373,10 +370,10 @@ where
 }
 
 fn lexicon_doc_science_alt_dataset_label() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.label"),
@@ -470,4 +467,4 @@ fn lexicon_doc_science_alt_dataset_label() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/lens.rs b/crates/jacquard-api/src/science_alt/dataset/lens.rs
index 47e917ab8..c954caab5 100644
--- a/crates/jacquard-api/src/science_alt/dataset/lens.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/lens.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::science_alt::dataset::lens;
-use crate::science_alt::dataset::programming_language::ProgrammingLanguage;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::science_alt::dataset::programming_language::ProgrammingLanguage;
+use crate::science_alt::dataset::lens;
 /// Reference to code in an external repository (GitHub, tangled.org, etc.)
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CodeReference {
     ///Optional branch name (for reference, commit hash is authoritative)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -56,10 +53,7 @@ pub struct CodeReference {
 /// Open metadata object for lens records. Applications may extend with additional fields (author, performance notes, etc.).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LensMetadata {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -312,10 +306,10 @@ impl LexiconSchema for Lens {
 }
 
 fn lexicon_doc_science_alt_dataset_lens() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.lens"),
@@ -561,7 +555,7 @@ fn lexicon_doc_science_alt_dataset_lens() -> LexiconDoc<'static> {
 
 pub mod lens_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -709,9 +703,7 @@ impl LensBuilder {
     pub fn new() -> Self {
         LensBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -722,9 +714,7 @@ impl LensBuilder {
     pub fn builder() -> Self {
         LensBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -813,7 +803,10 @@ where
     St::Name: lens_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> LensBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> LensBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         LensBuilder {
             _state: PhantomData,
@@ -950,4 +943,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/lens_verification.rs b/crates/jacquard-api/src/science_alt/dataset/lens_verification.rs
index 3e1961cd4..407585ba0 100644
--- a/crates/jacquard-api/src/science_alt/dataset/lens_verification.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/lens_verification.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,19 +24,16 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::science_alt::dataset::lens::CodeReference;
-use crate::science_alt::dataset::lens_verification;
-use crate::science_alt::dataset::verification_method::VerificationMethod;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::science_alt::dataset::lens::CodeReference;
+use crate::science_alt::dataset::verification_method::VerificationMethod;
+use crate::science_alt::dataset::lens_verification;
 /// Content hash for code integrity verification
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CodeHash {
     ///Hash algorithm identifier (e.g., 'sha256', 'blake3')
     pub algorithm: S,
@@ -206,10 +203,10 @@ impl LexiconSchema for LensVerification {
 }
 
 fn lexicon_doc_science_alt_dataset_lensVerification() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.lensVerification"),
@@ -218,22 +215,28 @@ fn lexicon_doc_science_alt_dataset_lensVerification() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("codeHash"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Content hash for code integrity verification",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("algorithm"),
-                        SmolStr::new_static("digest"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Content hash for code integrity verification",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("algorithm"),
+                            SmolStr::new_static("digest")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("algorithm"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Hash algorithm identifier (e.g., 'sha256', 'blake3')",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Hash algorithm identifier (e.g., 'sha256', 'blake3')",
+                                    ),
+                                ),
                                 max_length: Some(20usize),
                                 ..Default::default()
                             }),
@@ -241,7 +244,9 @@ fn lexicon_doc_science_alt_dataset_lensVerification() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("digest"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Hex-encoded hash digest")),
+                                description: Some(
+                                    CowStr::new_static("Hex-encoded hash digest"),
+                                ),
                                 max_length: Some(128usize),
                                 ..Default::default()
                             }),
@@ -361,7 +366,7 @@ fn lexicon_doc_science_alt_dataset_lensVerification() -> LexiconDoc<'static> {
 
 pub mod lens_verification_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -434,7 +439,10 @@ pub mod lens_verification_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct LensVerificationBuilder {
+pub struct LensVerificationBuilder<
+    St: lens_verification_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -486,12 +494,18 @@ impl LensVerificationBuilder {
 
 impl LensVerificationBuilder {
     /// Set the `codeHash` field (optional)
-    pub fn code_hash(mut self, value: impl Into>>) -> Self {
+    pub fn code_hash(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `codeHash` field to an Option value (optional)
-    pub fn maybe_code_hash(mut self, value: Option>) -> Self {
+    pub fn maybe_code_hash(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -621,7 +635,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LensVerification {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LensVerification {
         LensVerification {
             code_hash: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -633,4 +650,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/programming_language.rs b/crates/jacquard-api/src/science_alt/dataset/programming_language.rs
index bf2994c93..a5161e65e 100644
--- a/crates/jacquard-api/src/science_alt/dataset/programming_language.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/programming_language.rs
@@ -5,9 +5,9 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// JavaScript programming language.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -127,4 +127,4 @@ impl core::fmt::Display for Typescript {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "typescript")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/resolve_label.rs b/crates/jacquard-api/src/science_alt/dataset/resolve_label.rs
index 6557a0acc..f4b8046a5 100644
--- a/crates/jacquard-api/src/science_alt/dataset/resolve_label.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/resolve_label.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::science_alt::dataset::label::Label;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::science_alt::dataset::label::Label;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveLabel {
     pub handle: S,
     pub name: S,
@@ -31,11 +28,9 @@ pub struct ResolveLabel {
     pub version: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveLabelOutput {
     ///CID of the resolved dataset entry
     pub cid: S,
@@ -47,9 +42,18 @@ pub struct ResolveLabelOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ResolveLabelError {
     /// No label found with the given name
@@ -57,10 +61,7 @@ pub enum ResolveLabelError {
     LabelNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ResolveLabelError {
@@ -114,7 +115,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveLabelRequest {
 
 pub mod resolve_label_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -264,4 +265,4 @@ where
             version: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/resolve_schema.rs b/crates/jacquard-api/src/science_alt/dataset/resolve_schema.rs
index 747ddf1d2..ee39163a9 100644
--- a/crates/jacquard-api/src/science_alt/dataset/resolve_schema.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/resolve_schema.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveSchema {
     pub handle: S,
     pub schema_id: S,
@@ -30,11 +27,9 @@ pub struct ResolveSchema {
     pub version: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveSchemaOutput {
     ///CID of the resolved schema record
     pub cid: S,
@@ -46,9 +41,18 @@ pub struct ResolveSchemaOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ResolveSchemaError {
     /// No schema found with the given NSID
@@ -56,10 +60,7 @@ pub enum ResolveSchemaError {
     SchemaNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ResolveSchemaError {
@@ -113,7 +114,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveSchemaRequest {
 
 pub mod resolve_schema_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -156,7 +157,10 @@ pub mod resolve_schema_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ResolveSchemaBuilder {
+pub struct ResolveSchemaBuilder<
+    St: resolve_schema_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -263,4 +267,4 @@ where
             version: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/schema_type.rs b/crates/jacquard-api/src/science_alt/dataset/schema_type.rs
index 0373356e5..e2e6bfc77 100644
--- a/crates/jacquard-api/src/science_alt/dataset/schema_type.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/schema_type.rs
@@ -5,9 +5,9 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// JSON Schema Draft 7 format for sample type definitions. When schemaType is 'jsonSchema', the schema field must contain an object conforming to science.alt.dataset.schema#jsonSchemaFormat.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -85,4 +85,4 @@ where
             SchemaType::Other(v) => SchemaType::Other(v.into_static()),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/storage_blobs.rs b/crates/jacquard-api/src/science_alt/dataset/storage_blobs.rs
index 323101128..eccd7b8ad 100644
--- a/crates/jacquard-api/src/science_alt/dataset/storage_blobs.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/storage_blobs.rs
@@ -21,18 +21,15 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::science_alt::dataset::entry::ShardChecksum;
-use crate::science_alt::dataset::storage_blobs;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::science_alt::dataset::entry::ShardChecksum;
+use crate::science_alt::dataset::storage_blobs;
 /// A single PDS blob shard with optional integrity checksum
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlobEntry {
     ///Blob reference to a WebDataset tar archive
     pub blob: BlobRef,
@@ -46,10 +43,7 @@ pub struct BlobEntry {
 /// Storage via ATProto PDS blobs for WebDataset tar archives. Used in science.alt.dataset.entry storage union for maximum decentralization.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StorageBlobs {
     ///Array of blob entries for WebDataset tar files
     pub blobs: Vec>,
@@ -86,16 +80,19 @@ impl LexiconSchema for BlobEntry {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["application/x-tar"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("blob"),
@@ -137,7 +134,7 @@ impl LexiconSchema for StorageBlobs {
 
 pub mod blob_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -256,7 +253,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BlobEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BlobEntry {
         BlobEntry {
             blob: self._fields.0.unwrap(),
             checksum: self._fields.1,
@@ -266,10 +266,10 @@ where
 }
 
 fn lexicon_doc_science_alt_dataset_storageBlobs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.storageBlobs"),
@@ -278,18 +278,18 @@ fn lexicon_doc_science_alt_dataset_storageBlobs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("blobEntry"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A single PDS blob shard with optional integrity checksum",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A single PDS blob shard with optional integrity checksum",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("blob")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("blob"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("checksum"),
@@ -346,7 +346,7 @@ fn lexicon_doc_science_alt_dataset_storageBlobs() -> LexiconDoc<'static> {
 
 pub mod storage_blobs_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -451,10 +451,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StorageBlobs {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StorageBlobs {
         StorageBlobs {
             blobs: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/storage_external.rs b/crates/jacquard-api/src/science_alt/dataset/storage_external.rs
index b686acd09..a399939a0 100644
--- a/crates/jacquard-api/src/science_alt/dataset/storage_external.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/storage_external.rs
@@ -23,14 +23,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// (Deprecated: use storageHttp or storageS3 instead.) External storage via URLs for WebDataset tar archives. URLs support brace notation for sharding (e.g., 'data-{000000..000099}.tar').
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StorageExternal {
     ///WebDataset URLs with optional brace notation for sharded tar files
     pub urls: Vec>,
@@ -66,7 +63,7 @@ impl LexiconSchema for StorageExternal {
 
 pub mod storage_external_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -97,7 +94,10 @@ pub mod storage_external_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct StorageExternalBuilder {
+pub struct StorageExternalBuilder<
+    St: storage_external_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>>,),
     _type: PhantomData S>,
@@ -171,7 +171,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StorageExternal {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StorageExternal {
         StorageExternal {
             urls: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -180,10 +183,10 @@ where
 }
 
 fn lexicon_doc_science_alt_dataset_storageExternal() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.storageExternal"),
@@ -227,4 +230,4 @@ fn lexicon_doc_science_alt_dataset_storageExternal() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/storage_http.rs b/crates/jacquard-api/src/science_alt/dataset/storage_http.rs
index 47d29dc26..62ad8bf31 100644
--- a/crates/jacquard-api/src/science_alt/dataset/storage_http.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/storage_http.rs
@@ -21,18 +21,15 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::science_alt::dataset::entry::ShardChecksum;
-use crate::science_alt::dataset::storage_http;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::science_alt::dataset::entry::ShardChecksum;
+use crate::science_alt::dataset::storage_http;
 /// HTTP/HTTPS storage for WebDataset tar archives. Each shard is listed individually with a checksum for integrity verification. Consumers build brace-expansion patterns on the fly when needed.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StorageHttp {
     ///Array of shard entries with URL and integrity checksum
     pub shards: Vec>,
@@ -43,10 +40,7 @@ pub struct StorageHttp {
 /// A single HTTP-accessible shard with integrity checksum
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ShardEntry {
     ///Content hash for integrity verification
     pub checksum: ShardChecksum,
@@ -110,7 +104,7 @@ impl LexiconSchema for ShardEntry {
 
 pub mod storage_http_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -215,7 +209,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StorageHttp {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StorageHttp {
         StorageHttp {
             shards: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -224,10 +221,10 @@ where
 }
 
 fn lexicon_doc_science_alt_dataset_storageHttp() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.storageHttp"),
@@ -269,13 +266,14 @@ fn lexicon_doc_science_alt_dataset_storageHttp() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("shardEntry"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A single HTTP-accessible shard with integrity checksum",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("url"),
-                        SmolStr::new_static("checksum"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A single HTTP-accessible shard with integrity checksum",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("url"), SmolStr::new_static("checksum")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -291,9 +289,11 @@ fn lexicon_doc_science_alt_dataset_storageHttp() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "HTTP/HTTPS URL for this WebDataset tar shard",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "HTTP/HTTPS URL for this WebDataset tar shard",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 max_length: Some(2000usize),
                                 ..Default::default()
@@ -312,7 +312,7 @@ fn lexicon_doc_science_alt_dataset_storageHttp() -> LexiconDoc<'static> {
 
 pub mod shard_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -450,11 +450,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ShardEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ShardEntry {
         ShardEntry {
             checksum: self._fields.0.unwrap(),
             url: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/storage_s3.rs b/crates/jacquard-api/src/science_alt/dataset/storage_s3.rs
index 50ddb952e..6bf406f24 100644
--- a/crates/jacquard-api/src/science_alt/dataset/storage_s3.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/storage_s3.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,18 +21,15 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::science_alt::dataset::entry::ShardChecksum;
-use crate::science_alt::dataset::storage_s3;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::science_alt::dataset::entry::ShardChecksum;
+use crate::science_alt::dataset::storage_s3;
 /// S3 or S3-compatible storage for WebDataset tar archives. Supports custom endpoints for MinIO, Cloudflare R2, and other S3-compatible services.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StorageS3 {
     ///S3 bucket name
     pub bucket: S,
@@ -51,10 +48,7 @@ pub struct StorageS3 {
 /// A single S3 object shard with integrity checksum
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ShardEntry {
     ///Content hash for integrity verification
     pub checksum: ShardChecksum,
@@ -149,7 +143,7 @@ impl LexiconSchema for ShardEntry {
 
 pub mod storage_s3_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -320,7 +314,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StorageS3 {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StorageS3 {
         StorageS3 {
             bucket: self._fields.0.unwrap(),
             endpoint: self._fields.1,
@@ -332,10 +329,10 @@ where
 }
 
 fn lexicon_doc_science_alt_dataset_storageS3() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("science.alt.dataset.storageS3"),
@@ -414,13 +411,14 @@ fn lexicon_doc_science_alt_dataset_storageS3() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("shardEntry"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A single S3 object shard with integrity checksum",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("key"),
-                        SmolStr::new_static("checksum"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A single S3 object shard with integrity checksum",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("key"), SmolStr::new_static("checksum")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -436,9 +434,11 @@ fn lexicon_doc_science_alt_dataset_storageS3() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("key"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "S3 object key for this WebDataset tar shard",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "S3 object key for this WebDataset tar shard",
+                                    ),
+                                ),
                                 max_length: Some(1024usize),
                                 ..Default::default()
                             }),
@@ -456,7 +456,7 @@ fn lexicon_doc_science_alt_dataset_storageS3() -> LexiconDoc<'static> {
 
 pub mod shard_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -594,11 +594,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ShardEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ShardEntry {
         ShardEntry {
             checksum: self._fields.0.unwrap(),
             key: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/science_alt/dataset/verification_method.rs b/crates/jacquard-api/src/science_alt/dataset/verification_method.rs
index 34fb6c45b..2db43fef2 100644
--- a/crates/jacquard-api/src/science_alt/dataset/verification_method.rs
+++ b/crates/jacquard-api/src/science_alt/dataset/verification_method.rs
@@ -5,9 +5,9 @@
 // This file was automatically generated from Lexicon schemas.
 // Any manual changes will be overwritten on the next regeneration.
 
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Automated test suite verification
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -127,4 +127,4 @@ impl core::fmt::Display for SignedHash {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "signedHash")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/scot_comhairle.rs b/crates/jacquard-api/src/scot_comhairle.rs
index d70d21784..13f001ce6 100644
--- a/crates/jacquard-api/src/scot_comhairle.rs
+++ b/crates/jacquard-api/src/scot_comhairle.rs
@@ -6,4 +6,4 @@
 //! Generated bindings for the `scot.comhairle` Lexicon namespace/module.
 pub mod testing_polis_poll_v1;
 pub mod testing_polis_statement_v1;
-pub mod testing_polis_vote_v1;
+pub mod testing_polis_vote_v1;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/scot_comhairle/testing_polis_poll_v1.rs b/crates/jacquard-api/src/scot_comhairle/testing_polis_poll_v1.rs
index 6e312c9de..895f39a10 100644
--- a/crates/jacquard-api/src/scot_comhairle/testing_polis_poll_v1.rs
+++ b/crates/jacquard-api/src/scot_comhairle/testing_polis_poll_v1.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A poll/topic for deliberation in the Polis-style system
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -133,7 +133,7 @@ impl LexiconSchema for TestingPolisPollV1 {
 
 pub mod testing_polis_poll_v1_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -176,8 +176,10 @@ pub mod testing_polis_poll_v1_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TestingPolisPollV1Builder
-{
+pub struct TestingPolisPollV1Builder<
+    St: testing_polis_poll_v1_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -185,14 +187,20 @@ pub struct TestingPolisPollV1Builder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> TestingPolisPollV1Builder {
+    pub fn new() -> TestingPolisPollV1Builder<
+        testing_polis_poll_v1_state::Empty,
+        DefaultStr,
+    > {
         TestingPolisPollV1Builder::new()
     }
 }
 
 impl TestingPolisPollV1 {
     /// Create a new builder for this type
-    pub fn builder() -> TestingPolisPollV1Builder {
+    pub fn builder() -> TestingPolisPollV1Builder<
+        testing_polis_poll_v1_state::Empty,
+        S,
+    > {
         TestingPolisPollV1Builder::builder()
     }
 }
@@ -219,7 +227,10 @@ impl TestingPolisPollV1Builder
     }
 }
 
-impl TestingPolisPollV1Builder {
+impl<
+    St: testing_polis_poll_v1_state::State,
+    S: BosStr,
+> TestingPolisPollV1Builder {
     /// Set the `closedAt` field (optional)
     pub fn closed_at(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -251,7 +262,10 @@ where
     }
 }
 
-impl TestingPolisPollV1Builder {
+impl<
+    St: testing_polis_poll_v1_state::State,
+    S: BosStr,
+> TestingPolisPollV1Builder {
     /// Set the `description` field (optional)
     pub fn description(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -300,7 +314,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TestingPolisPollV1 {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TestingPolisPollV1 {
         TestingPolisPollV1 {
             closed_at: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -312,10 +329,10 @@ where
 }
 
 fn lexicon_doc_scot_comhairle_testingPolisPollV1() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("scot.comhairle.testingPolisPollV1"),
@@ -395,4 +412,4 @@ fn lexicon_doc_scot_comhairle_testingPolisPollV1() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/scot_comhairle/testing_polis_statement_v1.rs b/crates/jacquard-api/src/scot_comhairle/testing_polis_statement_v1.rs
index a07dbe7d4..8eaab2f6e 100644
--- a/crates/jacquard-api/src/scot_comhairle/testing_polis_statement_v1.rs
+++ b/crates/jacquard-api/src/scot_comhairle/testing_polis_statement_v1.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::scot_comhairle::testing_polis_statement_v1;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::scot_comhairle::testing_polis_statement_v1;
 /// A statement in the Polis-style deliberation system
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -62,10 +62,7 @@ pub struct TestingPolisStatementV1GetRecordOutput {
 /// Reference to a poll record
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PollRef {
     ///Content identifier of the poll record
     pub cid: Cid,
@@ -92,7 +89,8 @@ impl XrpcResp for TestingPolisStatementV1Record {
     type Err = RecordError;
 }
 
-impl From> for TestingPolisStatementV1 {
+impl From>
+for TestingPolisStatementV1 {
     fn from(output: TestingPolisStatementV1GetRecordOutput) -> Self {
         output.value
     }
@@ -151,7 +149,7 @@ impl LexiconSchema for PollRef {
 
 pub mod testing_polis_statement_v1_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -223,20 +221,28 @@ pub struct TestingPolisStatementV1Builder<
 
 impl TestingPolisStatementV1 {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> TestingPolisStatementV1Builder {
+    pub fn new() -> TestingPolisStatementV1Builder<
+        testing_polis_statement_v1_state::Empty,
+        DefaultStr,
+    > {
         TestingPolisStatementV1Builder::new()
     }
 }
 
 impl TestingPolisStatementV1 {
     /// Create a new builder for this type
-    pub fn builder() -> TestingPolisStatementV1Builder {
+    pub fn builder() -> TestingPolisStatementV1Builder<
+        testing_polis_statement_v1_state::Empty,
+        S,
+    > {
         TestingPolisStatementV1Builder::builder()
     }
 }
 
-impl TestingPolisStatementV1Builder {
+impl TestingPolisStatementV1Builder<
+    testing_polis_statement_v1_state::Empty,
+    DefaultStr,
+> {
     /// Create a new builder with all fields unset, using the default string type, if needed
     pub fn new() -> Self {
         TestingPolisStatementV1Builder {
@@ -247,7 +253,9 @@ impl TestingPolisStatementV1Builder TestingPolisStatementV1Builder {
+impl<
+    S: BosStr,
+> TestingPolisStatementV1Builder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         TestingPolisStatementV1Builder {
@@ -267,7 +275,10 @@ where
     pub fn created_at(
         mut self,
         value: impl Into,
-    ) -> TestingPolisStatementV1Builder, S> {
+    ) -> TestingPolisStatementV1Builder<
+        testing_polis_statement_v1_state::SetCreatedAt,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         TestingPolisStatementV1Builder {
             _state: PhantomData,
@@ -286,7 +297,10 @@ where
     pub fn poll(
         mut self,
         value: impl Into>,
-    ) -> TestingPolisStatementV1Builder, S> {
+    ) -> TestingPolisStatementV1Builder<
+        testing_polis_statement_v1_state::SetPoll,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         TestingPolisStatementV1Builder {
             _state: PhantomData,
@@ -305,7 +319,10 @@ where
     pub fn text(
         mut self,
         value: impl Into,
-    ) -> TestingPolisStatementV1Builder, S> {
+    ) -> TestingPolisStatementV1Builder<
+        testing_polis_statement_v1_state::SetText,
+        S,
+    > {
         self._fields.2 = Option::Some(value.into());
         TestingPolisStatementV1Builder {
             _state: PhantomData,
@@ -346,10 +363,10 @@ where
 }
 
 fn lexicon_doc_scot_comhairle_testingPolisStatementV1() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("scot.comhairle.testingPolisStatementV1"),
@@ -358,25 +375,30 @@ fn lexicon_doc_scot_comhairle_testingPolisStatementV1() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A statement in the Polis-style deliberation system",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A statement in the Polis-style deliberation system",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("text"),
-                            SmolStr::new_static("poll"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("text"), SmolStr::new_static("poll"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the statement was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp when the statement was created",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -391,9 +413,9 @@ fn lexicon_doc_scot_comhairle_testingPolisStatementV1() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("text"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The text content of the statement",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The text content of the statement"),
+                                    ),
                                     max_length: Some(3000usize),
                                     ..Default::default()
                                 }),
@@ -409,16 +431,18 @@ fn lexicon_doc_scot_comhairle_testingPolisStatementV1() -> LexiconDoc<'static> {
                 SmolStr::new_static("pollRef"),
                 LexUserType::Object(LexObject {
                     description: Some(CowStr::new_static("Reference to a poll record")),
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content identifier of the poll record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Content identifier of the poll record"),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -426,7 +450,9 @@ fn lexicon_doc_scot_comhairle_testingPolisStatementV1() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("AT-URI of the poll record")),
+                                description: Some(
+                                    CowStr::new_static("AT-URI of the poll record"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -444,7 +470,7 @@ fn lexicon_doc_scot_comhairle_testingPolisStatementV1() -> LexiconDoc<'static> {
 
 pub mod poll_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -589,4 +615,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/scot_comhairle/testing_polis_vote_v1.rs b/crates/jacquard-api/src/scot_comhairle/testing_polis_vote_v1.rs
index 3a6a33001..0996bcd7f 100644
--- a/crates/jacquard-api/src/scot_comhairle/testing_polis_vote_v1.rs
+++ b/crates/jacquard-api/src/scot_comhairle/testing_polis_vote_v1.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::scot_comhairle::testing_polis_vote_v1;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::scot_comhairle::testing_polis_vote_v1;
 /// A vote on a statement in the Polis-style deliberation system
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -64,10 +64,7 @@ pub struct TestingPolisVoteV1GetRecordOutput {
 /// Reference to a poll record
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PollRef {
     ///Content identifier of the poll record
     pub cid: Cid,
@@ -80,10 +77,7 @@ pub struct PollRef {
 /// Reference to a statement record
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StatementRef {
     ///Content identifier of the statement record
     pub cid: Cid,
@@ -173,7 +167,7 @@ impl LexiconSchema for StatementRef {
 
 pub mod testing_polis_vote_v1_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -246,8 +240,10 @@ pub mod testing_polis_vote_v1_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TestingPolisVoteV1Builder
-{
+pub struct TestingPolisVoteV1Builder<
+    St: testing_polis_vote_v1_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -260,14 +256,20 @@ pub struct TestingPolisVoteV1Builder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> TestingPolisVoteV1Builder {
+    pub fn new() -> TestingPolisVoteV1Builder<
+        testing_polis_vote_v1_state::Empty,
+        DefaultStr,
+    > {
         TestingPolisVoteV1Builder::new()
     }
 }
 
 impl TestingPolisVoteV1 {
     /// Create a new builder for this type
-    pub fn builder() -> TestingPolisVoteV1Builder {
+    pub fn builder() -> TestingPolisVoteV1Builder<
+        testing_polis_vote_v1_state::Empty,
+        S,
+    > {
         TestingPolisVoteV1Builder::builder()
     }
 }
@@ -389,7 +391,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TestingPolisVoteV1 {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TestingPolisVoteV1 {
         TestingPolisVoteV1 {
             created_at: self._fields.0.unwrap(),
             poll: self._fields.1.unwrap(),
@@ -401,10 +406,10 @@ where
 }
 
 fn lexicon_doc_scot_comhairle_testingPolisVoteV1() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("scot.comhairle.testingPolisVoteV1"),
@@ -413,26 +418,29 @@ fn lexicon_doc_scot_comhairle_testingPolisVoteV1() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A vote on a statement in the Polis-style deliberation system",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A vote on a statement in the Polis-style deliberation system",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("value"),
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("poll"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("value"),
+                                SmolStr::new_static("subject"), SmolStr::new_static("poll"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the vote was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when the vote was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -469,16 +477,18 @@ fn lexicon_doc_scot_comhairle_testingPolisVoteV1() -> LexiconDoc<'static> {
                 SmolStr::new_static("pollRef"),
                 LexUserType::Object(LexObject {
                     description: Some(CowStr::new_static("Reference to a poll record")),
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content identifier of the poll record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Content identifier of the poll record"),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -486,7 +496,9 @@ fn lexicon_doc_scot_comhairle_testingPolisVoteV1() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("AT-URI of the poll record")),
+                                description: Some(
+                                    CowStr::new_static("AT-URI of the poll record"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -499,17 +511,23 @@ fn lexicon_doc_scot_comhairle_testingPolisVoteV1() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("statementRef"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Reference to a statement record")),
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]),
+                    description: Some(
+                        CowStr::new_static("Reference to a statement record"),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Content identifier of the statement record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Content identifier of the statement record",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -517,9 +535,9 @@ fn lexicon_doc_scot_comhairle_testingPolisVoteV1() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "AT-URI of the statement record",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("AT-URI of the statement record"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -537,7 +555,7 @@ fn lexicon_doc_scot_comhairle_testingPolisVoteV1() -> LexiconDoc<'static> {
 
 pub mod poll_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -686,7 +704,7 @@ where
 
 pub mod statement_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -824,11 +842,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StatementRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StatementRef {
         StatementRef {
             cid: self._fields.0.unwrap(),
             uri: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled.rs b/crates/jacquard-api/src/sh_tangled.rs
index 55ac754d7..f6c32b592 100644
--- a/crates/jacquard-api/src/sh_tangled.rs
+++ b/crates/jacquard-api/src/sh_tangled.rs
@@ -18,4 +18,4 @@ pub mod public_key;
 pub mod repo;
 pub mod spindle;
 pub mod string;
-pub mod sync;
+pub mod sync;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/actor.rs b/crates/jacquard-api/src/sh_tangled/actor.rs
index 62443f76a..a877b55b3 100644
--- a/crates/jacquard-api/src/sh_tangled/actor.rs
+++ b/crates/jacquard-api/src/sh_tangled/actor.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `sh.tangled.actor` Lexicon namespace/module.
-pub mod profile;
+pub mod profile;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/actor/profile.rs b/crates/jacquard-api/src/sh_tangled/actor/profile.rs
index cb6b06b6c..1c88cac29 100644
--- a/crates/jacquard-api/src/sh_tangled/actor/profile.rs
+++ b/crates/jacquard-api/src/sh_tangled/actor/profile.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Handle, UriValue};
+use jacquard_common::types::string::{Handle, AtUri, Cid, UriValue};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A declaration of a Tangled account profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -137,20 +137,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -286,7 +291,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -530,10 +535,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.actor.profile"),
@@ -662,4 +667,4 @@ fn lexicon_doc_sh_tangled_actor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed.rs b/crates/jacquard-api/src/sh_tangled/feed.rs
index 8a5cf3a22..6b9dddc79 100644
--- a/crates/jacquard-api/src/sh_tangled/feed.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed.rs
@@ -12,4 +12,4 @@ pub mod list_reactions_by;
 pub mod list_stars;
 pub mod list_stars_by;
 pub mod reaction;
-pub mod star;
+pub mod star;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/comment.rs b/crates/jacquard-api/src/sh_tangled/feed/comment.rs
index 05323eb43..5cc4715cd 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/comment.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::sh_tangled::markup::markdown::Markdown;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::sh_tangled::markup::markdown::Markdown;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -120,7 +120,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -340,10 +340,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_feed_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.feed.comment"),
@@ -354,18 +354,21 @@ fn lexicon_doc_sh_tangled_feed_comment() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("body"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"), SmolStr::new_static("body"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("body"),
                                 LexObjectProperty::Union(LexRefUnion {
-                                    refs: vec![CowStr::new_static("sh.tangled.markup.markdown")],
+                                    refs: vec![
+                                        CowStr::new_static("sh.tangled.markup.markdown")
+                                    ],
                                     ..Default::default()
                                 }),
                             );
@@ -408,4 +411,4 @@ fn lexicon_doc_sh_tangled_feed_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/list_comments.rs b/crates/jacquard-api/src/sh_tangled/feed/list_comments.rs
index 0b2144fbd..e16a02ed8 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/list_comments.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/list_comments.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::feed::list_comments;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::feed::list_comments;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListComments {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListComments {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCommentsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListCommentsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_feed_listComments() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.feed.listComments"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_feed_listComments() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_feed_listComments() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Record AT-URI the comments are attached to.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Record AT-URI the comments are attached to.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_comments_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/list_comments_by.rs b/crates/jacquard-api/src/sh_tangled/feed/list_comments_by.rs
index eb3475f96..7ccad7252 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/list_comments_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/list_comments_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::feed::list_comments::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::feed::list_comments::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCommentsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListCommentsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCommentsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_comments_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_comments_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListCommentsByBuilder {
+pub struct ListCommentsByBuilder<
+    St: list_comments_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/list_reactions.rs b/crates/jacquard-api/src/sh_tangled/feed/list_reactions.rs
index b76ba6191..b92e762b1 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/list_reactions.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/list_reactions.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::feed::list_reactions;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::feed::list_reactions;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListReactions {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListReactions {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListReactionsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListReactionsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_feed_listReactions() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.feed.listReactions"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_feed_listReactions() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,49 @@ fn lexicon_doc_sh_tangled_feed_listReactions() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Record AT-URI the reactions target.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Record AT-URI the reactions target."),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +382,7 @@ fn _default_order() -> Option {
 
 pub mod list_reactions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -419,7 +413,10 @@ pub mod list_reactions_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListReactionsBuilder {
+pub struct ListReactionsBuilder<
+    St: list_reactions_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -533,4 +530,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/list_reactions_by.rs b/crates/jacquard-api/src/sh_tangled/feed/list_reactions_by.rs
index a4cf2c6c6..862a2f82a 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/list_reactions_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/list_reactions_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::feed::list_reactions::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::feed::list_reactions::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListReactionsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListReactionsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListReactionsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_reactions_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_reactions_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListReactionsByBuilder {
+pub struct ListReactionsByBuilder<
+    St: list_reactions_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/list_stars.rs b/crates/jacquard-api/src/sh_tangled/feed/list_stars.rs
index 9e5dff283..14036e9d7 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/list_stars.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/list_stars.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::feed::list_stars;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::feed::list_stars;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStars {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListStars {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStarsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListStarsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_feed_listStars() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.feed.listStars"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_feed_listStars() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,46 +320,48 @@ fn lexicon_doc_sh_tangled_feed_listStars() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repo DID to list star edges for.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Repo DID to list star edges for."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -387,7 +381,7 @@ fn _default_order() -> Option {
 
 pub mod list_stars_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -532,4 +526,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/list_stars_by.rs b/crates/jacquard-api/src/sh_tangled/feed/list_stars_by.rs
index 41dc21063..a174bbda6 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/list_stars_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/list_stars_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::feed::list_stars::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::feed::list_stars::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStarsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListStarsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStarsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_stars_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -233,4 +228,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/reaction.rs b/crates/jacquard-api/src/sh_tangled/feed/reaction.rs
index c63a98d79..a7bf5d4a1 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/reaction.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/reaction.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -104,7 +104,7 @@ impl LexiconSchema for Reaction {
 
 pub mod reaction_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -288,10 +288,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_feed_reaction() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.feed.reaction"),
@@ -302,11 +302,13 @@ fn lexicon_doc_sh_tangled_feed_reaction() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("reaction"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("reaction"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -341,4 +343,4 @@ fn lexicon_doc_sh_tangled_feed_reaction() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/feed/star.rs b/crates/jacquard-api/src/sh_tangled/feed/star.rs
index f61b2614d..19ca56888 100644
--- a/crates/jacquard-api/src/sh_tangled/feed/star.rs
+++ b/crates/jacquard-api/src/sh_tangled/feed/star.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::feed::star;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::feed::star;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -43,6 +43,7 @@ pub struct Star {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub enum StarSubject {
@@ -63,22 +64,18 @@ pub struct StarGetRecordOutput {
     pub value: Star,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Repo {
     pub did: Did,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct StarString {
     pub uri: AtUri,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -165,7 +162,7 @@ impl LexiconSchema for StarString {
 
 pub mod star_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -313,10 +310,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_feed_star() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.feed.star"),
@@ -327,10 +324,12 @@ fn lexicon_doc_sh_tangled_feed_star() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -345,8 +344,7 @@ fn lexicon_doc_sh_tangled_feed_star() -> LexiconDoc<'static> {
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::Union(LexRefUnion {
                                     refs: vec![
-                                        CowStr::new_static("#repo"),
-                                        CowStr::new_static("#string"),
+                                        CowStr::new_static("#repo"), CowStr::new_static("#string")
                                     ],
                                     closed: Some(true),
                                     ..Default::default()
@@ -405,7 +403,7 @@ fn lexicon_doc_sh_tangled_feed_star() -> LexiconDoc<'static> {
 
 pub mod repo_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -484,7 +482,10 @@ where
     St::Did: repo_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> RepoBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> RepoBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         RepoBuilder {
             _state: PhantomData,
@@ -517,7 +518,7 @@ where
 
 pub mod star_string_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -622,10 +623,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> StarString {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> StarString {
         StarString {
             uri: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git.rs b/crates/jacquard-api/src/sh_tangled/git.rs
index a2e21c534..3a27b0bd9 100644
--- a/crates/jacquard-api/src/sh_tangled/git.rs
+++ b/crates/jacquard-api/src/sh_tangled/git.rs
@@ -7,4 +7,4 @@
 pub mod list_ref_updates;
 pub mod list_ref_updates_by;
 pub mod ref_update;
-pub mod temp;
+pub mod temp;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/list_ref_updates.rs b/crates/jacquard-api/src/sh_tangled/git/list_ref_updates.rs
index eb930d9b9..f2ad4f3e1 100644
--- a/crates/jacquard-api/src/sh_tangled/git/list_ref_updates.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/list_ref_updates.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::git::list_ref_updates;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::list_ref_updates;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRefUpdates {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListRefUpdates {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRefUpdatesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListRefUpdatesRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_git_listRefUpdates() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.git.listRefUpdates"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_git_listRefUpdates() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_git_listRefUpdates() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repo DID whose ref-update records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Repo DID whose ref-update records to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_ref_updates_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -419,7 +415,10 @@ pub mod list_ref_updates_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListRefUpdatesBuilder {
+pub struct ListRefUpdatesBuilder<
+    St: list_ref_updates_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -533,4 +532,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/list_ref_updates_by.rs b/crates/jacquard-api/src/sh_tangled/git/list_ref_updates_by.rs
index 7f4d281c0..026b7b46d 100644
--- a/crates/jacquard-api/src/sh_tangled/git/list_ref_updates_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/list_ref_updates_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::git::list_ref_updates::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::list_ref_updates::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRefUpdatesBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListRefUpdatesBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRefUpdatesByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_ref_updates_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_ref_updates_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListRefUpdatesByBuilder {
+pub struct ListRefUpdatesByBuilder<
+    St: list_ref_updates_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -127,7 +125,10 @@ pub struct ListRefUpdatesByBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ListRefUpdatesByBuilder {
+    pub fn new() -> ListRefUpdatesByBuilder<
+        list_ref_updates_by_state::Empty,
+        DefaultStr,
+    > {
         ListRefUpdatesByBuilder::new()
     }
 }
@@ -233,4 +234,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/ref_update.rs b/crates/jacquard-api/src/sh_tangled/git/ref_update.rs
index bc8cb2fda..a6a219eff 100644
--- a/crates/jacquard-api/src/sh_tangled/git/ref_update.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/ref_update.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::git::ref_update;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::ref_update;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CommitCountBreakdown {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub by_email: Option>>,
@@ -41,11 +38,9 @@ pub struct CommitCountBreakdown {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct IndividualEmailCommitCount {
     pub count: i64,
     pub email: S,
@@ -53,11 +48,9 @@ pub struct IndividualEmailCommitCount {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct IndividualLanguageSize {
     pub lang: S,
     pub size: i64,
@@ -65,11 +58,9 @@ pub struct IndividualLanguageSize {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LangBreakdown {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub inputs: Option>>,
@@ -116,11 +107,9 @@ pub struct RefUpdateGetRecordOutput {
     pub value: RefUpdate,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Meta {
     pub commit_count: ref_update::CommitCountBreakdown,
     /// Defaults to `false`.
@@ -324,10 +313,10 @@ impl LexiconSchema for Meta {
 }
 
 fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.git.refUpdate"),
@@ -358,10 +347,9 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("individualEmailCommitCount"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("email"),
-                        SmolStr::new_static("count"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("email"), SmolStr::new_static("count")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -373,9 +361,7 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("email"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -385,18 +371,15 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("individualLanguageSize"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("lang"),
-                        SmolStr::new_static("size"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("lang"), SmolStr::new_static("size")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("lang"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("size"),
@@ -433,28 +416,30 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "An update to a git repository, emitted by knots.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "An update to a git repository, emitted by knots.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("ref"),
-                            SmolStr::new_static("committerDid"),
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("oldSha"),
-                            SmolStr::new_static("newSha"),
-                            SmolStr::new_static("meta"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("ref"),
+                                SmolStr::new_static("committerDid"),
+                                SmolStr::new_static("repo"), SmolStr::new_static("oldSha"),
+                                SmolStr::new_static("newSha"), SmolStr::new_static("meta")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("committerDid"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "did of the user that pushed this ref",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("did of the user that pushed this ref"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -469,7 +454,9 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("newSha"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("new SHA of this ref")),
+                                    description: Some(
+                                        CowStr::new_static("new SHA of this ref"),
+                                    ),
                                     min_length: Some(40usize),
                                     max_length: Some(40usize),
                                     ..Default::default()
@@ -478,7 +465,9 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("oldSha"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("old SHA of this ref")),
+                                    description: Some(
+                                        CowStr::new_static("old SHA of this ref"),
+                                    ),
                                     min_length: Some(40usize),
                                     max_length: Some(40usize),
                                     ..Default::default()
@@ -487,9 +476,9 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("ownerDid"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "did of the owner of the repo",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("did of the owner of the repo"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -506,7 +495,9 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("repo"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("DID of the repo itself")),
+                                    description: Some(
+                                        CowStr::new_static("DID of the repo itself"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -521,10 +512,12 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("meta"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("isDefaultRef"),
-                        SmolStr::new_static("commitCount"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("isDefaultRef"),
+                            SmolStr::new_static("commitCount")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -561,7 +554,7 @@ fn lexicon_doc_sh_tangled_git_refUpdate() -> LexiconDoc<'static> {
 
 pub mod individual_email_commit_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -615,22 +608,28 @@ pub struct IndividualEmailCommitCountBuilder<
 
 impl IndividualEmailCommitCount {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> IndividualEmailCommitCountBuilder
-    {
+    pub fn new() -> IndividualEmailCommitCountBuilder<
+        individual_email_commit_count_state::Empty,
+        DefaultStr,
+    > {
         IndividualEmailCommitCountBuilder::new()
     }
 }
 
 impl IndividualEmailCommitCount {
     /// Create a new builder for this type
-    pub fn builder()
-    -> IndividualEmailCommitCountBuilder {
+    pub fn builder() -> IndividualEmailCommitCountBuilder<
+        individual_email_commit_count_state::Empty,
+        S,
+    > {
         IndividualEmailCommitCountBuilder::builder()
     }
 }
 
-impl IndividualEmailCommitCountBuilder {
+impl IndividualEmailCommitCountBuilder<
+    individual_email_commit_count_state::Empty,
+    DefaultStr,
+> {
     /// Create a new builder with all fields unset, using the default string type, if needed
     pub fn new() -> Self {
         IndividualEmailCommitCountBuilder {
@@ -641,7 +640,9 @@ impl IndividualEmailCommitCountBuilder IndividualEmailCommitCountBuilder {
+impl<
+    S: BosStr,
+> IndividualEmailCommitCountBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         IndividualEmailCommitCountBuilder {
@@ -661,8 +662,10 @@ where
     pub fn count(
         mut self,
         value: impl Into,
-    ) -> IndividualEmailCommitCountBuilder, S>
-    {
+    ) -> IndividualEmailCommitCountBuilder<
+        individual_email_commit_count_state::SetCount,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         IndividualEmailCommitCountBuilder {
             _state: PhantomData,
@@ -681,8 +684,10 @@ where
     pub fn email(
         mut self,
         value: impl Into,
-    ) -> IndividualEmailCommitCountBuilder, S>
-    {
+    ) -> IndividualEmailCommitCountBuilder<
+        individual_email_commit_count_state::SetEmail,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         IndividualEmailCommitCountBuilder {
             _state: PhantomData,
@@ -721,7 +726,7 @@ where
 
 pub mod individual_language_size_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -775,15 +780,20 @@ pub struct IndividualLanguageSizeBuilder<
 
 impl IndividualLanguageSize {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> IndividualLanguageSizeBuilder
-    {
+    pub fn new() -> IndividualLanguageSizeBuilder<
+        individual_language_size_state::Empty,
+        DefaultStr,
+    > {
         IndividualLanguageSizeBuilder::new()
     }
 }
 
 impl IndividualLanguageSize {
     /// Create a new builder for this type
-    pub fn builder() -> IndividualLanguageSizeBuilder {
+    pub fn builder() -> IndividualLanguageSizeBuilder<
+        individual_language_size_state::Empty,
+        S,
+    > {
         IndividualLanguageSizeBuilder::builder()
     }
 }
@@ -877,7 +887,7 @@ where
 
 pub mod ref_update_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1189,7 +1199,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RefUpdate {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RefUpdate {
         RefUpdate {
             committer_did: self._fields.0.unwrap(),
             meta: self._fields.1.unwrap(),
@@ -1209,7 +1222,7 @@ fn _default_meta_is_default_ref() -> bool {
 
 pub mod meta_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1346,7 +1359,10 @@ impl MetaBuilder {
         self
     }
     /// Set the `langBreakdown` field to an Option value (optional)
-    pub fn maybe_lang_breakdown(mut self, value: Option>) -> Self {
+    pub fn maybe_lang_breakdown(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -1376,4 +1392,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp.rs b/crates/jacquard-api/src/sh_tangled/git/temp.rs
index bf7a2f511..ad0f88d21 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp.rs
@@ -21,12 +21,13 @@ pub mod list_commits;
 pub mod list_languages;
 pub mod list_tags;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -37,17 +38,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::git::temp;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp;
 /// blob metadata. This object doesn't include the blob content
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Blob {
     pub last_commit: temp::Commit,
     pub mode: S,
@@ -62,11 +60,9 @@ pub struct Blob {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Branch {
     ///hydrated commit object
     pub commit: temp::Commit,
@@ -76,11 +72,9 @@ pub struct Branch {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Commit {
     pub author: temp::Signature,
     pub committer: temp::Signature,
@@ -94,10 +88,7 @@ pub struct Commit {
 pub type Hash = S;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///Person email
     pub email: S,
@@ -109,11 +100,9 @@ pub struct Signature {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Submodule {
     ///Branch to track in the submodule
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -126,11 +115,9 @@ pub struct Submodule {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tag {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub message: Option,
@@ -234,7 +221,7 @@ impl LexiconSchema for Tag {
 
 pub mod blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -380,7 +367,10 @@ where
     St::Mode: blob_state::IsUnset,
 {
     /// Set the `mode` field (required)
-    pub fn mode(mut self, value: impl Into) -> BlobBuilder, S> {
+    pub fn mode(
+        mut self,
+        value: impl Into,
+    ) -> BlobBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -396,7 +386,10 @@ where
     St::Name: blob_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> BlobBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> BlobBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -412,7 +405,10 @@ where
     St::Size: blob_state::IsUnset,
 {
     /// Set the `size` field (required)
-    pub fn size(mut self, value: impl Into) -> BlobBuilder, S> {
+    pub fn size(
+        mut self,
+        value: impl Into,
+    ) -> BlobBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -468,10 +464,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.git.temp.defs"),
@@ -480,15 +476,18 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("blob"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "blob metadata. This object doesn't include the blob content",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("mode"),
-                        SmolStr::new_static("size"),
-                        SmolStr::new_static("lastCommit"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "blob metadata. This object doesn't include the blob content",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("mode"),
+                            SmolStr::new_static("size"),
+                            SmolStr::new_static("lastCommit")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -501,9 +500,7 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("mode"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
@@ -533,10 +530,9 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("branch"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("commit"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("commit")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -562,13 +558,13 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("commit"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("hash"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("committer"),
-                        SmolStr::new_static("message"),
-                        SmolStr::new_static("tree"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("hash"), SmolStr::new_static("author"),
+                            SmolStr::new_static("committer"),
+                            SmolStr::new_static("message"), SmolStr::new_static("tree")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -595,9 +591,7 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("message"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("tree"),
@@ -613,18 +607,17 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("hash"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("signature"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("email"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("email"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -645,7 +638,9 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("when"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Timestamp of the signature")),
+                                description: Some(
+                                    CowStr::new_static("Timestamp of the signature"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -658,19 +653,18 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("submodule"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("url"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("url")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("branch"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Branch to track in the submodule",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Branch to track in the submodule"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -684,7 +678,9 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Submodule repository URL")),
+                                description: Some(
+                                    CowStr::new_static("Submodule repository URL"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -696,19 +692,18 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("tag"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("tagger"),
-                        SmolStr::new_static("target"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("tagger"),
+                            SmolStr::new_static("target")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("message"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
@@ -743,7 +738,7 @@ fn lexicon_doc_sh_tangled_git_temp_defs() -> LexiconDoc<'static> {
 
 pub mod branch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -853,7 +848,10 @@ where
     St::Name: branch_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> BranchBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> BranchBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         BranchBuilder {
             _state: PhantomData,
@@ -889,7 +887,7 @@ where
 
 pub mod commit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1158,7 +1156,7 @@ where
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1331,7 +1329,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             email: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -1343,7 +1344,7 @@ where
 
 pub mod tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1402,12 +1403,7 @@ pub mod tag_state {
 /// Builder for constructing an instance of this type.
 pub struct TagBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -1501,7 +1497,10 @@ where
     St::Target: tag_state::IsUnset,
 {
     /// Set the `target` field (required)
-    pub fn target(mut self, value: impl Into>) -> TagBuilder, S> {
+    pub fn target(
+        mut self,
+        value: impl Into>,
+    ) -> TagBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         TagBuilder {
             _state: PhantomData,
@@ -1538,4 +1537,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/analyze_merge.rs b/crates/jacquard-api/src/sh_tangled/git/temp/analyze_merge.rs
index 4466a8c95..03e4a9131 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/analyze_merge.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/analyze_merge.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::git::temp::analyze_merge;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp::analyze_merge;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ConflictInfo {
     ///Name of the conflicted file
     pub filename: S,
@@ -40,22 +37,18 @@ pub struct ConflictInfo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AnalyzeMerge {
     pub branch: S,
     pub patch: S,
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AnalyzeMergeOutput {
     ///List of files with merge conflicts
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -110,10 +103,10 @@ impl jacquard_common::xrpc::XrpcEndpoint for AnalyzeMergeRequest {
 }
 
 fn lexicon_doc_sh_tangled_git_temp_analyzeMerge() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.git.temp.analyzeMerge"),
@@ -122,26 +115,30 @@ fn lexicon_doc_sh_tangled_git_temp_analyzeMerge() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("conflictInfo"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("filename"),
-                        SmolStr::new_static("reason"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("filename"),
+                            SmolStr::new_static("reason")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("filename"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Name of the conflicted file",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Name of the conflicted file"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("reason"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Reason for the conflict")),
+                                description: Some(
+                                    CowStr::new_static("Reason for the conflict"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -153,45 +150,52 @@ fn lexicon_doc_sh_tangled_git_temp_analyzeMerge() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("patch"),
-                            SmolStr::new_static("branch"),
-                        ]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("branch"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Target branch to merge into",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("patch"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Patch or pull request to check for merge conflicts",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("DID of the repository")),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(
+                                vec![
+                                    SmolStr::new_static("repo"), SmolStr::new_static("patch"),
+                                    SmolStr::new_static("branch")
+                                ],
+                            ),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("branch"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Target branch to merge into"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("patch"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Patch or pull request to check for merge conflicts",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("DID of the repository"),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -203,7 +207,7 @@ fn lexicon_doc_sh_tangled_git_temp_analyzeMerge() -> LexiconDoc<'static> {
 
 pub mod analyze_merge_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -374,4 +378,4 @@ where
             repo: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_archive.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_archive.rs
index 28492878e..daacfe77c 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_archive.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_archive.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetArchive {
     /// Defaults to `"tar.gz"`.
     #[serde(default = "_default_format")]
@@ -42,9 +39,18 @@ pub struct GetArchiveOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetArchiveError {
     /// Repository not found or access denied
@@ -61,10 +67,7 @@ pub enum GetArchiveError {
     ArchiveError(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetArchiveError {
@@ -162,7 +165,7 @@ fn _default_format() -> Option {
 
 pub mod get_archive_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -326,4 +329,4 @@ where
             repo: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_blob.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_blob.rs
index b00f62ffc..50fd83e26 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_blob.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_blob.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBlob {
     pub path: S,
     /// Defaults to `"HEAD"`.
@@ -40,9 +37,18 @@ pub struct GetBlobOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetBlobError {
     /// Repository not found or access denied
@@ -56,10 +62,7 @@ pub enum GetBlobError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetBlobError {
@@ -150,7 +153,7 @@ fn _default_ref() -> Option {
 
 pub mod get_blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -241,7 +244,10 @@ where
     St::Path: get_blob_state::IsUnset,
 {
     /// Set the `path` field (required)
-    pub fn path(mut self, value: impl Into) -> GetBlobBuilder, S> {
+    pub fn path(
+        mut self,
+        value: impl Into,
+    ) -> GetBlobBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         GetBlobBuilder {
             _state: PhantomData,
@@ -297,4 +303,4 @@ where
             repo: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_branch.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_branch.rs
index d615b4aab..9a33966d8 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_branch.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_branch.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::git::temp::Signature;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did};
+use jacquard_common::types::string::{Did, Datetime};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp::Signature;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBranch {
     pub name: S,
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBranchOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -49,9 +44,18 @@ pub struct GetBranchOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetBranchError {
     /// Repository not found or access denied
@@ -65,10 +69,7 @@ pub enum GetBranchError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetBranchError {
@@ -136,7 +137,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetBranchRequest {
 
 pub mod get_branch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -272,4 +273,4 @@ where
             repo: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_commit.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_commit.rs
index 7ce5df8c6..31e9a8423 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_commit.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_commit.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::git::temp::Commit;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp::Commit;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetCommit {
     pub r#ref: S,
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetCommitOutput {
     #[serde(flatten)]
     pub value: Commit,
@@ -40,9 +35,18 @@ pub struct GetCommitOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetCommitError {
     /// Repository not found or access denied
@@ -56,10 +60,7 @@ pub enum GetCommitError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetCommitError {
@@ -127,7 +128,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetCommitRequest {
 
 pub mod get_commit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -263,4 +264,4 @@ where
             repo: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_diff.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_diff.rs
index 08bbdd2ad..97136afb5 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_diff.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_diff.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetDiff {
     pub repo: Did,
     pub rev1: S,
@@ -37,9 +34,18 @@ pub struct GetDiffOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetDiffError {
     /// Repository not found or access denied
@@ -56,10 +62,7 @@ pub enum GetDiffError {
     CompareError(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetDiffError {
@@ -153,7 +156,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetDiffRequest {
 
 pub mod get_diff_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -277,7 +280,10 @@ where
     St::Rev1: get_diff_state::IsUnset,
 {
     /// Set the `rev1` field (required)
-    pub fn rev1(mut self, value: impl Into) -> GetDiffBuilder, S> {
+    pub fn rev1(
+        mut self,
+        value: impl Into,
+    ) -> GetDiffBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         GetDiffBuilder {
             _state: PhantomData,
@@ -293,7 +299,10 @@ where
     St::Rev2: get_diff_state::IsUnset,
 {
     /// Set the `rev2` field (required)
-    pub fn rev2(mut self, value: impl Into) -> GetDiffBuilder, S> {
+    pub fn rev2(
+        mut self,
+        value: impl Into,
+    ) -> GetDiffBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         GetDiffBuilder {
             _state: PhantomData,
@@ -318,4 +327,4 @@ where
             rev2: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_entity.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_entity.rs
index b17c080d1..24be9e6ef 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_entity.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_entity.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::git::temp::Blob;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp::Blob;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntity {
     pub path: S,
     /// Defaults to `"HEAD"`.
@@ -32,11 +29,9 @@ pub struct GetEntity {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntityOutput {
     #[serde(flatten)]
     pub value: Blob,
@@ -44,9 +39,18 @@ pub struct GetEntityOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetEntityError {
     /// Repository not found or access denied
@@ -60,10 +64,7 @@ pub enum GetEntityError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetEntityError {
@@ -135,7 +136,7 @@ fn _default_ref() -> Option {
 
 pub mod get_entity_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -285,4 +286,4 @@ where
             repo: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_head.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_head.rs
index 2bacf1685..15ac32e3f 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_head.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_head.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::git::temp::Branch;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp::Branch;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetHead {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetHeadOutput {
     #[serde(flatten)]
     pub value: Branch,
@@ -39,9 +34,18 @@ pub struct GetHeadOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetHeadError {
     /// Repository not found or access denied
@@ -52,10 +56,7 @@ pub enum GetHeadError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetHeadError {
@@ -116,7 +117,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetHeadRequest {
 
 pub mod get_head_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -219,4 +220,4 @@ where
             repo: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_tag.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_tag.rs
index 83086c098..adf261d00 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_tag.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_tag.rs
@@ -10,33 +10,40 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTag {
     pub repo: Did,
     pub tag: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetTagOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetTagError {
     /// Repository not found or access denied
@@ -50,10 +57,7 @@ pub enum GetTagError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetTagError {
@@ -140,7 +144,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTagRequest {
 
 pub mod get_tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -250,7 +254,10 @@ where
     St::Tag: get_tag_state::IsUnset,
 {
     /// Set the `tag` field (required)
-    pub fn tag(mut self, value: impl Into) -> GetTagBuilder, S> {
+    pub fn tag(
+        mut self,
+        value: impl Into,
+    ) -> GetTagBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         GetTagBuilder {
             _state: PhantomData,
@@ -273,4 +280,4 @@ where
             tag: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/get_tree.rs b/crates/jacquard-api/src/sh_tangled/git/temp/get_tree.rs
index bec6d7b2c..879286a39 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/get_tree.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/get_tree.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did};
+use jacquard_common::types::string::{Did, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::git::temp::get_tree;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp::get_tree;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LastCommit {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -44,11 +41,9 @@ pub struct LastCommit {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTree {
     /// Defaults to `""`.
     #[serde(default = "_default_path")]
@@ -58,11 +53,9 @@ pub struct GetTree {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTreeOutput {
     ///Parent directory path
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -82,9 +75,18 @@ pub struct GetTreeOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetTreeError {
     /// Repository not found or access denied
@@ -101,10 +103,7 @@ pub enum GetTreeError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetTreeError {
@@ -149,11 +148,9 @@ impl core::fmt::Display for GetTreeError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Readme {
     ///Contents of the readme file
     pub contents: S,
@@ -163,11 +160,9 @@ pub struct Readme {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///Author email
     pub email: S,
@@ -179,11 +174,9 @@ pub struct Signature {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TreeEntry {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub last_commit: Option>,
@@ -287,7 +280,7 @@ impl LexiconSchema for TreeEntry {
 
 pub mod last_commit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -346,12 +339,7 @@ pub mod last_commit_state {
 /// Builder for constructing an instance of this type.
 pub struct LastCommitBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -479,7 +467,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LastCommit {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LastCommit {
         LastCommit {
             author: self._fields.0,
             hash: self._fields.1.unwrap(),
@@ -491,10 +482,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_git_temp_getTree() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.git.temp.getTree"),
@@ -503,11 +494,12 @@ fn lexicon_doc_sh_tangled_git_temp_getTree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("lastCommit"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("hash"),
-                        SmolStr::new_static("message"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("hash"), SmolStr::new_static("message"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -548,70 +540,81 @@ fn lexicon_doc_sh_tangled_git_temp_getTree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("ref"),
-                        ]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("path"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Path within the repository tree",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("ref"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Git reference (branch, tag, or commit SHA)",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("DID of the repository")),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(
+                                vec![
+                                    SmolStr::new_static("repo"), SmolStr::new_static("ref")
+                                ],
+                            ),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("path"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Path within the repository tree"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("ref"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Git reference (branch, tag, or commit SHA)",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("DID of the repository"),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("readme"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("filename"),
-                        SmolStr::new_static("contents"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("filename"),
+                            SmolStr::new_static("contents")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("contents"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Contents of the readme file",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Contents of the readme file"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("filename"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Name of the readme file")),
+                                description: Some(
+                                    CowStr::new_static("Name of the readme file"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -623,11 +626,12 @@ fn lexicon_doc_sh_tangled_git_temp_getTree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("signature"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("email"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("email"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -661,11 +665,12 @@ fn lexicon_doc_sh_tangled_git_temp_getTree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("treeEntry"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("mode"),
-                        SmolStr::new_static("size"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("mode"),
+                            SmolStr::new_static("size")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -686,9 +691,9 @@ fn lexicon_doc_sh_tangled_git_temp_getTree() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Relative file or directory name",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Relative file or directory name"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -715,7 +720,7 @@ fn _default_path() -> Option {
 
 pub mod get_tree_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -819,7 +824,10 @@ where
     St::Ref: get_tree_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> GetTreeBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> GetTreeBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         GetTreeBuilder {
             _state: PhantomData,
@@ -866,7 +874,7 @@ where
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1039,7 +1047,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             email: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -1051,7 +1062,7 @@ where
 
 pub mod tree_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1110,12 +1121,7 @@ pub mod tree_entry_state {
 /// Builder for constructing an instance of this type.
 pub struct TreeEntryBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -1157,7 +1163,10 @@ impl TreeEntryBuilder {
 
 impl TreeEntryBuilder {
     /// Set the `last_commit` field (optional)
-    pub fn last_commit(mut self, value: impl Into>>) -> Self {
+    pub fn last_commit(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
@@ -1243,7 +1252,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TreeEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TreeEntry {
         TreeEntry {
             last_commit: self._fields.0,
             mode: self._fields.1.unwrap(),
@@ -1252,4 +1264,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/list_branches.rs b/crates/jacquard-api/src/sh_tangled/git/temp/list_branches.rs
index e1d9219dd..f759ae01e 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/list_branches.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/list_branches.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListBranches {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,15 +30,25 @@ pub struct ListBranches {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct ListBranchesOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ListBranchesError {
     /// Repository not found or access denied
@@ -52,10 +59,7 @@ pub enum ListBranchesError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ListBranchesError {
@@ -139,7 +143,7 @@ fn _default_limit() -> Option {
 
 pub mod list_branches_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -270,4 +274,4 @@ where
             repo: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/list_commits.rs b/crates/jacquard-api/src/sh_tangled/git/temp/list_commits.rs
index 580b2f531..3d728070d 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/list_commits.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/list_commits.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCommits {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -35,15 +32,25 @@ pub struct ListCommits {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct ListCommitsOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ListCommitsError {
     /// Repository not found or access denied
@@ -60,10 +67,7 @@ pub enum ListCommitsError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ListCommitsError {
@@ -161,7 +165,7 @@ fn _default_limit() -> Option {
 
 pub mod list_commits_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -306,4 +310,4 @@ where
             repo: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/list_languages.rs b/crates/jacquard-api/src/sh_tangled/git/temp/list_languages.rs
index 559fc1140..24731bca7 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/list_languages.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/list_languages.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::git::temp::list_languages;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::temp::list_languages;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Language {
     ///Programming language name
     pub name: S,
@@ -40,11 +37,9 @@ pub struct Language {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListLanguages {
     /// Defaults to `"HEAD"`.
     #[serde(default = "_default_ref")]
@@ -53,11 +48,9 @@ pub struct ListLanguages {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListLanguagesOutput {
     pub languages: Vec>,
     ///The git reference used
@@ -68,9 +61,18 @@ pub struct ListLanguagesOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ListLanguagesError {
     /// Repository not found or access denied
@@ -84,10 +86,7 @@ pub enum ListLanguagesError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ListLanguagesError {
@@ -170,7 +169,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListLanguagesRequest {
 
 pub mod language_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -261,7 +260,10 @@ where
     St::Name: language_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> LanguageBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> LanguageBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         LanguageBuilder {
             _state: PhantomData,
@@ -315,10 +317,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_git_temp_listLanguages() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.git.temp.listLanguages"),
@@ -327,17 +329,18 @@ fn lexicon_doc_sh_tangled_git_temp_listLanguages() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("language"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("size"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("size")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Programming language name")),
+                                description: Some(
+                                    CowStr::new_static("Programming language name"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -355,32 +358,38 @@ fn lexicon_doc_sh_tangled_git_temp_listLanguages() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("repo")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("ref"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Git reference (branch, tag, or commit SHA)",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("DID of the repository")),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("repo")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("ref"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Git reference (branch, tag, or commit SHA)",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("DID of the repository"),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -396,7 +405,7 @@ fn _default_ref() -> Option {
 
 pub mod list_languages_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -427,7 +436,10 @@ pub mod list_languages_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListLanguagesBuilder {
+pub struct ListLanguagesBuilder<
+    St: list_languages_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -513,4 +525,4 @@ where
             repo: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/git/temp/list_tags.rs b/crates/jacquard-api/src/sh_tangled/git/temp/list_tags.rs
index 5c6051902..f6372b90b 100644
--- a/crates/jacquard-api/src/sh_tangled/git/temp/list_tags.rs
+++ b/crates/jacquard-api/src/sh_tangled/git/temp/list_tags.rs
@@ -10,19 +10,16 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListTags {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,15 +30,25 @@ pub struct ListTags {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct ListTagsOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ListTagsError {
     /// Repository not found or access denied
@@ -52,10 +59,7 @@ pub enum ListTagsError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ListTagsError {
@@ -139,7 +143,7 @@ fn _default_limit() -> Option {
 
 pub mod list_tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -270,4 +274,4 @@ where
             repo: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/graph.rs b/crates/jacquard-api/src/sh_tangled/graph.rs
index 527c07ace..e98c7b89f 100644
--- a/crates/jacquard-api/src/sh_tangled/graph.rs
+++ b/crates/jacquard-api/src/sh_tangled/graph.rs
@@ -9,4 +9,4 @@ pub mod list_follows;
 pub mod list_follows_by;
 pub mod list_vouches;
 pub mod list_vouches_by;
-pub mod vouch;
+pub mod vouch;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/graph/follow.rs b/crates/jacquard-api/src/sh_tangled/graph/follow.rs
index 1537defa3..0555a4363 100644
--- a/crates/jacquard-api/src/sh_tangled/graph/follow.rs
+++ b/crates/jacquard-api/src/sh_tangled/graph/follow.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -103,7 +103,7 @@ impl LexiconSchema for Follow {
 
 pub mod follow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -251,10 +251,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_graph_follow() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.graph.follow"),
@@ -265,10 +265,12 @@ fn lexicon_doc_sh_tangled_graph_follow() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -297,4 +299,4 @@ fn lexicon_doc_sh_tangled_graph_follow() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/graph/list_follows.rs b/crates/jacquard-api/src/sh_tangled/graph/list_follows.rs
index 2f8250de3..8532a5a3f 100644
--- a/crates/jacquard-api/src/sh_tangled/graph/list_follows.rs
+++ b/crates/jacquard-api/src/sh_tangled/graph/list_follows.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::graph::list_follows;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::graph::list_follows;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListFollows {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListFollows {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListFollowsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListFollowsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_graph_listFollows() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.graph.listFollows"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_graph_listFollows() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_graph_listFollows() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Followee DID whose inbound follows to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Followee DID whose inbound follows to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_follows_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/graph/list_follows_by.rs b/crates/jacquard-api/src/sh_tangled/graph/list_follows_by.rs
index ae63004d0..df535fa83 100644
--- a/crates/jacquard-api/src/sh_tangled/graph/list_follows_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/graph/list_follows_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::graph::list_follows::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::graph::list_follows::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListFollowsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListFollowsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListFollowsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_follows_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_follows_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListFollowsByBuilder {
+pub struct ListFollowsByBuilder<
+    St: list_follows_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/graph/list_vouches.rs b/crates/jacquard-api/src/sh_tangled/graph/list_vouches.rs
index b9e548391..e9ca1620a 100644
--- a/crates/jacquard-api/src/sh_tangled/graph/list_vouches.rs
+++ b/crates/jacquard-api/src/sh_tangled/graph/list_vouches.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::graph::list_vouches;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::graph::list_vouches;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListVouches {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListVouches {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListVouchesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListVouchesRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_graph_listVouches() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.graph.listVouches"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_graph_listVouches() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_graph_listVouches() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Vouchee DID whose inbound vouches to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Vouchee DID whose inbound vouches to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_vouches_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/graph/list_vouches_by.rs b/crates/jacquard-api/src/sh_tangled/graph/list_vouches_by.rs
index 21ffb4ac9..479c5ff86 100644
--- a/crates/jacquard-api/src/sh_tangled/graph/list_vouches_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/graph/list_vouches_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::graph::list_vouches::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::graph::list_vouches::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListVouchesBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListVouchesBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListVouchesByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_vouches_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_vouches_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListVouchesByBuilder {
+pub struct ListVouchesByBuilder<
+    St: list_vouches_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/graph/vouch.rs b/crates/jacquard-api/src/sh_tangled/graph/vouch.rs
index 952a71e1b..87a251239 100644
--- a/crates/jacquard-api/src/sh_tangled/graph/vouch.rs
+++ b/crates/jacquard-api/src/sh_tangled/graph/vouch.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -147,7 +147,7 @@ fn _default_vouch_kind() -> S {
 
 pub mod vouch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -192,12 +192,7 @@ pub mod vouch_state {
 /// Builder for constructing an instance of this type.
 pub struct VouchBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>>,
-        Option,
-        Option,
-    ),
+    _fields: (Option, Option>>, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -275,7 +270,10 @@ where
     St::Kind: vouch_state::IsUnset,
 {
     /// Set the `kind` field (required)
-    pub fn kind(mut self, value: impl Into) -> VouchBuilder, S> {
+    pub fn kind(
+        mut self,
+        value: impl Into,
+    ) -> VouchBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         VouchBuilder {
             _state: PhantomData,
@@ -327,10 +325,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_graph_vouch() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.graph.vouch"),
@@ -406,4 +404,4 @@ fn lexicon_doc_sh_tangled_graph_vouch() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot.rs b/crates/jacquard-api/src/sh_tangled/knot.rs
index a1a448972..0f965ad89 100644
--- a/crates/jacquard-api/src/sh_tangled/knot.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot.rs
@@ -14,16 +14,18 @@ pub mod list_members_by;
 pub mod member;
 pub mod remove_member;
 
+
 #[cfg(feature = "streaming")]
 pub mod subscribe_repos;
 pub mod version;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -39,7 +41,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -115,7 +117,7 @@ impl LexiconSchema for Knot {
 
 pub mod knot_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -229,10 +231,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_knot() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.knot"),
@@ -265,4 +267,4 @@ fn lexicon_doc_sh_tangled_knot() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/add_member.rs b/crates/jacquard-api/src/sh_tangled/knot/add_member.rs
index 7ba213509..0dacf0b4a 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/add_member.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/add_member.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AddMember {
     ///DID of the member to add
     pub subject: Did,
@@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for AddMemberResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for AddMember {
     const NSID: &'static str = "sh.tangled.knot.addMember";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = AddMemberResponse;
 }
 
@@ -53,15 +51,16 @@ Path: `/xrpc/sh.tangled.knot.addMember`. The request payload type is `AddMember<
 pub struct AddMemberRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for AddMemberRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.knot.addMember";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = AddMember;
     type Response = AddMemberResponse;
 }
 
 pub mod add_member_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -166,10 +165,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AddMember {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AddMember {
         AddMember {
             subject: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/list_keys.rs b/crates/jacquard-api/src/sh_tangled/knot/list_keys.rs
index 679dd9452..74f384e13 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/list_keys.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/list_keys.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did};
+use jacquard_common::types::string::{Did, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::knot::list_keys;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::knot::list_keys;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListKeys {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -40,11 +37,9 @@ pub struct ListKeys {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListKeysOutput {
     ///Pagination cursor for next page
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -54,9 +49,18 @@ pub struct ListKeysOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ListKeysError {
     /// Failed to retrieve public keys
@@ -64,10 +68,7 @@ pub enum ListKeysError {
     InternalServerError(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ListKeysError {
@@ -91,11 +92,9 @@ impl core::fmt::Display for ListKeysError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PublicKey {
     ///Key upload timestamp
     pub created_at: Datetime,
@@ -167,7 +166,7 @@ fn _default_limit() -> Option {
 
 pub mod list_keys_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -268,7 +267,7 @@ where
 
 pub mod public_key_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -411,7 +410,10 @@ where
     St::Key: public_key_state::IsUnset,
 {
     /// Set the `key` field (required)
-    pub fn key(mut self, value: impl Into) -> PublicKeyBuilder, S> {
+    pub fn key(
+        mut self,
+        value: impl Into,
+    ) -> PublicKeyBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         PublicKeyBuilder {
             _state: PhantomData,
@@ -438,7 +440,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PublicKey {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PublicKey {
         PublicKey {
             created_at: self._fields.0.unwrap(),
             did: self._fields.1.unwrap(),
@@ -449,10 +454,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_knot_listKeys() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.knot.listKeys"),
@@ -461,45 +466,50 @@ fn lexicon_doc_sh_tangled_knot_listKeys() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("publicKey"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("key"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("did"), SmolStr::new_static("key"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Key upload timestamp")),
+                                description: Some(
+                                    CowStr::new_static("Key upload timestamp"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -507,9 +517,9 @@ fn lexicon_doc_sh_tangled_knot_listKeys() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "DID associated with the public key",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("DID associated with the public key"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -517,7 +527,9 @@ fn lexicon_doc_sh_tangled_knot_listKeys() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("key"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Public key contents")),
+                                description: Some(
+                                    CowStr::new_static("Public key contents"),
+                                ),
                                 max_length: Some(4096usize),
                                 ..Default::default()
                             }),
@@ -531,4 +543,4 @@ fn lexicon_doc_sh_tangled_knot_listKeys() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/list_knots.rs b/crates/jacquard-api/src/sh_tangled/knot/list_knots.rs
index 2f52da914..ad6bc51a0 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/list_knots.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/list_knots.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::knot::list_knots;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::knot::list_knots;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListKnots {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListKnots {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListKnotsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListKnotsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_knot_listKnots() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.knot.listKnots"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_knot_listKnots() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,49 @@ fn lexicon_doc_sh_tangled_knot_listKnots() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Owner DID whose knot records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Owner DID whose knot records to list."),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +382,7 @@ fn _default_order() -> Option {
 
 pub mod list_knots_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +527,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/list_members.rs b/crates/jacquard-api/src/sh_tangled/knot/list_members.rs
index f0184278f..a1a06fe0d 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/list_members.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/list_members.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::knot::list_members;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::knot::list_members;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     ///DID that added this member
     pub added_by: Did,
@@ -48,11 +45,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembers {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -67,11 +62,9 @@ pub struct ListMembers {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembersOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -125,7 +118,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListMembersRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -345,10 +338,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_knot_listMembers() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.knot.listMembers"),
@@ -357,18 +350,22 @@ fn lexicon_doc_sh_tangled_knot_listMembers() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("subject"),
-                        SmolStr::new_static("addedBy"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("subject"),
+                            SmolStr::new_static("addedBy"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("addedBy"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("DID that added this member")),
+                                description: Some(
+                                    CowStr::new_static("DID that added this member"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -376,9 +373,11 @@ fn lexicon_doc_sh_tangled_knot_listMembers() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional record CID for record-backed indexers",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional record CID for record-backed indexers",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -386,7 +385,9 @@ fn lexicon_doc_sh_tangled_knot_listMembers() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("When the member was added")),
+                                description: Some(
+                                    CowStr::new_static("When the member was added"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -402,9 +403,11 @@ fn lexicon_doc_sh_tangled_knot_listMembers() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional record AT-URI for record-backed indexers",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional record AT-URI for record-backed indexers",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -417,46 +420,50 @@ fn lexicon_doc_sh_tangled_knot_listMembers() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Knot identifier whose member records to list.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Knot identifier whose member records to list.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -476,7 +483,7 @@ fn _default_order() -> Option {
 
 pub mod list_members_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -621,4 +628,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/list_members_by.rs b/crates/jacquard-api/src/sh_tangled/knot/list_members_by.rs
index b61c9b569..3ba7e5464 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/list_members_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/list_members_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::knot::list_members::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::knot::list_members::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembersBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListMembersBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembersByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_members_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_members_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListMembersByBuilder {
+pub struct ListMembersByBuilder<
+    St: list_members_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/member.rs b/crates/jacquard-api/src/sh_tangled/knot/member.rs
index b153ce6fb..1ba68a7f8 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/member.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/member.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -105,7 +105,7 @@ impl LexiconSchema for Member {
 
 pub mod member_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -229,7 +229,10 @@ where
     St::Domain: member_state::IsUnset,
 {
     /// Set the `domain` field (required)
-    pub fn domain(mut self, value: impl Into) -> MemberBuilder, S> {
+    pub fn domain(
+        mut self,
+        value: impl Into,
+    ) -> MemberBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         MemberBuilder {
             _state: PhantomData,
@@ -286,10 +289,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_knot_member() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.knot.member"),
@@ -300,11 +303,13 @@ fn lexicon_doc_sh_tangled_knot_member() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("domain"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("domain"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -318,9 +323,9 @@ fn lexicon_doc_sh_tangled_knot_member() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("domain"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "domain that this member now belongs to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("domain that this member now belongs to"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -342,4 +347,4 @@ fn lexicon_doc_sh_tangled_knot_member() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/remove_member.rs b/crates/jacquard-api/src/sh_tangled/knot/remove_member.rs
index 5a3e56de9..ec0a0aa0b 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/remove_member.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/remove_member.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RemoveMember {
     ///DID of the member to remove
     pub subject: Did,
@@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveMemberResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for RemoveMember {
     const NSID: &'static str = "sh.tangled.knot.removeMember";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RemoveMemberResponse;
 }
 
@@ -53,15 +51,16 @@ Path: `/xrpc/sh.tangled.knot.removeMember`. The request payload type is `RemoveM
 pub struct RemoveMemberRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RemoveMemberRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.knot.removeMember";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = RemoveMember;
     type Response = RemoveMemberResponse;
 }
 
 pub mod remove_member_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -166,10 +165,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RemoveMember {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RemoveMember {
         RemoveMember {
             subject: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/subscribe_repos.rs b/crates/jacquard-api/src/sh_tangled/knot/subscribe_repos.rs
index 19fc7ff3c..8aaa8dbd2 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/subscribe_repos.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/subscribe_repos.rs
@@ -10,28 +10,25 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::git::ref_update::RefUpdate;
-use crate::sh_tangled::knot::subscribe_repos;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::git::ref_update::RefUpdate;
+use crate::sh_tangled::knot::subscribe_repos;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GitSync1 {
     ///Repository DID identifier
     pub did: Did,
@@ -41,11 +38,9 @@ pub struct GitSync1 {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GitSync2 {
     ///Repository AT-URI identifier
     pub repo: AtUri,
@@ -55,11 +50,9 @@ pub struct GitSync2 {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Identity {
     ///Repository DID identifier
     pub did: Did,
@@ -70,6 +63,7 @@ pub struct Identity {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct SubscribeRepos {
@@ -77,6 +71,7 @@ pub struct SubscribeRepos {
     pub cursor: Option,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -95,26 +90,43 @@ impl SubscribeReposMessage {
     where
         S: serde::Deserialize<'de>,
     {
-        let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?;
+        let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(
+            bytes,
+        )?;
         match header.t.as_str() {
             "#identity" => {
-                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
+                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(
+                    body,
+                )?;
                 Ok(Self::Identity(Box::new(variant)))
             }
             "sh.tangled.git.refUpdate" => {
-                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
+                let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(
+                    body,
+                )?;
                 Ok(Self::RefUpdate(Box::new(variant)))
             }
-            unknown => Err(jacquard_common::error::DecodeError::UnknownEventType(
-                unknown.into(),
-            )),
+            unknown => {
+                Err(
+                    jacquard_common::error::DecodeError::UnknownEventType(unknown.into()),
+                )
+            }
         }
     }
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum SubscribeReposError {
     #[serde(rename = "FutureCursor")]
@@ -124,10 +136,7 @@ pub enum SubscribeReposError {
     ConsumerTooSlow(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for SubscribeReposError {
@@ -208,31 +217,28 @@ impl LexiconSchema for Identity {
 pub struct SubscribeReposStream;
 impl jacquard_common::xrpc::SubscriptionResp for SubscribeReposStream {
     const NSID: &'static str = "sh.tangled.knot.subscribeRepos";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Message = SubscribeReposMessage;
     type Error = SubscribeReposError;
 }
 
 impl jacquard_common::xrpc::XrpcSubscription for SubscribeRepos {
     const NSID: &'static str = "sh.tangled.knot.subscribeRepos";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Stream = SubscribeReposStream;
 }
 
 pub struct SubscribeReposEndpoint;
 impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeReposEndpoint {
     const PATH: &'static str = "/xrpc/sh.tangled.knot.subscribeRepos";
-    const ENCODING: jacquard_common::xrpc::MessageEncoding =
-        jacquard_common::xrpc::MessageEncoding::Json;
+    const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json;
     type Params = SubscribeRepos;
     type Stream = SubscribeReposStream;
 }
 
 pub mod git_sync1_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -342,7 +348,10 @@ where
     St::Seq: git_sync1_state::IsUnset,
 {
     /// Set the `seq` field (required)
-    pub fn seq(mut self, value: impl Into) -> GitSync1Builder, S> {
+    pub fn seq(
+        mut self,
+        value: impl Into,
+    ) -> GitSync1Builder, S> {
         self._fields.1 = Option::Some(value.into());
         GitSync1Builder {
             _state: PhantomData,
@@ -377,10 +386,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_knot_subscribeRepos() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.knot.subscribeRepos"),
@@ -389,14 +398,18 @@ fn lexicon_doc_sh_tangled_knot_subscribeRepos() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gitSync1"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![SmolStr::new_static("seq"), SmolStr::new_static("did")]),
+                    required: Some(
+                        vec![SmolStr::new_static("seq"), SmolStr::new_static("did")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Repository DID identifier")),
+                                description: Some(
+                                    CowStr::new_static("Repository DID identifier"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -415,19 +428,18 @@ fn lexicon_doc_sh_tangled_knot_subscribeRepos() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("gitSync2"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("seq"),
-                        SmolStr::new_static("repo"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("seq"), SmolStr::new_static("repo")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("repo"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Repository AT-URI identifier",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Repository AT-URI identifier"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -446,18 +458,21 @@ fn lexicon_doc_sh_tangled_knot_subscribeRepos() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("identity"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("seq"),
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("time"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("seq"), SmolStr::new_static("did"),
+                            SmolStr::new_static("time")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Repository DID identifier")),
+                                description: Some(
+                                    CowStr::new_static("Repository DID identifier"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -483,20 +498,22 @@ fn lexicon_doc_sh_tangled_knot_subscribeRepos() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcSubscription(LexXrpcSubscription {
-                    parameters: Some(LexXrpcSubscriptionParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcSubscriptionParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -508,7 +525,7 @@ fn lexicon_doc_sh_tangled_knot_subscribeRepos() -> LexiconDoc<'static> {
 
 pub mod git_sync2_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -618,7 +635,10 @@ where
     St::Seq: git_sync2_state::IsUnset,
 {
     /// Set the `seq` field (required)
-    pub fn seq(mut self, value: impl Into) -> GitSync2Builder, S> {
+    pub fn seq(
+        mut self,
+        value: impl Into,
+    ) -> GitSync2Builder, S> {
         self._fields.1 = Option::Some(value.into());
         GitSync2Builder {
             _state: PhantomData,
@@ -654,7 +674,7 @@ where
 
 pub mod identity_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -778,7 +798,10 @@ where
     St::Seq: identity_state::IsUnset,
 {
     /// Set the `seq` field (required)
-    pub fn seq(mut self, value: impl Into) -> IdentityBuilder, S> {
+    pub fn seq(
+        mut self,
+        value: impl Into,
+    ) -> IdentityBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         IdentityBuilder {
             _state: PhantomData,
@@ -836,7 +859,7 @@ where
 
 pub mod subscribe_repos_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -909,4 +932,4 @@ where
             cursor: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/knot/version.rs b/crates/jacquard-api/src/sh_tangled/knot/version.rs
index 1e1c051b6..75df211fe 100644
--- a/crates/jacquard-api/src/sh_tangled/knot/version.rs
+++ b/crates/jacquard-api/src/sh_tangled/knot/version.rs
@@ -10,34 +10,37 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct VersionOutput {
     pub version: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum VersionError {
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for VersionError {
@@ -86,4 +89,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for VersionRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = Version;
     type Response = VersionResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/label.rs b/crates/jacquard-api/src/sh_tangled/label.rs
index 1358b866d..99b6f78e6 100644
--- a/crates/jacquard-api/src/sh_tangled/label.rs
+++ b/crates/jacquard-api/src/sh_tangled/label.rs
@@ -8,4 +8,4 @@ pub mod definition;
 pub mod list_definitions;
 pub mod list_ops;
 pub mod list_ops_by;
-pub mod op;
+pub mod op;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/label/definition.rs b/crates/jacquard-api/src/sh_tangled/label/definition.rs
index aa0c0dd6a..990316442 100644
--- a/crates/jacquard-api/src/sh_tangled/label/definition.rs
+++ b/crates/jacquard-api/src/sh_tangled/label/definition.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Nsid};
+use jacquard_common::types::string::{AtUri, Nsid, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::label::definition;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::label::definition;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -65,11 +65,9 @@ pub struct DefinitionGetRecordOutput {
     pub value: Definition,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ValueType {
     ///Closed set of values that this label can take.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -173,7 +171,7 @@ impl LexiconSchema for ValueType {
 
 pub mod definition_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -418,7 +416,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Definition {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Definition {
         Definition {
             color: self._fields.0,
             created_at: self._fields.1.unwrap(),
@@ -432,10 +433,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_label_definition() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.label.definition"),
@@ -575,4 +576,4 @@ fn lexicon_doc_sh_tangled_label_definition() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/label/list_definitions.rs b/crates/jacquard-api/src/sh_tangled/label/list_definitions.rs
index 42c5541de..08ed4d19c 100644
--- a/crates/jacquard-api/src/sh_tangled/label/list_definitions.rs
+++ b/crates/jacquard-api/src/sh_tangled/label/list_definitions.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::label::list_definitions;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::label::list_definitions;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListDefinitions {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListDefinitions {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListDefinitionsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListDefinitionsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_label_listDefinitions() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.label.listDefinitions"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_label_listDefinitions() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,46 +320,50 @@ fn lexicon_doc_sh_tangled_label_listDefinitions() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Scope identifier whose label definitions to list.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Scope identifier whose label definitions to list.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -387,7 +383,7 @@ fn _default_order() -> Option {
 
 pub mod list_definitions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -418,7 +414,10 @@ pub mod list_definitions_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListDefinitionsBuilder {
+pub struct ListDefinitionsBuilder<
+    St: list_definitions_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -532,4 +531,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/label/list_ops.rs b/crates/jacquard-api/src/sh_tangled/label/list_ops.rs
index 6e39b9e8c..d312dd253 100644
--- a/crates/jacquard-api/src/sh_tangled/label/list_ops.rs
+++ b/crates/jacquard-api/src/sh_tangled/label/list_ops.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::label::list_ops;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::label::list_ops;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListOps {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListOps {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListOpsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListOpsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_label_listOps() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.label.listOps"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_label_listOps() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,46 +320,50 @@ fn lexicon_doc_sh_tangled_label_listOps() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Scope identifier whose label op records to list.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Scope identifier whose label op records to list.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -387,7 +383,7 @@ fn _default_order() -> Option {
 
 pub mod list_ops_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -532,4 +528,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/label/list_ops_by.rs b/crates/jacquard-api/src/sh_tangled/label/list_ops_by.rs
index 81b9c8fd1..5f2edd906 100644
--- a/crates/jacquard-api/src/sh_tangled/label/list_ops_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/label/list_ops_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::label::list_ops::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::label::list_ops::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListOpsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListOpsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListOpsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_ops_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -233,4 +228,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/label/op.rs b/crates/jacquard-api/src/sh_tangled/label/op.rs
index 637f85807..49d9ea0d4 100644
--- a/crates/jacquard-api/src/sh_tangled/label/op.rs
+++ b/crates/jacquard-api/src/sh_tangled/label/op.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::label::op;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::label::op;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -57,11 +57,9 @@ pub struct OpGetRecordOutput {
     pub value: Op,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Operand {
     ///ATURI to the label definition
     pub key: AtUri,
@@ -136,7 +134,7 @@ impl LexiconSchema for Operand {
 
 pub mod op_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -319,7 +317,10 @@ where
     St::Subject: op_state::IsUnset,
 {
     /// Set the `subject` field (required)
-    pub fn subject(mut self, value: impl Into>) -> OpBuilder, S> {
+    pub fn subject(
+        mut self,
+        value: impl Into>,
+    ) -> OpBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         OpBuilder {
             _state: PhantomData,
@@ -360,10 +361,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_label_op() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.label.op"),
@@ -473,7 +474,7 @@ fn lexicon_doc_sh_tangled_label_op() -> LexiconDoc<'static> {
 
 pub mod operand_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -583,7 +584,10 @@ where
     St::Value: operand_state::IsUnset,
 {
     /// Set the `value` field (required)
-    pub fn value(mut self, value: impl Into) -> OperandBuilder, S> {
+    pub fn value(
+        mut self,
+        value: impl Into,
+    ) -> OperandBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         OperandBuilder {
             _state: PhantomData,
@@ -615,4 +619,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/markup.rs b/crates/jacquard-api/src/sh_tangled/markup.rs
index 03db5eca6..0d83bf2de 100644
--- a/crates/jacquard-api/src/sh_tangled/markup.rs
+++ b/crates/jacquard-api/src/sh_tangled/markup.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `sh.tangled.markup` Lexicon namespace/module.
-pub mod markdown;
+pub mod markdown;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/markup/markdown.rs b/crates/jacquard-api/src/sh_tangled/markup/markdown.rs
index 45e28f2db..988918268 100644
--- a/crates/jacquard-api/src/sh_tangled/markup/markdown.rs
+++ b/crates/jacquard-api/src/sh_tangled/markup/markdown.rs
@@ -7,7 +7,7 @@
 
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,14 +20,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Tangled Flavored Markdown format text
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Markdown {
     ///list of blobs referenced in markdown
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -57,10 +54,10 @@ impl LexiconSchema for Markdown {
 }
 
 fn lexicon_doc_sh_tangled_markup_markdown() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.markup.markdown"),
@@ -117,4 +114,4 @@ fn lexicon_doc_sh_tangled_markup_markdown() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/owner.rs b/crates/jacquard-api/src/sh_tangled/owner.rs
index f03de9f5c..56834171d 100644
--- a/crates/jacquard-api/src/sh_tangled/owner.rs
+++ b/crates/jacquard-api/src/sh_tangled/owner.rs
@@ -10,27 +10,33 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct OwnerOutput {
     pub owner: Did,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum OwnerError {
     /// Owner is not set for this service
@@ -38,10 +44,7 @@ pub enum OwnerError {
     OwnerNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for OwnerError {
@@ -97,4 +100,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for OwnerRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = Owner;
     type Response = OwnerResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/pipeline.rs b/crates/jacquard-api/src/sh_tangled/pipeline.rs
index 23ff2b02b..3618c28dd 100644
--- a/crates/jacquard-api/src/sh_tangled/pipeline.rs
+++ b/crates/jacquard-api/src/sh_tangled/pipeline.rs
@@ -13,18 +13,19 @@ pub mod list_statuses;
 pub mod list_statuses_by;
 pub mod status;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -32,16 +33,13 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::pipeline;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::pipeline;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CloneOpts {
     pub depth: i64,
     pub skip: bool,
@@ -50,6 +48,7 @@ pub struct CloneOpts {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
     rename_all = "camelCase",
@@ -75,11 +74,9 @@ pub struct PipelineGetRecordOutput {
     pub value: Pipeline,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ManualTriggerData {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub inputs: Option>>,
@@ -87,11 +84,9 @@ pub struct ManualTriggerData {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Pair {
     pub key: S,
     pub value: S,
@@ -99,11 +94,9 @@ pub struct Pair {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PullRequestTriggerData {
     pub action: S,
     pub source_branch: S,
@@ -113,11 +106,9 @@ pub struct PullRequestTriggerData {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PushTriggerData {
     pub new_sha: S,
     pub old_sha: S,
@@ -126,11 +117,9 @@ pub struct PushTriggerData {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TriggerMetadata {
     pub kind: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -144,11 +133,9 @@ pub struct TriggerMetadata {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TriggerRepo {
     pub default_branch: S,
     pub did: Did,
@@ -162,11 +149,9 @@ pub struct TriggerRepo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Workflow {
     pub clone: pipeline::CloneOpts,
     pub engine: S,
@@ -412,7 +397,7 @@ impl LexiconSchema for Workflow {
 
 pub mod clone_opts_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -585,7 +570,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CloneOpts {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CloneOpts {
         CloneOpts {
             depth: self._fields.0.unwrap(),
             skip: self._fields.1.unwrap(),
@@ -596,10 +584,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.pipeline"),
@@ -608,11 +596,12 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("cloneOpts"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("skip"),
-                        SmolStr::new_static("depth"),
-                        SmolStr::new_static("submodules"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("skip"), SmolStr::new_static("depth"),
+                            SmolStr::new_static("submodules")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -644,10 +633,12 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("triggerMetadata"),
-                            SmolStr::new_static("workflows"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("triggerMetadata"),
+                                SmolStr::new_static("workflows")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -699,24 +690,19 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pair"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("key"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("key"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("key"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("value"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -726,26 +712,24 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pullRequestTriggerData"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("sourceBranch"),
-                        SmolStr::new_static("targetBranch"),
-                        SmolStr::new_static("sourceSha"),
-                        SmolStr::new_static("action"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("sourceBranch"),
+                            SmolStr::new_static("targetBranch"),
+                            SmolStr::new_static("sourceSha"),
+                            SmolStr::new_static("action")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("action"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("sourceBranch"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("sourceSha"),
@@ -757,9 +741,7 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("targetBranch"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -769,11 +751,12 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pushTriggerData"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("ref"),
-                        SmolStr::new_static("newSha"),
-                        SmolStr::new_static("oldSha"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("ref"), SmolStr::new_static("newSha"),
+                            SmolStr::new_static("oldSha")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -795,9 +778,7 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("ref"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -807,18 +788,15 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("triggerMetadata"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("kind"),
-                        SmolStr::new_static("repo"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("kind"), SmolStr::new_static("repo")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("kind"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("manual"),
@@ -856,19 +834,18 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("triggerRepo"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("knot"),
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("defaultBranch"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("knot"), SmolStr::new_static("did"),
+                            SmolStr::new_static("defaultBranch")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("defaultBranch"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("did"),
@@ -879,20 +856,18 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("knot"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("repo"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("repoDid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("DID of the repo itself")),
+                                description: Some(
+                                    CowStr::new_static("DID of the repo itself"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -905,12 +880,12 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("workflow"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("engine"),
-                        SmolStr::new_static("clone"),
-                        SmolStr::new_static("raw"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("engine"),
+                            SmolStr::new_static("clone"), SmolStr::new_static("raw")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -923,21 +898,15 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("engine"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("raw"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -952,7 +921,7 @@ fn lexicon_doc_sh_tangled_pipeline() -> LexiconDoc<'static> {
 
 pub mod pipeline_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -997,10 +966,7 @@ pub mod pipeline_state {
 /// Builder for constructing an instance of this type.
 pub struct PipelineBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>>,
-    ),
+    _fields: (Option>, Option>>),
     _type: PhantomData S>,
 }
 
@@ -1104,7 +1070,7 @@ where
 
 pub mod trigger_metadata_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1147,7 +1113,10 @@ pub mod trigger_metadata_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TriggerMetadataBuilder {
+pub struct TriggerMetadataBuilder<
+    St: trigger_metadata_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -1216,12 +1185,18 @@ where
 
 impl TriggerMetadataBuilder {
     /// Set the `manual` field (optional)
-    pub fn manual(mut self, value: impl Into>>) -> Self {
+    pub fn manual(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `manual` field to an Option value (optional)
-    pub fn maybe_manual(mut self, value: Option>) -> Self {
+    pub fn maybe_manual(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -1248,7 +1223,10 @@ impl TriggerMetadataBuilder
 
 impl TriggerMetadataBuilder {
     /// Set the `push` field (optional)
-    pub fn push(mut self, value: impl Into>>) -> Self {
+    pub fn push(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -1296,7 +1274,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TriggerMetadata {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TriggerMetadata {
         TriggerMetadata {
             kind: self._fields.0.unwrap(),
             manual: self._fields.1,
@@ -1310,7 +1291,7 @@ where
 
 pub mod trigger_repo_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1369,13 +1350,7 @@ pub mod trigger_repo_state {
 /// Builder for constructing an instance of this type.
 pub struct TriggerRepoBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -1517,7 +1492,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TriggerRepo {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TriggerRepo {
         TriggerRepo {
             default_branch: self._fields.0.unwrap(),
             did: self._fields.1.unwrap(),
@@ -1531,7 +1509,7 @@ where
 
 pub mod workflow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1606,12 +1584,7 @@ pub mod workflow_state {
 /// Builder for constructing an instance of this type.
 pub struct WorkflowBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -1695,7 +1668,10 @@ where
     St::Name: workflow_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> WorkflowBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> WorkflowBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         WorkflowBuilder {
             _state: PhantomData,
@@ -1711,7 +1687,10 @@ where
     St::Raw: workflow_state::IsUnset,
 {
     /// Set the `raw` field (required)
-    pub fn raw(mut self, value: impl Into) -> WorkflowBuilder, S> {
+    pub fn raw(
+        mut self,
+        value: impl Into,
+    ) -> WorkflowBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         WorkflowBuilder {
             _state: PhantomData,
@@ -1749,4 +1728,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/pipeline/cancel_pipeline.rs b/crates/jacquard-api/src/sh_tangled/pipeline/cancel_pipeline.rs
index b6062ce00..1ab23bcff 100644
--- a/crates/jacquard-api/src/sh_tangled/pipeline/cancel_pipeline.rs
+++ b/crates/jacquard-api/src/sh_tangled/pipeline/cancel_pipeline.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CancelPipeline {
     ///pipeline at-uri
     pub pipeline: AtUri,
@@ -46,8 +43,9 @@ impl jacquard_common::xrpc::XrpcResp for CancelPipelineResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for CancelPipeline {
     const NSID: &'static str = "sh.tangled.pipeline.cancelPipeline";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CancelPipelineResponse;
 }
 
@@ -57,15 +55,16 @@ Path: `/xrpc/sh.tangled.pipeline.cancelPipeline`. The request payload type is `C
 pub struct CancelPipelineRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CancelPipelineRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.pipeline.cancelPipeline";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = CancelPipeline;
     type Response = CancelPipelineResponse;
 }
 
 pub mod cancel_pipeline_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -122,7 +121,10 @@ pub mod cancel_pipeline_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CancelPipelineBuilder {
+pub struct CancelPipelineBuilder<
+    St: cancel_pipeline_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>, Option),
     _type: PhantomData S>,
@@ -238,7 +240,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CancelPipeline {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CancelPipeline {
         CancelPipeline {
             pipeline: self._fields.0.unwrap(),
             repo: self._fields.1.unwrap(),
@@ -246,4 +251,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines.rs b/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines.rs
index 46f64f63b..5906d378b 100644
--- a/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines.rs
+++ b/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::pipeline::list_pipelines;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::pipeline::list_pipelines;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPipelines {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListPipelines {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPipelinesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListPipelinesRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_pipeline_listPipelines() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.pipeline.listPipelines"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_pipeline_listPipelines() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -391,7 +383,7 @@ fn _default_order() -> Option {
 
 pub mod list_pipelines_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -422,7 +414,10 @@ pub mod list_pipelines_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListPipelinesBuilder {
+pub struct ListPipelinesBuilder<
+    St: list_pipelines_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -536,4 +531,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines_by.rs b/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines_by.rs
index f75e8f3cc..c1bf6c908 100644
--- a/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/pipeline/list_pipelines_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::pipeline::list_pipelines::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::pipeline::list_pipelines::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPipelinesBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListPipelinesBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPipelinesByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_pipelines_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_pipelines_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListPipelinesByBuilder {
+pub struct ListPipelinesByBuilder<
+    St: list_pipelines_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses.rs b/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses.rs
index 7f367199d..6191bde03 100644
--- a/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses.rs
+++ b/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::pipeline::list_statuses;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::pipeline::list_statuses;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatuses {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListStatuses {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatusesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListStatusesRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_pipeline_listStatuses() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.pipeline.listStatuses"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_pipeline_listStatuses() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_pipeline_listStatuses() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Pipeline AT-URI whose status records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Pipeline AT-URI whose status records to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_statuses_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses_by.rs b/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses_by.rs
index a08a37ae7..c3b57c240 100644
--- a/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/pipeline/list_statuses_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::pipeline::list_statuses::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::pipeline::list_statuses::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatusesBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListStatusesBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatusesByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_statuses_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_statuses_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListStatusesByBuilder {
+pub struct ListStatusesByBuilder<
+    St: list_statuses_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/pipeline/status.rs b/crates/jacquard-api/src/sh_tangled/pipeline/status.rs
index 706bb036c..bea4462cb 100644
--- a/crates/jacquard-api/src/sh_tangled/pipeline/status.rs
+++ b/crates/jacquard-api/src/sh_tangled/pipeline/status.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -115,7 +115,7 @@ impl LexiconSchema for Status {
 
 pub mod status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -307,7 +307,10 @@ where
     St::Status: status_state::IsUnset,
 {
     /// Set the `status` field (required)
-    pub fn status(mut self, value: impl Into) -> StatusBuilder, S> {
+    pub fn status(
+        mut self,
+        value: impl Into,
+    ) -> StatusBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         StatusBuilder {
             _state: PhantomData,
@@ -371,10 +374,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_pipeline_status() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.pipeline.status"),
@@ -385,21 +388,23 @@ fn lexicon_doc_sh_tangled_pipeline_status() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("pipeline"),
-                            SmolStr::new_static("workflow"),
-                            SmolStr::new_static("status"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("pipeline"),
+                                SmolStr::new_static("workflow"),
+                                SmolStr::new_static("status"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "time of creation of this status update",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("time of creation of this status update"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -407,9 +412,9 @@ fn lexicon_doc_sh_tangled_pipeline_status() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("error"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "error message if failed",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("error message if failed"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -422,7 +427,9 @@ fn lexicon_doc_sh_tangled_pipeline_status() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("pipeline"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("ATURI of the pipeline")),
+                                    description: Some(
+                                        CowStr::new_static("ATURI of the pipeline"),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -430,16 +437,20 @@ fn lexicon_doc_sh_tangled_pipeline_status() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("status"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("status of the workflow")),
+                                    description: Some(
+                                        CowStr::new_static("status of the workflow"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("workflow"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "name of the workflow within this pipeline",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "name of the workflow within this pipeline",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -455,4 +466,4 @@ fn lexicon_doc_sh_tangled_pipeline_status() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/publicKey.rs b/crates/jacquard-api/src/sh_tangled/publicKey.rs
index 29c783e4b..1e99a818f 100644
--- a/crates/jacquard-api/src/sh_tangled/publicKey.rs
+++ b/crates/jacquard-api/src/sh_tangled/publicKey.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `sh.tangled.publicKey` Lexicon namespace/module.
-pub mod list_keys;
+pub mod list_keys;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/publicKey/list_keys.rs b/crates/jacquard-api/src/sh_tangled/publicKey/list_keys.rs
index 4be69b796..93fe5953d 100644
--- a/crates/jacquard-api/src/sh_tangled/publicKey/list_keys.rs
+++ b/crates/jacquard-api/src/sh_tangled/publicKey/list_keys.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::publicKey::list_keys;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::publicKey::list_keys;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListKeys {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListKeys {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListKeysOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListKeysRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_publicKey_listKeys() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.publicKey.listKeys"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_publicKey_listKeys() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_publicKey_listKeys() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Owner DID whose public-key records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Owner DID whose public-key records to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_keys_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/public_key.rs b/crates/jacquard-api/src/sh_tangled/public_key.rs
index 47b5ac938..02f92e26f 100644
--- a/crates/jacquard-api/src/sh_tangled/public_key.rs
+++ b/crates/jacquard-api/src/sh_tangled/public_key.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -118,7 +118,7 @@ impl LexiconSchema for PublicKey {
 
 pub mod public_key_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -242,7 +242,10 @@ where
     St::Key: public_key_state::IsUnset,
 {
     /// Set the `key` field (required)
-    pub fn key(mut self, value: impl Into) -> PublicKeyBuilder, S> {
+    pub fn key(
+        mut self,
+        value: impl Into,
+    ) -> PublicKeyBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         PublicKeyBuilder {
             _state: PhantomData,
@@ -288,7 +291,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PublicKey {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PublicKey {
         PublicKey {
             created_at: self._fields.0.unwrap(),
             key: self._fields.1.unwrap(),
@@ -299,10 +305,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_publicKey() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.publicKey"),
@@ -313,18 +319,21 @@ fn lexicon_doc_sh_tangled_publicKey() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("key"),
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("key"), SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("key upload timestamp")),
+                                    description: Some(
+                                        CowStr::new_static("key upload timestamp"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -332,7 +341,9 @@ fn lexicon_doc_sh_tangled_publicKey() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("key"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("public key contents")),
+                                    description: Some(
+                                        CowStr::new_static("public key contents"),
+                                    ),
                                     max_length: Some(4096usize),
                                     ..Default::default()
                                 }),
@@ -340,9 +351,9 @@ fn lexicon_doc_sh_tangled_publicKey() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "human-readable name for this key",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("human-readable name for this key"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -357,4 +368,4 @@ fn lexicon_doc_sh_tangled_publicKey() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo.rs b/crates/jacquard-api/src/sh_tangled/repo.rs
index 7a47d64ff..10b96ffab 100644
--- a/crates/jacquard-api/src/sh_tangled/repo.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo.rs
@@ -47,18 +47,19 @@ pub mod tag;
 pub mod tags;
 pub mod tree;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -68,7 +69,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -203,7 +204,7 @@ impl LexiconSchema for Repo {
 
 pub mod repo_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -337,7 +338,10 @@ where
     St::Knot: repo_state::IsUnset,
 {
     /// Set the `knot` field (required)
-    pub fn knot(mut self, value: impl Into) -> RepoBuilder, S> {
+    pub fn knot(
+        mut self,
+        value: impl Into,
+    ) -> RepoBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         RepoBuilder {
             _state: PhantomData,
@@ -479,10 +483,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo"),
@@ -493,10 +497,12 @@ fn lexicon_doc_sh_tangled_repo() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("knot"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("knot"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -518,18 +524,20 @@ fn lexicon_doc_sh_tangled_repo() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("knot"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "knot where the repo was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("knot where the repo was created"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("labels"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "List of labels that this repo subscribes to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "List of labels that this repo subscribes to",
+                                        ),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         format: Some(LexStringFormat::AtUri),
                                         ..Default::default()
@@ -540,18 +548,18 @@ fn lexicon_doc_sh_tangled_repo() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Cosmetic name of the repo.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Cosmetic name of the repo."),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("repoDid"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "DID of the repo itself, if assigned",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("DID of the repo itself, if assigned"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -567,18 +575,20 @@ fn lexicon_doc_sh_tangled_repo() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("spindle"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "CI runner to send jobs to and receive results from",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "CI runner to send jobs to and receive results from",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("topics"),
                                 LexObjectProperty::Array(LexArray {
-                                    description: Some(CowStr::new_static(
-                                        "Topics related to the repo",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Topics related to the repo"),
+                                    ),
                                     items: LexArrayItem::String(LexString {
                                         min_length: Some(1usize),
                                         max_length: Some(50usize),
@@ -591,9 +601,9 @@ fn lexicon_doc_sh_tangled_repo() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("website"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Any URI related to the repo",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Any URI related to the repo"),
+                                    ),
                                     format: Some(LexStringFormat::Uri),
                                     ..Default::default()
                                 }),
@@ -609,4 +619,4 @@ fn lexicon_doc_sh_tangled_repo() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/add_collaborator.rs b/crates/jacquard-api/src/sh_tangled/repo/add_collaborator.rs
index b85f3ada8..f4fe84703 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/add_collaborator.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/add_collaborator.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AddCollaborator {
     ///DID of the repository to add the collaborator to
     pub repo: Did,
@@ -44,8 +41,9 @@ impl jacquard_common::xrpc::XrpcResp for AddCollaboratorResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for AddCollaborator {
     const NSID: &'static str = "sh.tangled.repo.addCollaborator";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = AddCollaboratorResponse;
 }
 
@@ -55,15 +53,16 @@ Path: `/xrpc/sh.tangled.repo.addCollaborator`. The request payload type is `AddC
 pub struct AddCollaboratorRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for AddCollaboratorRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.addCollaborator";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = AddCollaborator;
     type Response = AddCollaboratorResponse;
 }
 
 pub mod add_collaborator_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -106,7 +105,10 @@ pub mod add_collaborator_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct AddCollaboratorBuilder {
+pub struct AddCollaboratorBuilder<
+    St: add_collaborator_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -201,11 +203,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AddCollaborator {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AddCollaborator {
         AddCollaborator {
             repo: self._fields.0.unwrap(),
             subject: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/add_secret.rs b/crates/jacquard-api/src/sh_tangled/repo/add_secret.rs
index 9a5a51eab..3d740c4ca 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/add_secret.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/add_secret.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AddSecret {
     pub key: S,
     pub repo: AtUri,
@@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for AddSecretResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for AddSecret {
     const NSID: &'static str = "sh.tangled.repo.addSecret";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = AddSecretResponse;
 }
 
@@ -54,15 +52,16 @@ Path: `/xrpc/sh.tangled.repo.addSecret`. The request payload type is `AddSecret<
 pub struct AddSecretRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for AddSecretRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.addSecret";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = AddSecret;
     type Response = AddSecretResponse;
 }
 
 pub mod add_secret_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -167,7 +166,10 @@ where
     St::Key: add_secret_state::IsUnset,
 {
     /// Set the `key` field (required)
-    pub fn key(mut self, value: impl Into) -> AddSecretBuilder, S> {
+    pub fn key(
+        mut self,
+        value: impl Into,
+    ) -> AddSecretBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         AddSecretBuilder {
             _state: PhantomData,
@@ -232,7 +234,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AddSecret {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AddSecret {
         AddSecret {
             key: self._fields.0.unwrap(),
             repo: self._fields.1.unwrap(),
@@ -240,4 +245,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/archive.rs b/crates/jacquard-api/src/sh_tangled/repo/archive.rs
index c42d95f87..02c5da8b9 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/archive.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/archive.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Archive {
     /// Defaults to `"tar.gz"`.
     #[serde(default = "_default_format")]
@@ -41,9 +38,18 @@ pub struct ArchiveOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ArchiveError {
     /// Repository not found or access denied
@@ -60,10 +66,7 @@ pub enum ArchiveError {
     ArchiveError(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ArchiveError {
@@ -161,7 +164,7 @@ fn _default_format() -> Option {
 
 pub mod archive_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -278,7 +281,10 @@ where
     St::Ref: archive_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> ArchiveBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> ArchiveBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ArchiveBuilder {
             _state: PhantomData,
@@ -294,7 +300,10 @@ where
     St::Repo: archive_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into) -> ArchiveBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into,
+    ) -> ArchiveBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         ArchiveBuilder {
             _state: PhantomData,
@@ -319,4 +328,4 @@ where
             repo: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/artifact.rs b/crates/jacquard-api/src/sh_tangled/repo/artifact.rs
index 558bd77cf..c896f069f 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/artifact.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/artifact.rs
@@ -10,15 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -28,7 +28,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -129,16 +129,19 @@ impl LexiconSchema for Artifact {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("artifact"),
@@ -154,7 +157,7 @@ impl LexiconSchema for Artifact {
 
 pub mod artifact_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -320,7 +323,10 @@ where
     St::Name: artifact_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ArtifactBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ArtifactBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ArtifactBuilder {
             _state: PhantomData,
@@ -410,10 +416,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_artifact() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.artifact"),
@@ -424,27 +430,26 @@ fn lexicon_doc_sh_tangled_repo_artifact() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("tag"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("artifact"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"), SmolStr::new_static("tag"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("artifact")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("artifact"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "time of creation of this artifact",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("time of creation of this artifact"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -452,16 +457,20 @@ fn lexicon_doc_sh_tangled_repo_artifact() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static("name of the artifact")),
+                                    description: Some(
+                                        CowStr::new_static("name of the artifact"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("repo"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "repo that this artifact is being uploaded to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "repo that this artifact is being uploaded to",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -492,4 +501,4 @@ fn lexicon_doc_sh_tangled_repo_artifact() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/blob.rs b/crates/jacquard-api/src/sh_tangled/repo/blob.rs
index 6a45a9da1..98a572f21 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/blob.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/blob.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did};
+use jacquard_common::types::string::{Did, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::blob;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::blob;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LastCommit {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -44,11 +41,9 @@ pub struct LastCommit {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Blob {
     pub path: S,
     ///  Defaults to `false`.
@@ -59,11 +54,9 @@ pub struct Blob {
     pub repo: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BlobOutput {
     ///File content (base64 encoded for binary files)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -95,9 +88,18 @@ pub struct BlobOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum BlobError {
     /// Repository not found or access denied
@@ -114,10 +116,7 @@ pub enum BlobError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for BlobError {
@@ -162,11 +161,9 @@ impl core::fmt::Display for BlobError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///Author email
     pub email: S,
@@ -178,11 +175,9 @@ pub struct Signature {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Submodule {
     ///Branch to track in the submodule
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -270,7 +265,7 @@ impl LexiconSchema for Submodule {
 
 pub mod last_commit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -329,12 +324,7 @@ pub mod last_commit_state {
 /// Builder for constructing an instance of this type.
 pub struct LastCommitBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -462,7 +452,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LastCommit {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LastCommit {
         LastCommit {
             author: self._fields.0,
             hash: self._fields.1.unwrap(),
@@ -474,10 +467,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_blob() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.blob"),
@@ -486,11 +479,12 @@ fn lexicon_doc_sh_tangled_repo_blob() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("lastCommit"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("hash"),
-                        SmolStr::new_static("message"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("hash"), SmolStr::new_static("message"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -531,62 +525,70 @@ fn lexicon_doc_sh_tangled_repo_blob() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("ref"),
-                            SmolStr::new_static("path"),
-                        ]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("path"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Path to the file within the repository",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("raw"),
-                                LexXrpcParametersProperty::Boolean(LexBoolean {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("ref"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Git reference (branch, tag, or commit SHA)",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("DID of the repository")),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(
+                                vec![
+                                    SmolStr::new_static("repo"), SmolStr::new_static("ref"),
+                                    SmolStr::new_static("path")
+                                ],
+                            ),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("path"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Path to the file within the repository"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("raw"),
+                                    LexXrpcParametersProperty::Boolean(LexBoolean {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("ref"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Git reference (branch, tag, or commit SHA)",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("DID of the repository"),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("signature"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("email"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("email"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -620,19 +622,18 @@ fn lexicon_doc_sh_tangled_repo_blob() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("submodule"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("url"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("name"), SmolStr::new_static("url")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("branch"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Branch to track in the submodule",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Branch to track in the submodule"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -646,7 +647,9 @@ fn lexicon_doc_sh_tangled_repo_blob() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("url"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Submodule repository URL")),
+                                description: Some(
+                                    CowStr::new_static("Submodule repository URL"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -667,7 +670,7 @@ fn _default_raw() -> Option {
 
 pub mod blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -772,7 +775,10 @@ where
     St::Path: blob_state::IsUnset,
 {
     /// Set the `path` field (required)
-    pub fn path(mut self, value: impl Into) -> BlobBuilder, S> {
+    pub fn path(
+        mut self,
+        value: impl Into,
+    ) -> BlobBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -801,7 +807,10 @@ where
     St::Ref: blob_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> BlobBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> BlobBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -817,7 +826,10 @@ where
     St::Repo: blob_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into>) -> BlobBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into>,
+    ) -> BlobBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -847,7 +859,7 @@ where
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1020,7 +1032,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             email: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -1028,4 +1043,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/branch.rs b/crates/jacquard-api/src/sh_tangled/repo/branch.rs
index 74256abce..09bfc0f85 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/branch.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/branch.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,26 +21,21 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::branch;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::branch;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Branch {
     pub name: S,
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BranchOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -63,9 +58,18 @@ pub struct BranchOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum BranchError {
     /// Repository not found or access denied
@@ -79,10 +83,7 @@ pub enum BranchError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for BranchError {
@@ -120,11 +121,9 @@ impl core::fmt::Display for BranchError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///Author email
     pub email: S,
@@ -181,7 +180,7 @@ impl LexiconSchema for Signature {
 
 pub mod branch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -272,7 +271,10 @@ where
     St::Name: branch_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> BranchBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> BranchBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         BranchBuilder {
             _state: PhantomData,
@@ -288,7 +290,10 @@ where
     St::Repo: branch_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into) -> BranchBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into,
+    ) -> BranchBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         BranchBuilder {
             _state: PhantomData,
@@ -315,7 +320,7 @@ where
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -488,7 +493,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             email: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -499,10 +507,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_branch() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.branch"),
@@ -511,47 +519,53 @@ fn lexicon_doc_sh_tangled_repo_branch() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("name"),
-                        ]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("name"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Branch name to get information for",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repository identifier in format 'did:plc:.../repoName'",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(
+                                vec![
+                                    SmolStr::new_static("repo"), SmolStr::new_static("name")
+                                ],
+                            ),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("name"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Branch name to get information for"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Repository identifier in format 'did:plc:.../repoName'",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("signature"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("email"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("email"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -586,4 +600,4 @@ fn lexicon_doc_sh_tangled_repo_branch() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/branches.rs b/crates/jacquard-api/src/sh_tangled/repo/branches.rs
index c1bfe2ac3..dff27bea3 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/branches.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/branches.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Branches {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -32,15 +29,25 @@ pub struct Branches {
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct BranchesOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum BranchesError {
     /// Repository not found or access denied
@@ -51,10 +58,7 @@ pub enum BranchesError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for BranchesError {
@@ -138,7 +142,7 @@ fn _default_limit() -> Option {
 
 pub mod branches_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -243,7 +247,10 @@ where
     St::Repo: branches_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into) -> BranchesBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into,
+    ) -> BranchesBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         BranchesBuilder {
             _state: PhantomData,
@@ -266,4 +273,4 @@ where
             repo: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/collaborator.rs b/crates/jacquard-api/src/sh_tangled/repo/collaborator.rs
index 8f8cc1c65..c8c1fc484 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/collaborator.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/collaborator.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -105,7 +105,7 @@ impl LexiconSchema for Collaborator {
 
 pub mod collaborator_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -278,7 +278,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Collaborator {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Collaborator {
         Collaborator {
             created_at: self._fields.0.unwrap(),
             repo: self._fields.1.unwrap(),
@@ -289,10 +292,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_collaborator() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.collaborator"),
@@ -303,11 +306,12 @@ fn lexicon_doc_sh_tangled_repo_collaborator() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"), SmolStr::new_static("repo"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -321,9 +325,9 @@ fn lexicon_doc_sh_tangled_repo_collaborator() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("repo"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "repo DID to add this user to",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("repo DID to add this user to"),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -346,4 +350,4 @@ fn lexicon_doc_sh_tangled_repo_collaborator() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/compare.rs b/crates/jacquard-api/src/sh_tangled/repo/compare.rs
index 2cec6b5e5..8a5912811 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/compare.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/compare.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Compare {
     pub repo: S,
     pub rev1: S,
@@ -36,9 +33,18 @@ pub struct CompareOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum CompareError {
     /// Repository not found or access denied
@@ -55,10 +61,7 @@ pub enum CompareError {
     CompareError(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for CompareError {
@@ -152,7 +155,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for CompareRequest {
 
 pub mod compare_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -257,7 +260,10 @@ where
     St::Repo: compare_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into) -> CompareBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into,
+    ) -> CompareBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         CompareBuilder {
             _state: PhantomData,
@@ -273,7 +279,10 @@ where
     St::Rev1: compare_state::IsUnset,
 {
     /// Set the `rev1` field (required)
-    pub fn rev1(mut self, value: impl Into) -> CompareBuilder, S> {
+    pub fn rev1(
+        mut self,
+        value: impl Into,
+    ) -> CompareBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         CompareBuilder {
             _state: PhantomData,
@@ -289,7 +298,10 @@ where
     St::Rev2: compare_state::IsUnset,
 {
     /// Set the `rev2` field (required)
-    pub fn rev2(mut self, value: impl Into) -> CompareBuilder, S> {
+    pub fn rev2(
+        mut self,
+        value: impl Into,
+    ) -> CompareBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         CompareBuilder {
             _state: PhantomData,
@@ -314,4 +326,4 @@ where
             rev2: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/create.rs b/crates/jacquard-api/src/sh_tangled/repo/create.rs
index 93102bfd9..dbe959880 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/create.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/create.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Create {
     ///Default branch to push to
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -40,11 +37,9 @@ pub struct Create {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CreateOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub repo_did: Option>,
@@ -65,8 +60,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Create {
     const NSID: &'static str = "sh.tangled.repo.create";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = CreateResponse;
 }
 
@@ -76,8 +72,9 @@ Path: `/xrpc/sh.tangled.repo.create`. The request payload type is `Create`; s
 pub struct CreateRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for CreateRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.create";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Create;
     type Response = CreateResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/delete.rs b/crates/jacquard-api/src/sh_tangled/repo/delete.rs
index 305455f69..9ede2c2d8 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/delete.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/delete.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Delete {
     ///DID of the repository owner
     pub did: Did,
@@ -46,8 +43,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Delete {
     const NSID: &'static str = "sh.tangled.repo.delete";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteResponse;
 }
 
@@ -57,15 +55,16 @@ Path: `/xrpc/sh.tangled.repo.delete`. The request payload type is `Delete`; s
 pub struct DeleteRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.delete";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Delete;
     type Response = DeleteResponse;
 }
 
 pub mod delete_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -170,7 +169,10 @@ where
     St::Did: delete_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> DeleteBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> DeleteBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         DeleteBuilder {
             _state: PhantomData,
@@ -186,7 +188,10 @@ where
     St::Name: delete_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> DeleteBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> DeleteBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         DeleteBuilder {
             _state: PhantomData,
@@ -202,7 +207,10 @@ where
     St::Rkey: delete_state::IsUnset,
 {
     /// Set the `rkey` field (required)
-    pub fn rkey(mut self, value: impl Into) -> DeleteBuilder, S> {
+    pub fn rkey(
+        mut self,
+        value: impl Into,
+    ) -> DeleteBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         DeleteBuilder {
             _state: PhantomData,
@@ -237,4 +245,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/delete_branch.rs b/crates/jacquard-api/src/sh_tangled/repo/delete_branch.rs
index 3d25c8799..5fd433db1 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/delete_branch.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/delete_branch.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DeleteBranch {
     pub branch: S,
     pub repo: AtUri,
@@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteBranchResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for DeleteBranch {
     const NSID: &'static str = "sh.tangled.repo.deleteBranch";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = DeleteBranchResponse;
 }
 
@@ -53,15 +51,16 @@ Path: `/xrpc/sh.tangled.repo.deleteBranch`. The request payload type is `DeleteB
 pub struct DeleteBranchRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for DeleteBranchRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.deleteBranch";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = DeleteBranch;
     type Response = DeleteBranchResponse;
 }
 
 pub mod delete_branch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -199,11 +198,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteBranch {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DeleteBranch {
         DeleteBranch {
             branch: self._fields.0.unwrap(),
             repo: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/describe_repo.rs b/crates/jacquard-api/src/sh_tangled/repo/describe_repo.rs
index c8be8f432..7b04c3320 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/describe_repo.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/describe_repo.rs
@@ -10,27 +10,22 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeRepo {
     pub repo_did: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DescribeRepoOutput {
     ///DID of the current owner according to the knot.
     pub owner_did: Did,
@@ -41,9 +36,18 @@ pub struct DescribeRepoOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DescribeRepoError {
     /// Repo DID is not registered on this knot
@@ -54,10 +58,7 @@ pub enum DescribeRepoError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DescribeRepoError {
@@ -118,7 +119,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DescribeRepoRequest {
 
 pub mod describe_repo_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -221,4 +222,4 @@ where
             repo_did: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/diff.rs b/crates/jacquard-api/src/sh_tangled/repo/diff.rs
index 6dfeb1068..bf9c4f127 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/diff.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/diff.rs
@@ -10,32 +10,39 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Diff {
     pub r#ref: S,
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct DiffOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum DiffError {
     /// Repository not found or access denied
@@ -49,10 +56,7 @@ pub enum DiffError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for DiffError {
@@ -139,7 +143,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for DiffRequest {
 
 pub mod diff_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -230,7 +234,10 @@ where
     St::Ref: diff_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> DiffBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> DiffBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         DiffBuilder {
             _state: PhantomData,
@@ -246,7 +253,10 @@ where
     St::Repo: diff_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into) -> DiffBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into,
+    ) -> DiffBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         DiffBuilder {
             _state: PhantomData,
@@ -269,4 +279,4 @@ where
             repo: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/fork_status.rs b/crates/jacquard-api/src/sh_tangled/repo/fork_status.rs
index fa39bc002..05c640431 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/fork_status.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/fork_status.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ForkStatus {
     ///Branch to check status for
     pub branch: S,
@@ -37,11 +34,9 @@ pub struct ForkStatus {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ForkStatusOutput {
     ///Fork status: 0=UpToDate, 1=FastForwardable, 2=Conflict, 3=MissingBranch
     pub status: i64,
@@ -62,8 +57,9 @@ impl jacquard_common::xrpc::XrpcResp for ForkStatusResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ForkStatus {
     const NSID: &'static str = "sh.tangled.repo.forkStatus";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ForkStatusResponse;
 }
 
@@ -73,15 +69,16 @@ Path: `/xrpc/sh.tangled.repo.forkStatus`. The request payload type is `ForkStatu
 pub struct ForkStatusRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ForkStatusRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.forkStatus";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ForkStatus;
     type Response = ForkStatusResponse;
 }
 
 pub mod fork_status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -330,7 +327,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ForkStatus {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ForkStatus {
         ForkStatus {
             branch: self._fields.0.unwrap(),
             did: self._fields.1.unwrap(),
@@ -340,4 +340,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/fork_sync.rs b/crates/jacquard-api/src/sh_tangled/repo/fork_sync.rs
index 0d0666364..6d925ced0 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/fork_sync.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/fork_sync.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Did};
+use jacquard_common::types::string::{Did, AtUri};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ForkSync {
     ///Branch to sync
     pub branch: S,
@@ -48,8 +45,9 @@ impl jacquard_common::xrpc::XrpcResp for ForkSyncResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for ForkSync {
     const NSID: &'static str = "sh.tangled.repo.forkSync";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = ForkSyncResponse;
 }
 
@@ -59,15 +57,16 @@ Path: `/xrpc/sh.tangled.repo.forkSync`. The request payload type is `ForkSync
 pub struct ForkSyncRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for ForkSyncRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.forkSync";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = ForkSync;
     type Response = ForkSyncResponse;
 }
 
 pub mod fork_sync_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -226,7 +225,10 @@ where
     St::Name: fork_sync_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ForkSyncBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ForkSyncBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         ForkSyncBuilder {
             _state: PhantomData,
@@ -283,4 +285,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/get_default_branch.rs b/crates/jacquard-api/src/sh_tangled/repo/get_default_branch.rs
index 05b00c734..6bbcdaf06 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/get_default_branch.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/get_default_branch.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,25 +21,20 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::get_default_branch;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::get_default_branch;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetDefaultBranch {
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetDefaultBranchOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -59,9 +54,18 @@ pub struct GetDefaultBranchOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetDefaultBranchError {
     /// Repository not found or access denied
@@ -72,10 +76,7 @@ pub enum GetDefaultBranchError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetDefaultBranchError {
@@ -106,11 +107,9 @@ impl core::fmt::Display for GetDefaultBranchError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///Author email
     pub email: S,
@@ -167,7 +166,7 @@ impl LexiconSchema for Signature {
 
 pub mod get_default_branch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -198,7 +197,10 @@ pub mod get_default_branch_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetDefaultBranchBuilder {
+pub struct GetDefaultBranchBuilder<
+    St: get_default_branch_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -206,7 +208,10 @@ pub struct GetDefaultBranchBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetDefaultBranchBuilder {
+    pub fn new() -> GetDefaultBranchBuilder<
+        get_default_branch_state::Empty,
+        DefaultStr,
+    > {
         GetDefaultBranchBuilder::new()
     }
 }
@@ -274,7 +279,7 @@ where
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -447,7 +452,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             email: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -458,10 +466,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_getDefaultBranch() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.getDefaultBranch"),
@@ -470,35 +478,40 @@ fn lexicon_doc_sh_tangled_repo_getDefaultBranch() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("repo")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repository identifier in format 'did:plc:.../repoName'",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("repo")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Repository identifier in format 'did:plc:.../repoName'",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("signature"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("email"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("email"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -533,4 +546,4 @@ fn lexicon_doc_sh_tangled_repo_getDefaultBranch() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/hidden_ref.rs b/crates/jacquard-api/src/sh_tangled/repo/hidden_ref.rs
index 32b1a8681..774c9989e 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/hidden_ref.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/hidden_ref.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HiddenRef {
     ///Fork reference name
     pub fork_ref: S,
@@ -33,11 +30,9 @@ pub struct HiddenRef {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct HiddenRefOutput {
     ///Error message if creation failed
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -64,8 +59,9 @@ impl jacquard_common::xrpc::XrpcResp for HiddenRefResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for HiddenRef {
     const NSID: &'static str = "sh.tangled.repo.hiddenRef";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = HiddenRefResponse;
 }
 
@@ -75,15 +71,16 @@ Path: `/xrpc/sh.tangled.repo.hiddenRef`. The request payload type is `HiddenRef<
 pub struct HiddenRefRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for HiddenRefRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.hiddenRef";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = HiddenRef;
     type Response = HiddenRefResponse;
 }
 
 pub mod hidden_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -256,7 +253,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> HiddenRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> HiddenRef {
         HiddenRef {
             fork_ref: self._fields.0.unwrap(),
             remote_ref: self._fields.1.unwrap(),
@@ -264,4 +264,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/issue.rs b/crates/jacquard-api/src/sh_tangled/repo/issue.rs
index 23b9e4915..5d681dfa8 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/issue.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/issue.rs
@@ -11,18 +11,19 @@ pub mod list_states;
 pub mod list_states_by;
 pub mod state;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -32,7 +33,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -116,7 +117,7 @@ impl LexiconSchema for Issue {
 
 pub mod issue_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -286,7 +287,10 @@ where
     St::Repo: issue_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into>) -> IssueBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into>,
+    ) -> IssueBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         IssueBuilder {
             _state: PhantomData,
@@ -302,7 +306,10 @@ where
     St::Title: issue_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> IssueBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> IssueBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         IssueBuilder {
             _state: PhantomData,
@@ -346,10 +353,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_issue() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.issue"),
@@ -360,11 +367,12 @@ fn lexicon_doc_sh_tangled_repo_issue() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("repo"), SmolStr::new_static("title"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -425,4 +433,4 @@ fn lexicon_doc_sh_tangled_repo_issue() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/issue/comment.rs b/crates/jacquard-api/src/sh_tangled/repo/issue/comment.rs
index c1da34c54..0048cd205 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/issue/comment.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/issue/comment.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -110,7 +110,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -222,7 +222,10 @@ where
     St::Body: comment_state::IsUnset,
 {
     /// Set the `body` field (required)
-    pub fn body(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn body(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -343,10 +346,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_issue_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.issue.comment"),
@@ -357,11 +360,12 @@ fn lexicon_doc_sh_tangled_repo_issue_comment() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("issue"),
-                            SmolStr::new_static("body"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("issue"), SmolStr::new_static("body"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -423,4 +427,4 @@ fn lexicon_doc_sh_tangled_repo_issue_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/issue/list_states.rs b/crates/jacquard-api/src/sh_tangled/repo/issue/list_states.rs
index 3c480e00f..36573925b 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/issue/list_states.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/issue/list_states.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::issue::list_states;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::issue::list_states;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStates {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListStates {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListStatesRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_issue_listStates() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.issue.listStates"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_repo_issue_listStates() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_repo_issue_listStates() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Issue AT-URI whose state records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Issue AT-URI whose state records to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_states_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/issue/list_states_by.rs b/crates/jacquard-api/src/sh_tangled/repo/issue/list_states_by.rs
index f3988bd10..2f7fe7fdc 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/issue/list_states_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/issue/list_states_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::repo::issue::list_states::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::issue::list_states::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatesBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListStatesBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatesByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_states_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -233,4 +228,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/issue/state.rs b/crates/jacquard-api/src/sh_tangled/repo/issue/state.rs
index 25b00197c..f34498ee7 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/issue/state.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/issue/state.rs
@@ -9,12 +9,13 @@
 pub mod closed;
 pub mod open;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -30,7 +31,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -119,8 +120,12 @@ where
     type Output = StateState;
     fn into_static(self) -> Self::Output {
         match self {
-            StateState::ShTangledRepoIssueStateOpen => StateState::ShTangledRepoIssueStateOpen,
-            StateState::ShTangledRepoIssueStateClosed => StateState::ShTangledRepoIssueStateClosed,
+            StateState::ShTangledRepoIssueStateOpen => {
+                StateState::ShTangledRepoIssueStateOpen
+            }
+            StateState::ShTangledRepoIssueStateClosed => {
+                StateState::ShTangledRepoIssueStateClosed
+            }
             StateState::Other(v) => StateState::Other(v.into_static()),
         }
     }
@@ -187,7 +192,7 @@ impl LexiconSchema for State {
 
 pub mod state_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -335,10 +340,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_issue_state() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.issue.state"),
@@ -349,10 +354,11 @@ fn lexicon_doc_sh_tangled_repo_issue_state() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("issue"),
-                            SmolStr::new_static("state"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("issue"), SmolStr::new_static("state")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -381,4 +387,4 @@ fn lexicon_doc_sh_tangled_repo_issue_state() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/issue/state/closed.rs b/crates/jacquard-api/src/sh_tangled/repo/issue/state/closed.rs
index 77899ce85..4f5cf1212 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/issue/state/closed.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/issue/state/closed.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// closed issue
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Closed {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/issue/state/open.rs b/crates/jacquard-api/src/sh_tangled/repo/issue/state/open.rs
index 15ff1fc2b..4e6cb04f8 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/issue/state/open.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/issue/state/open.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// open issue
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Open {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/languages.rs b/crates/jacquard-api/src/sh_tangled/repo/languages.rs
index d8bada792..c6383fdce 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/languages.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/languages.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,16 +20,13 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::languages;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::languages;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Language {
     ///Hex color code for this language
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -50,11 +47,9 @@ pub struct Language {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Languages {
     /// Defaults to `"HEAD"`.
     #[serde(default = "_default_ref")]
@@ -63,11 +58,9 @@ pub struct Languages {
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LanguagesOutput {
     pub languages: Vec>,
     ///The git reference used
@@ -82,9 +75,18 @@ pub struct LanguagesOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum LanguagesError {
     /// Repository not found or access denied
@@ -98,10 +100,7 @@ pub enum LanguagesError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for LanguagesError {
@@ -184,7 +183,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for LanguagesRequest {
 
 pub mod language_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -335,7 +334,10 @@ where
     St::Name: language_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> LanguageBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> LanguageBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         LanguageBuilder {
             _state: PhantomData,
@@ -417,10 +419,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_languages() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.languages"),
@@ -429,29 +431,32 @@ fn lexicon_doc_sh_tangled_repo_languages() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("language"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("size"),
-                        SmolStr::new_static("percentage"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("size"),
+                            SmolStr::new_static("percentage")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("color"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Hex color code for this language",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Hex color code for this language"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("extensions"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "File extensions associated with this language",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "File extensions associated with this language",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     ..Default::default()
                                 }),
@@ -467,7 +472,9 @@ fn lexicon_doc_sh_tangled_repo_languages() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Programming language name")),
+                                description: Some(
+                                    CowStr::new_static("Programming language name"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -491,33 +498,39 @@ fn lexicon_doc_sh_tangled_repo_languages() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("repo")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("ref"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Git reference (branch, tag, or commit SHA)",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repository identifier in format 'did:plc:.../repoName'",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("repo")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("ref"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Git reference (branch, tag, or commit SHA)",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Repository identifier in format 'did:plc:.../repoName'",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -533,7 +546,7 @@ fn _default_ref() -> Option {
 
 pub mod languages_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -650,4 +663,4 @@ where
             repo: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_artifacts.rs b/crates/jacquard-api/src/sh_tangled/repo/list_artifacts.rs
index d716572c4..e7aa1c447 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_artifacts.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_artifacts.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::list_artifacts;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_artifacts;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListArtifacts {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListArtifacts {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListArtifactsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListArtifactsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_listArtifacts() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.listArtifacts"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_repo_listArtifacts() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,46 +320,50 @@ fn lexicon_doc_sh_tangled_repo_listArtifacts() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repo or release identifier whose artifacts to list.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Repo or release identifier whose artifacts to list.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -387,7 +383,7 @@ fn _default_order() -> Option {
 
 pub mod list_artifacts_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -418,7 +414,10 @@ pub mod list_artifacts_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListArtifactsBuilder {
+pub struct ListArtifactsBuilder<
+    St: list_artifacts_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -532,4 +531,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_artifacts_by.rs b/crates/jacquard-api/src/sh_tangled/repo/list_artifacts_by.rs
index 1b4371a3b..5dea4762c 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_artifacts_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_artifacts_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::repo::list_artifacts::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_artifacts::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListArtifactsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListArtifactsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListArtifactsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_artifacts_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_artifacts_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListArtifactsByBuilder {
+pub struct ListArtifactsByBuilder<
+    St: list_artifacts_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_collaborators.rs b/crates/jacquard-api/src/sh_tangled/repo/list_collaborators.rs
index 2522ccd40..d78f92372 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_collaborators.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_collaborators.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::list_collaborators;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_collaborators;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     ///DID that added this collaborator
     pub added_by: Did,
@@ -48,11 +45,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCollaborators {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -67,11 +62,9 @@ pub struct ListCollaborators {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCollaboratorsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -125,7 +118,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListCollaboratorsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -345,10 +338,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_listCollaborators() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.listCollaborators"),
@@ -357,20 +350,22 @@ fn lexicon_doc_sh_tangled_repo_listCollaborators() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("subject"),
-                        SmolStr::new_static("addedBy"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("subject"),
+                            SmolStr::new_static("addedBy"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("addedBy"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "DID that added this collaborator",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("DID that added this collaborator"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -378,9 +373,11 @@ fn lexicon_doc_sh_tangled_repo_listCollaborators() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional record CID for record-backed indexers",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional record CID for record-backed indexers",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -388,9 +385,9 @@ fn lexicon_doc_sh_tangled_repo_listCollaborators() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the collaborator was added",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("When the collaborator was added"),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -398,7 +395,9 @@ fn lexicon_doc_sh_tangled_repo_listCollaborators() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("subject"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("DID of the collaborator")),
+                                description: Some(
+                                    CowStr::new_static("DID of the collaborator"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -406,9 +405,11 @@ fn lexicon_doc_sh_tangled_repo_listCollaborators() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Optional record AT-URI for record-backed indexers",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Optional record AT-URI for record-backed indexers",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -421,47 +422,51 @@ fn lexicon_doc_sh_tangled_repo_listCollaborators() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repo DID whose collaborator records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Repo DID whose collaborator records to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -481,7 +486,7 @@ fn _default_order() -> Option {
 
 pub mod list_collaborators_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -512,7 +517,10 @@ pub mod list_collaborators_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListCollaboratorsBuilder {
+pub struct ListCollaboratorsBuilder<
+    St: list_collaborators_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -520,7 +528,10 @@ pub struct ListCollaboratorsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ListCollaboratorsBuilder {
+    pub fn new() -> ListCollaboratorsBuilder<
+        list_collaborators_state::Empty,
+        DefaultStr,
+    > {
         ListCollaboratorsBuilder::new()
     }
 }
@@ -626,4 +637,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_collaborators_by.rs b/crates/jacquard-api/src/sh_tangled/repo/list_collaborators_by.rs
index 2fe0d7329..69684509e 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_collaborators_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_collaborators_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::repo::list_collaborators::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_collaborators::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCollaboratorsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListCollaboratorsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListCollaboratorsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_collaborators_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -130,14 +125,20 @@ pub struct ListCollaboratorsByBuilder<
 
 impl ListCollaboratorsBy {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ListCollaboratorsByBuilder {
+    pub fn new() -> ListCollaboratorsByBuilder<
+        list_collaborators_by_state::Empty,
+        DefaultStr,
+    > {
         ListCollaboratorsByBuilder::new()
     }
 }
 
 impl ListCollaboratorsBy {
     /// Create a new builder for this type
-    pub fn builder() -> ListCollaboratorsByBuilder {
+    pub fn builder() -> ListCollaboratorsByBuilder<
+        list_collaborators_by_state::Empty,
+        S,
+    > {
         ListCollaboratorsByBuilder::builder()
     }
 }
@@ -164,7 +165,10 @@ impl ListCollaboratorsByBuilder ListCollaboratorsByBuilder {
+impl<
+    St: list_collaborators_by_state::State,
+    S: BosStr,
+> ListCollaboratorsByBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -177,7 +181,10 @@ impl ListCollaboratorsByBuild
     }
 }
 
-impl ListCollaboratorsByBuilder {
+impl<
+    St: list_collaborators_by_state::State,
+    S: BosStr,
+> ListCollaboratorsByBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -190,7 +197,10 @@ impl ListCollaboratorsByBuild
     }
 }
 
-impl ListCollaboratorsByBuilder {
+impl<
+    St: list_collaborators_by_state::State,
+    S: BosStr,
+> ListCollaboratorsByBuilder {
     /// Set the `order` field (optional)
     pub fn order(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -236,4 +246,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_issues.rs b/crates/jacquard-api/src/sh_tangled/repo/list_issues.rs
index 948e7cad5..13c0b54e4 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_issues.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_issues.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::list_issues;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_issues;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct IssueListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -127,11 +124,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListIssues {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -150,11 +145,9 @@ pub struct ListIssues {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListIssuesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -218,7 +211,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListIssuesRequest {
 
 pub mod issue_list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -291,7 +284,10 @@ pub mod issue_list_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct IssueListItemBuilder {
+pub struct IssueListItemBuilder<
+    St: issue_list_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -463,7 +459,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> IssueListItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> IssueListItem {
         IssueListItem {
             cid: self._fields.0,
             comment_count: self._fields.1.unwrap(),
@@ -477,10 +476,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_listIssues() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.listIssues"),
@@ -489,12 +488,13 @@ fn lexicon_doc_sh_tangled_repo_listIssues() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("issueListItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                        SmolStr::new_static("state"),
-                        SmolStr::new_static("commentCount"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("value"),
+                            SmolStr::new_static("state"),
+                            SmolStr::new_static("commentCount")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -515,16 +515,20 @@ fn lexicon_doc_sh_tangled_repo_listIssues() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("state"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Latest derived state.")),
+                                description: Some(
+                                    CowStr::new_static("Latest derived state."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("stateUpdatedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "TID-derived timestamp of the latest state record.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "TID-derived timestamp of the latest state record.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -550,66 +554,72 @@ fn lexicon_doc_sh_tangled_repo_listIssues() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("author"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Restrict to issues authored by this user DID.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("state"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Restrict to issues whose latest derived state matches.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repo DID to list issues for",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("author"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Restrict to issues authored by this user DID.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("state"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Restrict to issues whose latest derived state matches.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Repo DID to list issues for"),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -629,7 +639,7 @@ fn _default_order() -> Option {
 
 pub mod list_issues_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -809,4 +819,4 @@ where
             subject: self._fields.5.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_issues_by.rs b/crates/jacquard-api/src/sh_tangled/repo/list_issues_by.rs
index 57b11bf0b..1acbc378c 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_issues_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_issues_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::repo::list_issues::IssueListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_issues::IssueListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListIssuesBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -39,11 +36,9 @@ pub struct ListIssuesBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListIssuesByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -90,7 +85,7 @@ fn _default_order() -> Option {
 
 pub mod list_issues_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -249,4 +244,4 @@ where
             subject: self._fields.4.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_pulls.rs b/crates/jacquard-api/src/sh_tangled/repo/list_pulls.rs
index ada665f93..34658cf31 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_pulls.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_pulls.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::list_pulls;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_pulls;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPulls {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -49,11 +46,9 @@ pub struct ListPulls {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPullsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -62,11 +57,9 @@ pub struct ListPullsOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PullListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -230,7 +223,7 @@ fn _default_order() -> Option {
 
 pub mod list_pulls_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -414,7 +407,7 @@ where
 
 pub mod pull_list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -659,7 +652,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PullListItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PullListItem {
         PullListItem {
             cid: self._fields.0,
             comment_count: self._fields.1.unwrap(),
@@ -673,10 +669,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_listPulls() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.listPulls"),
@@ -685,78 +681,85 @@ fn lexicon_doc_sh_tangled_repo_listPulls() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("author"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Restrict to pulls authored by this user DID.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("status"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Restrict to pulls whose latest derived status matches.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repo DID to list pulls for",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("author"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Restrict to pulls authored by this user DID.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("status"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Restrict to pulls whose latest derived status matches.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Repo DID to list pulls for"),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("pullListItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                        SmolStr::new_static("state"),
-                        SmolStr::new_static("commentCount"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("value"),
+                            SmolStr::new_static("state"),
+                            SmolStr::new_static("commentCount")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -777,16 +780,20 @@ fn lexicon_doc_sh_tangled_repo_listPulls() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("state"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Latest derived state.")),
+                                description: Some(
+                                    CowStr::new_static("Latest derived state."),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("stateUpdatedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "TID-derived timestamp of the latest pull status record.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "TID-derived timestamp of the latest pull status record.",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -813,4 +820,4 @@ fn lexicon_doc_sh_tangled_repo_listPulls() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_pulls_by.rs b/crates/jacquard-api/src/sh_tangled/repo/list_pulls_by.rs
index dd6aa6fed..54aa4eb2a 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_pulls_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_pulls_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::repo::list_pulls::PullListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_pulls::PullListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPullsBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -39,11 +36,9 @@ pub struct ListPullsBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListPullsByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -90,7 +85,7 @@ fn _default_order() -> Option {
 
 pub mod list_pulls_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -249,4 +244,4 @@ where
             subject: self._fields.4.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_repos.rs b/crates/jacquard-api/src/sh_tangled/repo/list_repos.rs
index 32a179bfb..56b8b6eb9 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_repos.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_repos.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::list_repos;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_repos;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListRepos {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListRepos {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListReposOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListReposRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_listRepos() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.listRepos"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_repo_listRepos() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,49 @@ fn lexicon_doc_sh_tangled_repo_listRepos() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Owner DID whose repo records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Owner DID whose repo records to list."),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +382,7 @@ fn _default_order() -> Option {
 
 pub mod list_repos_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +527,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/list_secrets.rs b/crates/jacquard-api/src/sh_tangled/repo/list_secrets.rs
index 967606ef9..dfa7fa996 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/list_secrets.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/list_secrets.rs
@@ -10,47 +10,40 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::list_secrets;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::list_secrets;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListSecrets {
     pub repo: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListSecretsOutput {
     pub secrets: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Secret {
     pub created_at: Datetime,
     pub created_by: Did,
@@ -127,7 +120,7 @@ impl LexiconSchema for Secret {
 
 pub mod list_secrets_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -234,7 +227,7 @@ where
 
 pub mod secret_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -309,12 +302,7 @@ pub mod secret_state {
 /// Builder for constructing an instance of this type.
 pub struct SecretBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -398,7 +386,10 @@ where
     St::Key: secret_state::IsUnset,
 {
     /// Set the `key` field (required)
-    pub fn key(mut self, value: impl Into) -> SecretBuilder, S> {
+    pub fn key(
+        mut self,
+        value: impl Into,
+    ) -> SecretBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         SecretBuilder {
             _state: PhantomData,
@@ -458,10 +449,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_listSecrets() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.listSecrets"),
@@ -470,34 +461,37 @@ fn lexicon_doc_sh_tangled_repo_listSecrets() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("repo")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("repo")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("secret"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("repo"),
-                        SmolStr::new_static("key"),
-                        SmolStr::new_static("createdAt"),
-                        SmolStr::new_static("createdBy"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("repo"), SmolStr::new_static("key"),
+                            SmolStr::new_static("createdAt"),
+                            SmolStr::new_static("createdBy")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -539,4 +533,4 @@ fn lexicon_doc_sh_tangled_repo_listSecrets() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/log.rs b/crates/jacquard-api/src/sh_tangled/repo/log.rs
index c9bff5c88..4e43e0bf8 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/log.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/log.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Log {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,15 +34,25 @@ pub struct Log {
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct LogOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum LogError {
     /// Repository not found or access denied
@@ -62,10 +69,7 @@ pub enum LogError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for LogError {
@@ -167,7 +171,7 @@ fn _default_path() -> Option {
 
 pub mod log_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -339,4 +343,4 @@ where
             repo: self._fields.4.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/merge.rs b/crates/jacquard-api/src/sh_tangled/repo/merge.rs
index d0a8fc1e1..c3f316c0c 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/merge.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/merge.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Merge {
     ///Author email for the merge commit
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -60,8 +57,9 @@ impl jacquard_common::xrpc::XrpcResp for MergeResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for Merge {
     const NSID: &'static str = "sh.tangled.repo.merge";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = MergeResponse;
 }
 
@@ -71,15 +69,16 @@ Path: `/xrpc/sh.tangled.repo.merge`. The request payload type is `Merge`; sen
 pub struct MergeRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for MergeRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.merge";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = Merge;
     type Response = MergeResponse;
 }
 
 pub mod merge_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -235,7 +234,10 @@ where
     St::Branch: merge_state::IsUnset,
 {
     /// Set the `branch` field (required)
-    pub fn branch(mut self, value: impl Into) -> MergeBuilder, S> {
+    pub fn branch(
+        mut self,
+        value: impl Into,
+    ) -> MergeBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         MergeBuilder {
             _state: PhantomData,
@@ -277,7 +279,10 @@ where
     St::Did: merge_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> MergeBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> MergeBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         MergeBuilder {
             _state: PhantomData,
@@ -293,7 +298,10 @@ where
     St::Name: merge_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> MergeBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> MergeBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         MergeBuilder {
             _state: PhantomData,
@@ -309,7 +317,10 @@ where
     St::Patch: merge_state::IsUnset,
 {
     /// Set the `patch` field (required)
-    pub fn patch(mut self, value: impl Into) -> MergeBuilder, S> {
+    pub fn patch(
+        mut self,
+        value: impl Into,
+    ) -> MergeBuilder, S> {
         self._fields.7 = Option::Some(value.into());
         MergeBuilder {
             _state: PhantomData,
@@ -355,4 +366,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/merge_check.rs b/crates/jacquard-api/src/sh_tangled/repo/merge_check.rs
index 5f27c84f0..04dc7d2c6 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/merge_check.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/merge_check.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::merge_check;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::merge_check;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ConflictInfo {
     ///Name of the conflicted file
     pub filename: S,
@@ -40,11 +37,9 @@ pub struct ConflictInfo {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MergeCheck {
     ///Target branch to merge into
     pub branch: S,
@@ -58,11 +53,9 @@ pub struct MergeCheck {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct MergeCheckOutput {
     ///List of files with merge conflicts
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -107,8 +100,9 @@ impl jacquard_common::xrpc::XrpcResp for MergeCheckResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for MergeCheck {
     const NSID: &'static str = "sh.tangled.repo.mergeCheck";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = MergeCheckResponse;
 }
 
@@ -118,17 +112,18 @@ Path: `/xrpc/sh.tangled.repo.mergeCheck`. The request payload type is `MergeChec
 pub struct MergeCheckRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for MergeCheckRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.mergeCheck";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = MergeCheck;
     type Response = MergeCheckResponse;
 }
 
 fn lexicon_doc_sh_tangled_repo_mergeCheck() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.mergeCheck"),
@@ -137,26 +132,30 @@ fn lexicon_doc_sh_tangled_repo_mergeCheck() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("conflictInfo"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("filename"),
-                        SmolStr::new_static("reason"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("filename"),
+                            SmolStr::new_static("reason")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("filename"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Name of the conflicted file",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Name of the conflicted file"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("reason"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Reason for the conflict")),
+                                description: Some(
+                                    CowStr::new_static("Reason for the conflict"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -170,57 +169,61 @@ fn lexicon_doc_sh_tangled_repo_mergeCheck() -> LexiconDoc<'static> {
                 LexUserType::XrpcProcedure(LexXrpcProcedure {
                     input: Some(LexXrpcBody {
                         encoding: CowStr::new_static("application/json"),
-                        schema: Some(LexXrpcBodySchema::Object(LexObject {
-                            required: Some(vec![
-                                SmolStr::new_static("did"),
-                                SmolStr::new_static("name"),
-                                SmolStr::new_static("patch"),
-                                SmolStr::new_static("branch"),
-                            ]),
-                            properties: {
-                                #[allow(unused_mut)]
-                                let mut map = BTreeMap::new();
-                                map.insert(
-                                    SmolStr::new_static("branch"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Target branch to merge into",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("did"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "DID of the repository owner",
-                                        )),
-                                        format: Some(LexStringFormat::Did),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("name"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Name of the repository",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map.insert(
-                                    SmolStr::new_static("patch"),
-                                    LexObjectProperty::String(LexString {
-                                        description: Some(CowStr::new_static(
-                                            "Patch or pull request to check for merge conflicts",
-                                        )),
-                                        ..Default::default()
-                                    }),
-                                );
-                                map
-                            },
-                            ..Default::default()
-                        })),
+                        schema: Some(
+                            LexXrpcBodySchema::Object(LexObject {
+                                required: Some(
+                                    vec![
+                                        SmolStr::new_static("did"), SmolStr::new_static("name"),
+                                        SmolStr::new_static("patch"), SmolStr::new_static("branch")
+                                    ],
+                                ),
+                                properties: {
+                                    #[allow(unused_mut)]
+                                    let mut map = BTreeMap::new();
+                                    map.insert(
+                                        SmolStr::new_static("branch"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("Target branch to merge into"),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("did"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("DID of the repository owner"),
+                                            ),
+                                            format: Some(LexStringFormat::Did),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("name"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static("Name of the repository"),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map.insert(
+                                        SmolStr::new_static("patch"),
+                                        LexObjectProperty::String(LexString {
+                                            description: Some(
+                                                CowStr::new_static(
+                                                    "Patch or pull request to check for merge conflicts",
+                                                ),
+                                            ),
+                                            ..Default::default()
+                                        }),
+                                    );
+                                    map
+                                },
+                                ..Default::default()
+                            }),
+                        ),
                         ..Default::default()
                     }),
                     ..Default::default()
@@ -234,7 +237,7 @@ fn lexicon_doc_sh_tangled_repo_mergeCheck() -> LexiconDoc<'static> {
 
 pub mod merge_check_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -444,7 +447,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> MergeCheck {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> MergeCheck {
         MergeCheck {
             branch: self._fields.0.unwrap(),
             did: self._fields.1.unwrap(),
@@ -453,4 +459,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull.rs b/crates/jacquard-api/src/sh_tangled/repo/pull.rs
index 2d03cb521..714fc2feb 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull.rs
@@ -11,19 +11,20 @@ pub mod list_statuses;
 pub mod list_statuses_by;
 pub mod status;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -31,10 +32,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::pull;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::pull;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -76,10 +77,7 @@ pub struct PullGetRecordOutput {
 /// revisions of this pull request, newer rounds are appended to this array. appviews may reject records do not treat this field as append-only. the blob format is gzipped text-based git-format-patches.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Round {
     pub created_at: Datetime,
     pub patch_blob: BlobRef,
@@ -87,11 +85,9 @@ pub struct Round {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Source {
     pub branch: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -100,11 +96,9 @@ pub struct Source {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Target {
     pub branch: S,
     pub repo: Did,
@@ -176,16 +170,19 @@ impl LexiconSchema for Round {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["application/gzip"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("patch_blob"),
@@ -231,7 +228,7 @@ impl LexiconSchema for Target {
 
 pub mod pull_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -484,7 +481,10 @@ where
     St::Title: pull_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> PullBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> PullBuilder, S> {
         self._fields.8 = Option::Some(value.into());
         PullBuilder {
             _state: PhantomData,
@@ -535,10 +535,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_pull() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.pull"),
@@ -549,12 +549,13 @@ fn lexicon_doc_sh_tangled_repo_pull() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("target"),
-                            SmolStr::new_static("title"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("rounds"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("target"), SmolStr::new_static("title"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("rounds")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -677,9 +678,7 @@ fn lexicon_doc_sh_tangled_repo_pull() -> LexiconDoc<'static> {
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("branch"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("repo"),
@@ -696,18 +695,15 @@ fn lexicon_doc_sh_tangled_repo_pull() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("target"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("repo"),
-                        SmolStr::new_static("branch"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("repo"), SmolStr::new_static("branch")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("branch"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("repo"),
@@ -729,7 +725,7 @@ fn lexicon_doc_sh_tangled_repo_pull() -> LexiconDoc<'static> {
 
 pub mod round_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -878,7 +874,7 @@ where
 
 pub mod target_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -969,7 +965,10 @@ where
     St::Branch: target_state::IsUnset,
 {
     /// Set the `branch` field (required)
-    pub fn branch(mut self, value: impl Into) -> TargetBuilder, S> {
+    pub fn branch(
+        mut self,
+        value: impl Into,
+    ) -> TargetBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         TargetBuilder {
             _state: PhantomData,
@@ -985,7 +984,10 @@ where
     St::Repo: target_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into>) -> TargetBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into>,
+    ) -> TargetBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         TargetBuilder {
             _state: PhantomData,
@@ -1017,4 +1019,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull/comment.rs b/crates/jacquard-api/src/sh_tangled/repo/pull/comment.rs
index 7cb3d5a69..e6bef7578 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull/comment.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull/comment.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -108,7 +108,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -219,7 +219,10 @@ where
     St::Body: comment_state::IsUnset,
 {
     /// Set the `body` field (required)
-    pub fn body(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn body(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -325,10 +328,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_pull_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.pull.comment"),
@@ -339,11 +342,12 @@ fn lexicon_doc_sh_tangled_repo_pull_comment() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("pull"),
-                            SmolStr::new_static("body"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("pull"), SmolStr::new_static("body"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -398,4 +402,4 @@ fn lexicon_doc_sh_tangled_repo_pull_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses.rs b/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses.rs
index c52ac3a83..0938362e4 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::pull::list_statuses;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::pull::list_statuses;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatuses {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListStatuses {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatusesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListStatusesRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_pull_listStatuses() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.pull.listStatuses"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_repo_pull_listStatuses() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_repo_pull_listStatuses() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Pull AT-URI whose status records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Pull AT-URI whose status records to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_statuses_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses_by.rs b/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses_by.rs
index 49291b385..02e5c6df1 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull/list_statuses_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::repo::pull::list_statuses::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::pull::list_statuses::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatusesBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListStatusesBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStatusesByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_statuses_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_statuses_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListStatusesByBuilder {
+pub struct ListStatusesByBuilder<
+    St: list_statuses_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull/status.rs b/crates/jacquard-api/src/sh_tangled/repo/pull/status.rs
index 3764bc787..b8f03ae9b 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull/status.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull/status.rs
@@ -10,12 +10,13 @@ pub mod closed;
 pub mod merged;
 pub mod open;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -31,7 +32,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -123,7 +124,9 @@ where
     type Output = StatusStatus;
     fn into_static(self) -> Self::Output {
         match self {
-            StatusStatus::ShTangledRepoPullStatusOpen => StatusStatus::ShTangledRepoPullStatusOpen,
+            StatusStatus::ShTangledRepoPullStatusOpen => {
+                StatusStatus::ShTangledRepoPullStatusOpen
+            }
             StatusStatus::ShTangledRepoPullStatusClosed => {
                 StatusStatus::ShTangledRepoPullStatusClosed
             }
@@ -196,7 +199,7 @@ impl LexiconSchema for Status {
 
 pub mod status_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -344,10 +347,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_pull_status() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.pull.status"),
@@ -358,10 +361,11 @@ fn lexicon_doc_sh_tangled_repo_pull_status() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("pull"),
-                            SmolStr::new_static("status"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("pull"), SmolStr::new_static("status")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -375,9 +379,9 @@ fn lexicon_doc_sh_tangled_repo_pull_status() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("status"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "status of the pull request",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("status of the pull request"),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -392,4 +396,4 @@ fn lexicon_doc_sh_tangled_repo_pull_status() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull/status/closed.rs b/crates/jacquard-api/src/sh_tangled/repo/pull/status/closed.rs
index 435df54f4..095546a3b 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull/status/closed.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull/status/closed.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// closed pull request
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Closed {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull/status/merged.rs b/crates/jacquard-api/src/sh_tangled/repo/pull/status/merged.rs
index 3e9fb411c..f45dd9270 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull/status/merged.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull/status/merged.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// merged pull request
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Merged {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/pull/status/open.rs b/crates/jacquard-api/src/sh_tangled/repo/pull/status/open.rs
index c41390227..38630a76a 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/pull/status/open.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/pull/status/open.rs
@@ -7,7 +7,7 @@
 
 use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// open pull request
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -16,4 +16,4 @@ impl core::fmt::Display for Open {
     fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
         write!(f, "main")
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/remove_collaborator.rs b/crates/jacquard-api/src/sh_tangled/repo/remove_collaborator.rs
index 65e928aab..f606a3b07 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/remove_collaborator.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/remove_collaborator.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RemoveCollaborator {
     ///DID of the repository to remove the collaborator from
     pub repo: Did,
@@ -44,8 +41,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveCollaboratorResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for RemoveCollaborator {
     const NSID: &'static str = "sh.tangled.repo.removeCollaborator";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RemoveCollaboratorResponse;
 }
 
@@ -55,15 +53,16 @@ Path: `/xrpc/sh.tangled.repo.removeCollaborator`. The request payload type is `R
 pub struct RemoveCollaboratorRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RemoveCollaboratorRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.removeCollaborator";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = RemoveCollaborator;
     type Response = RemoveCollaboratorResponse;
 }
 
 pub mod remove_collaborator_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -106,7 +105,10 @@ pub mod remove_collaborator_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct RemoveCollaboratorBuilder {
+pub struct RemoveCollaboratorBuilder<
+    St: remove_collaborator_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -114,7 +116,10 @@ pub struct RemoveCollaboratorBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> RemoveCollaboratorBuilder {
+    pub fn new() -> RemoveCollaboratorBuilder<
+        remove_collaborator_state::Empty,
+        DefaultStr,
+    > {
         RemoveCollaboratorBuilder::new()
     }
 }
@@ -201,11 +206,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RemoveCollaborator {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RemoveCollaborator {
         RemoveCollaborator {
             repo: self._fields.0.unwrap(),
             subject: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/remove_secret.rs b/crates/jacquard-api/src/sh_tangled/repo/remove_secret.rs
index 6a1d605e0..4076a4bb8 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/remove_secret.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/remove_secret.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RemoveSecret {
     pub key: S,
     pub repo: AtUri,
@@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveSecretResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for RemoveSecret {
     const NSID: &'static str = "sh.tangled.repo.removeSecret";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RemoveSecretResponse;
 }
 
@@ -53,15 +51,16 @@ Path: `/xrpc/sh.tangled.repo.removeSecret`. The request payload type is `RemoveS
 pub struct RemoveSecretRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RemoveSecretRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.removeSecret";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = RemoveSecret;
     type Response = RemoveSecretResponse;
 }
 
 pub mod remove_secret_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -199,11 +198,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RemoveSecret {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RemoveSecret {
         RemoveSecret {
             key: self._fields.0.unwrap(),
             repo: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/set_default_branch.rs b/crates/jacquard-api/src/sh_tangled/repo/set_default_branch.rs
index 763db05b2..c90deafbb 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/set_default_branch.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/set_default_branch.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SetDefaultBranch {
     pub default_branch: S,
     pub repo: AtUri,
@@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for SetDefaultBranchResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for SetDefaultBranch {
     const NSID: &'static str = "sh.tangled.repo.setDefaultBranch";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = SetDefaultBranchResponse;
 }
 
@@ -53,15 +51,16 @@ Path: `/xrpc/sh.tangled.repo.setDefaultBranch`. The request payload type is `Set
 pub struct SetDefaultBranchRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for SetDefaultBranchRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.repo.setDefaultBranch";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = SetDefaultBranch;
     type Response = SetDefaultBranchResponse;
 }
 
 pub mod set_default_branch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -104,7 +103,10 @@ pub mod set_default_branch_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SetDefaultBranchBuilder {
+pub struct SetDefaultBranchBuilder<
+    St: set_default_branch_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -112,7 +114,10 @@ pub struct SetDefaultBranchBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SetDefaultBranchBuilder {
+    pub fn new() -> SetDefaultBranchBuilder<
+        set_default_branch_state::Empty,
+        DefaultStr,
+    > {
         SetDefaultBranchBuilder::new()
     }
 }
@@ -199,11 +204,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SetDefaultBranch {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SetDefaultBranch {
         SetDefaultBranch {
             default_branch: self._fields.0.unwrap(),
             repo: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/tag.rs b/crates/jacquard-api/src/sh_tangled/repo/tag.rs
index 220812057..28afc9cd3 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/tag.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/tag.rs
@@ -10,32 +10,39 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tag {
     pub repo: S,
     pub tag: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct TagOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum TagError {
     /// Repository not found or access denied
@@ -49,10 +56,7 @@ pub enum TagError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for TagError {
@@ -139,7 +143,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for TagRequest {
 
 pub mod tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -269,4 +273,4 @@ where
             tag: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/tags.rs b/crates/jacquard-api/src/sh_tangled/repo/tags.rs
index 2a98c8a87..3f028dfd6 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/tags.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/tags.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tags {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -32,15 +29,25 @@ pub struct Tags {
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct TagsOutput {
     pub body: Bytes,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum TagsError {
     /// Repository not found or access denied
@@ -51,10 +58,7 @@ pub enum TagsError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for TagsError {
@@ -138,7 +142,7 @@ fn _default_limit() -> Option {
 
 pub mod tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -243,7 +247,10 @@ where
     St::Repo: tags_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into) -> TagsBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into,
+    ) -> TagsBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         TagsBuilder {
             _state: PhantomData,
@@ -266,4 +273,4 @@ where
             repo: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/repo/tree.rs b/crates/jacquard-api/src/sh_tangled/repo/tree.rs
index 20f795ec4..8085220b2 100644
--- a/crates/jacquard-api/src/sh_tangled/repo/tree.rs
+++ b/crates/jacquard-api/src/sh_tangled/repo/tree.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::repo::tree;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::repo::tree;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct LastCommit {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -44,11 +41,9 @@ pub struct LastCommit {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Tree {
     /// Defaults to `""`.
     #[serde(default = "_default_path")]
@@ -58,11 +53,9 @@ pub struct Tree {
     pub repo: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TreeOutput {
     ///Parent directory path
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -82,9 +75,18 @@ pub struct TreeOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum TreeError {
     /// Repository not found or access denied
@@ -101,10 +103,7 @@ pub enum TreeError {
     InvalidRequest(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for TreeError {
@@ -149,11 +148,9 @@ impl core::fmt::Display for TreeError {
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Readme {
     ///Contents of the readme file
     pub contents: S,
@@ -163,11 +160,9 @@ pub struct Readme {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Signature {
     ///Author email
     pub email: S,
@@ -179,11 +174,9 @@ pub struct Signature {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TreeEntry {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub last_commit: Option>,
@@ -287,7 +280,7 @@ impl LexiconSchema for TreeEntry {
 
 pub mod last_commit_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -346,12 +339,7 @@ pub mod last_commit_state {
 /// Builder for constructing an instance of this type.
 pub struct LastCommitBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -479,7 +467,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> LastCommit {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> LastCommit {
         LastCommit {
             author: self._fields.0,
             hash: self._fields.1.unwrap(),
@@ -491,10 +482,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_repo_tree() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.repo.tree"),
@@ -503,11 +494,12 @@ fn lexicon_doc_sh_tangled_repo_tree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("lastCommit"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("hash"),
-                        SmolStr::new_static("message"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("hash"), SmolStr::new_static("message"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -548,71 +540,82 @@ fn lexicon_doc_sh_tangled_repo_tree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![
-                            SmolStr::new_static("repo"),
-                            SmolStr::new_static("ref"),
-                        ]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("path"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Path within the repository tree",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("ref"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Git reference (branch, tag, or commit SHA)",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("repo"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Repository identifier in format 'did:plc:.../repoName'",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(
+                                vec![
+                                    SmolStr::new_static("repo"), SmolStr::new_static("ref")
+                                ],
+                            ),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("path"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Path within the repository tree"),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("ref"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Git reference (branch, tag, or commit SHA)",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("repo"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Repository identifier in format 'did:plc:.../repoName'",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("readme"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("filename"),
-                        SmolStr::new_static("contents"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("filename"),
+                            SmolStr::new_static("contents")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("contents"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Contents of the readme file",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Contents of the readme file"),
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("filename"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("Name of the readme file")),
+                                description: Some(
+                                    CowStr::new_static("Name of the readme file"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -624,11 +627,12 @@ fn lexicon_doc_sh_tangled_repo_tree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("signature"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("email"),
-                        SmolStr::new_static("when"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("email"),
+                            SmolStr::new_static("when")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -662,11 +666,12 @@ fn lexicon_doc_sh_tangled_repo_tree() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("treeEntry"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("mode"),
-                        SmolStr::new_static("size"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("mode"),
+                            SmolStr::new_static("size")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -687,9 +692,9 @@ fn lexicon_doc_sh_tangled_repo_tree() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("name"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Relative file or directory name",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Relative file or directory name"),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -716,7 +721,7 @@ fn _default_path() -> Option {
 
 pub mod tree_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -820,7 +825,10 @@ where
     St::Ref: tree_state::IsUnset,
 {
     /// Set the `ref` field (required)
-    pub fn r#ref(mut self, value: impl Into) -> TreeBuilder, S> {
+    pub fn r#ref(
+        mut self,
+        value: impl Into,
+    ) -> TreeBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         TreeBuilder {
             _state: PhantomData,
@@ -836,7 +844,10 @@ where
     St::Repo: tree_state::IsUnset,
 {
     /// Set the `repo` field (required)
-    pub fn repo(mut self, value: impl Into) -> TreeBuilder, S> {
+    pub fn repo(
+        mut self,
+        value: impl Into,
+    ) -> TreeBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         TreeBuilder {
             _state: PhantomData,
@@ -864,7 +875,7 @@ where
 
 pub mod signature_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1037,7 +1048,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Signature {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Signature {
         Signature {
             email: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -1049,7 +1063,7 @@ where
 
 pub mod tree_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1108,12 +1122,7 @@ pub mod tree_entry_state {
 /// Builder for constructing an instance of this type.
 pub struct TreeEntryBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -1241,7 +1250,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TreeEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TreeEntry {
         TreeEntry {
             last_commit: self._fields.0,
             mode: self._fields.1.unwrap(),
@@ -1250,4 +1262,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/spindle.rs b/crates/jacquard-api/src/sh_tangled/spindle.rs
index 2c539f679..5ae78b8eb 100644
--- a/crates/jacquard-api/src/sh_tangled/spindle.rs
+++ b/crates/jacquard-api/src/sh_tangled/spindle.rs
@@ -11,12 +11,13 @@ pub mod list_members_by;
 pub mod list_spindles;
 pub mod member;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -32,7 +33,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -108,7 +109,7 @@ impl LexiconSchema for Spindle {
 
 pub mod spindle_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -222,10 +223,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_spindle() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.spindle"),
@@ -258,4 +259,4 @@ fn lexicon_doc_sh_tangled_spindle() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/spindle/list_members.rs b/crates/jacquard-api/src/sh_tangled/spindle/list_members.rs
index 145f42dc9..8df8098b4 100644
--- a/crates/jacquard-api/src/sh_tangled/spindle/list_members.rs
+++ b/crates/jacquard-api/src/sh_tangled/spindle/list_members.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::spindle::list_members;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::spindle::list_members;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembers {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListMembers {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembersOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListMembersRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_spindle_listMembers() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.spindle.listMembers"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_spindle_listMembers() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,46 +320,50 @@ fn lexicon_doc_sh_tangled_spindle_listMembers() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Spindle identifier whose member records to list.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Spindle identifier whose member records to list.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -387,7 +383,7 @@ fn _default_order() -> Option {
 
 pub mod list_members_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -532,4 +528,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/spindle/list_members_by.rs b/crates/jacquard-api/src/sh_tangled/spindle/list_members_by.rs
index b2dc1afd6..e3c0137c6 100644
--- a/crates/jacquard-api/src/sh_tangled/spindle/list_members_by.rs
+++ b/crates/jacquard-api/src/sh_tangled/spindle/list_members_by.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_tangled::spindle::list_members::ListItem;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Did;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::spindle::list_members::ListItem;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembersBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -37,11 +34,9 @@ pub struct ListMembersBy {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListMembersByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_order() -> Option {
 
 pub mod list_members_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod list_members_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListMembersByBuilder {
+pub struct ListMembersByBuilder<
+    St: list_members_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/spindle/list_spindles.rs b/crates/jacquard-api/src/sh_tangled/spindle/list_spindles.rs
index b03a6bb10..8b719134f 100644
--- a/crates/jacquard-api/src/sh_tangled/spindle/list_spindles.rs
+++ b/crates/jacquard-api/src/sh_tangled/spindle/list_spindles.rs
@@ -10,27 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::value::Data;
 use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::spindle::list_spindles;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::spindle::list_spindles;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListSpindles {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListSpindles {
     pub subject: Did,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListSpindlesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListSpindlesRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_spindle_listSpindles() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.spindle.listSpindles"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_spindle_listSpindles() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,47 +320,51 @@ fn lexicon_doc_sh_tangled_spindle_listSpindles() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Owner DID whose spindle records to list.",
-                                    )),
-                                    format: Some(LexStringFormat::Did),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Owner DID whose spindle records to list.",
+                                            ),
+                                        ),
+                                        format: Some(LexStringFormat::Did),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -388,7 +384,7 @@ fn _default_order() -> Option {
 
 pub mod list_spindles_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -533,4 +529,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/spindle/member.rs b/crates/jacquard-api/src/sh_tangled/spindle/member.rs
index e686d9dea..d34bafee4 100644
--- a/crates/jacquard-api/src/sh_tangled/spindle/member.rs
+++ b/crates/jacquard-api/src/sh_tangled/spindle/member.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -105,7 +105,7 @@ impl LexiconSchema for Member {
 
 pub mod member_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -289,10 +289,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_spindle_member() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.spindle.member"),
@@ -303,11 +303,13 @@ fn lexicon_doc_sh_tangled_spindle_member() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("instance"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("instance"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -321,9 +323,11 @@ fn lexicon_doc_sh_tangled_spindle_member() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("instance"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "spindle instance that the subject is now a member of",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "spindle instance that the subject is now a member of",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -345,4 +349,4 @@ fn lexicon_doc_sh_tangled_spindle_member() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/string.rs b/crates/jacquard-api/src/sh_tangled/string.rs
index ab8c4b8e8..582683793 100644
--- a/crates/jacquard-api/src/sh_tangled/string.rs
+++ b/crates/jacquard-api/src/sh_tangled/string.rs
@@ -8,12 +8,13 @@
 //! Generated bindings for the `sh.tangled.string` Lexicon namespace/module.
 pub mod list_strings;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -29,7 +30,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -160,7 +161,7 @@ impl LexiconSchema for TangledString {
 
 pub mod tangled_string_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -233,7 +234,10 @@ pub mod tangled_string_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TangledStringBuilder {
+pub struct TangledStringBuilder<
+    St: tangled_string_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option),
     _type: PhantomData S>,
@@ -370,7 +374,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TangledString {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TangledString {
         TangledString {
             contents: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -382,10 +389,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_string() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.string"),
@@ -396,12 +403,14 @@ fn lexicon_doc_sh_tangled_string() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("filename"),
-                            SmolStr::new_static("description"),
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("contents"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("filename"),
+                                SmolStr::new_static("description"),
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("contents")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -445,4 +454,4 @@ fn lexicon_doc_sh_tangled_string() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/string/list_strings.rs b/crates/jacquard-api/src/sh_tangled/string/list_strings.rs
index 8d2181f9a..04dd54f93 100644
--- a/crates/jacquard-api/src/sh_tangled/string/list_strings.rs
+++ b/crates/jacquard-api/src/sh_tangled/string/list_strings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_tangled::string::list_strings;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_tangled::string::list_strings;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -41,11 +38,9 @@ pub struct ListItem {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStrings {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -60,11 +55,9 @@ pub struct ListStrings {
     pub subject: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListStringsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -118,7 +111,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListStringsRequest {
 
 pub mod list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -281,10 +274,10 @@ where
 }
 
 fn lexicon_doc_sh_tangled_string_listStrings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.tangled.string.listStrings"),
@@ -293,10 +286,9 @@ fn lexicon_doc_sh_tangled_string_listStrings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("listItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("value"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("value")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -328,46 +320,50 @@ fn lexicon_doc_sh_tangled_string_listStrings() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("subject")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("Pagination cursor")),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("order"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Sort direction by createdAt.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("subject"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Scope identifier whose string records to list.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("subject")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(CowStr::new_static("Pagination cursor")),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("order"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Sort direction by createdAt."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("subject"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static(
+                                                "Scope identifier whose string records to list.",
+                                            ),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -387,7 +383,7 @@ fn _default_order() -> Option {
 
 pub mod list_strings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -532,4 +528,4 @@ where
             subject: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/sync.rs b/crates/jacquard-api/src/sh_tangled/sync.rs
index 1d3287d19..6e9bb6009 100644
--- a/crates/jacquard-api/src/sh_tangled/sync.rs
+++ b/crates/jacquard-api/src/sh_tangled/sync.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `sh.tangled.sync` Lexicon namespace/module.
-pub mod request_crawl;
+pub mod request_crawl;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_tangled/sync/request_crawl.rs b/crates/jacquard-api/src/sh_tangled/sync/request_crawl.rs
index c39236d78..92d4ffe63 100644
--- a/crates/jacquard-api/src/sh_tangled/sync/request_crawl.rs
+++ b/crates/jacquard-api/src/sh_tangled/sync/request_crawl.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RequestCrawl {
     ///specific repository to ensure crawling
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -32,19 +29,25 @@ pub struct RequestCrawl {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum RequestCrawlError {
     #[serde(rename = "HostBanned")]
     HostBanned(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for RequestCrawlError {
@@ -81,8 +84,9 @@ impl jacquard_common::xrpc::XrpcResp for RequestCrawlResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for RequestCrawl {
     const NSID: &'static str = "sh.tangled.sync.requestCrawl";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = RequestCrawlResponse;
 }
 
@@ -92,8 +96,9 @@ Path: `/xrpc/sh.tangled.sync.requestCrawl`. The request payload type is `Request
 pub struct RequestCrawlRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for RequestCrawlRequest {
     const PATH: &'static str = "/xrpc/sh.tangled.sync.requestCrawl";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = RequestCrawl;
     type Response = RequestCrawlResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver.rs b/crates/jacquard-api/src/sh_weaver.rs
index b43ceada2..587eebd24 100644
--- a/crates/jacquard-api/src/sh_weaver.rs
+++ b/crates/jacquard-api/src/sh_weaver.rs
@@ -11,4 +11,4 @@ pub mod embed;
 pub mod graph;
 pub mod notebook;
 pub mod notification;
-pub mod publish;
+pub mod publish;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor.rs b/crates/jacquard-api/src/sh_weaver/actor.rs
index 3963111f5..07f86fcde 100644
--- a/crates/jacquard-api/src/sh_weaver/actor.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor.rs
@@ -14,37 +14,35 @@ pub mod profile;
 pub mod search_actors;
 pub mod search_actors_typeahead;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{AtUri, Datetime, Did, Handle, UriValue};
+use jacquard_common::types::string::{Did, Handle, AtUri, Datetime, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::actor::ProfileViewDetailed;
 use crate::com_atproto::label::Label;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::actor;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A single author in a Weaver notebook.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Author {
     pub did: Did,
     ///signed bytes of the corresponding notebook record in the author's repo
@@ -58,10 +56,7 @@ pub struct Author {
 pub type PinnedList = Vec>;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileDataView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub collaboration_count: Option,
@@ -80,6 +75,7 @@ pub struct ProfileDataView {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -92,11 +88,9 @@ pub enum ProfileDataViewInner {
     TangledProfileView(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileDataViewBasic {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub follower_count: Option,
@@ -109,6 +103,7 @@ pub struct ProfileDataViewBasic {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -121,11 +116,9 @@ pub enum ProfileDataViewBasicInner {
     TangledProfileView(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -171,11 +164,9 @@ pub struct ProfileView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileViewBasic {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -200,10 +191,7 @@ pub type PronounsList = Vec;
 /// A notebook the viewer subscribes to without a global follow.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SubscribedNotebook {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub path: Option,
@@ -214,11 +202,9 @@ pub struct SubscribedNotebook {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TangledProfileView {
     ///Include link to this account on Bluesky.
     pub bluesky: bool,
@@ -244,10 +230,7 @@ pub struct TangledProfileView {
 /// Viewer's relationship state with an actor (detailed version).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewerState {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub blocked: Option>,
@@ -272,10 +255,7 @@ pub struct ViewerState {
 /// Viewer's relationship state with an actor (basic version).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewerStateBasic {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub blocked: Option>,
@@ -646,7 +626,7 @@ impl LexiconSchema for ViewerStateBasic {
 
 pub mod author_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -725,7 +705,10 @@ where
     St::Did: author_state::IsUnset,
 {
     /// Set the `did` field (required)
-    pub fn did(mut self, value: impl Into>) -> AuthorBuilder, S> {
+    pub fn did(
+        mut self,
+        value: impl Into>,
+    ) -> AuthorBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         AuthorBuilder {
             _state: PhantomData,
@@ -772,10 +755,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.actor.defs"),
@@ -784,7 +767,9 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("author"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A single author in a Weaver notebook.")),
+                    description: Some(
+                        CowStr::new_static("A single author in a Weaver notebook."),
+                    ),
                     required: Some(vec![SmolStr::new_static("did")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -798,9 +783,7 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("signature"),
-                            LexObjectProperty::Bytes(LexBytes {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Bytes(LexBytes { ..Default::default() }),
                         );
                         map
                     },
@@ -854,7 +837,7 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("#profileView"),
                                     CowStr::new_static("app.bsky.actor.defs#profileViewDetailed"),
-                                    CowStr::new_static("#tangledProfileView"),
+                                    CowStr::new_static("#tangledProfileView")
                                 ],
                                 ..Default::default()
                             }),
@@ -902,7 +885,7 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("#profileViewBasic"),
                                     CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
-                                    CowStr::new_static("#tangledProfileView"),
+                                    CowStr::new_static("#tangledProfileView")
                                 ],
                                 ..Default::default()
                             }),
@@ -1076,10 +1059,9 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("profileViewBasic"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("handle"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("did"), SmolStr::new_static("handle")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1163,24 +1145,22 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("subscribedNotebook"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A notebook the viewer subscribes to without a global follow.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A notebook the viewer subscribes to without a global follow.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("uri")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("path"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -1302,9 +1282,11 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("viewerState"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Viewer's relationship state with an actor (detailed version).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Viewer's relationship state with an actor (detailed version).",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1374,9 +1356,11 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("viewerStateBasic"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Viewer's relationship state with an actor (basic version).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Viewer's relationship state with an actor (basic version).",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1447,7 +1431,7 @@ fn lexicon_doc_sh_weaver_actor_defs() -> LexiconDoc<'static> {
 
 pub mod profile_data_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1478,7 +1462,10 @@ pub mod profile_data_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ProfileDataViewBuilder {
+pub struct ProfileDataViewBuilder<
+    St: profile_data_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -1644,7 +1631,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileDataView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileDataView {
         ProfileDataView {
             collaboration_count: self._fields.0,
             entry_count: self._fields.1,
@@ -1660,7 +1650,7 @@ where
 
 pub mod profile_data_view_basic_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1707,14 +1697,20 @@ pub struct ProfileDataViewBasicBuilder<
 
 impl ProfileDataViewBasic {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ProfileDataViewBasicBuilder {
+    pub fn new() -> ProfileDataViewBasicBuilder<
+        profile_data_view_basic_state::Empty,
+        DefaultStr,
+    > {
         ProfileDataViewBasicBuilder::new()
     }
 }
 
 impl ProfileDataViewBasic {
     /// Create a new builder for this type
-    pub fn builder() -> ProfileDataViewBasicBuilder {
+    pub fn builder() -> ProfileDataViewBasicBuilder<
+        profile_data_view_basic_state::Empty,
+        S,
+    > {
         ProfileDataViewBasicBuilder::builder()
     }
 }
@@ -1741,7 +1737,10 @@ impl ProfileDataViewBasicBuilder ProfileDataViewBasicBuilder {
+impl<
+    St: profile_data_view_basic_state::State,
+    S: BosStr,
+> ProfileDataViewBasicBuilder {
     /// Set the `followerCount` field (optional)
     pub fn follower_count(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -1754,7 +1753,10 @@ impl ProfileDataViewBasicBu
     }
 }
 
-impl ProfileDataViewBasicBuilder {
+impl<
+    St: profile_data_view_basic_state::State,
+    S: BosStr,
+> ProfileDataViewBasicBuilder {
     /// Set the `followingCount` field (optional)
     pub fn following_count(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -1786,9 +1788,15 @@ where
     }
 }
 
-impl ProfileDataViewBasicBuilder {
+impl<
+    St: profile_data_view_basic_state::State,
+    S: BosStr,
+> ProfileDataViewBasicBuilder {
     /// Set the `viewer` field (optional)
-    pub fn viewer(mut self, value: impl Into>>) -> Self {
+    pub fn viewer(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -1831,7 +1839,7 @@ where
 
 pub mod profile_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1919,8 +1927,24 @@ impl ProfileViewBuilder {
         ProfileViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -1933,8 +1957,24 @@ impl ProfileViewBuilder {
         ProfileViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -2218,7 +2258,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileView {
         ProfileView {
             avatar: self._fields.0,
             banner: self._fields.1,
@@ -2245,7 +2288,7 @@ where
 
 pub mod profile_view_basic_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2288,7 +2331,10 @@ pub mod profile_view_basic_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ProfileViewBasicBuilder {
+pub struct ProfileViewBasicBuilder<
+    St: profile_view_basic_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -2305,7 +2351,10 @@ pub struct ProfileViewBasicBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ProfileViewBasicBuilder {
+    pub fn new() -> ProfileViewBasicBuilder<
+        profile_view_basic_state::Empty,
+        DefaultStr,
+    > {
         ProfileViewBasicBuilder::new()
     }
 }
@@ -2476,7 +2525,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileViewBasic {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileViewBasic {
         ProfileViewBasic {
             avatar: self._fields.0,
             created_at: self._fields.1,
@@ -2493,7 +2545,7 @@ where
 
 pub mod subscribed_notebook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2524,7 +2576,10 @@ pub mod subscribed_notebook_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SubscribedNotebookBuilder {
+pub struct SubscribedNotebookBuilder<
+    St: subscribed_notebook_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -2532,7 +2587,10 @@ pub struct SubscribedNotebookBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SubscribedNotebookBuilder {
+    pub fn new() -> SubscribedNotebookBuilder<
+        subscribed_notebook_state::Empty,
+        DefaultStr,
+    > {
         SubscribedNotebookBuilder::new()
     }
 }
@@ -2626,7 +2684,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SubscribedNotebook {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SubscribedNotebook {
         SubscribedNotebook {
             path: self._fields.0,
             title: self._fields.1,
@@ -2638,7 +2699,7 @@ where
 
 pub mod tangled_profile_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2695,8 +2756,10 @@ pub mod tangled_profile_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TangledProfileViewBuilder
-{
+pub struct TangledProfileViewBuilder<
+    St: tangled_profile_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -2713,7 +2776,10 @@ pub struct TangledProfileViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> TangledProfileViewBuilder {
+    pub fn new() -> TangledProfileViewBuilder<
+        tangled_profile_view_state::Empty,
+        DefaultStr,
+    > {
         TangledProfileViewBuilder::new()
     }
 }
@@ -2845,7 +2911,10 @@ impl TangledProfileViewBuilder
 
 impl TangledProfileViewBuilder {
     /// Set the `pinnedRepositories` field (optional)
-    pub fn pinned_repositories(mut self, value: impl Into>>>) -> Self {
+    pub fn pinned_repositories(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
@@ -2891,7 +2960,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TangledProfileView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TangledProfileView {
         TangledProfileView {
             bluesky: self._fields.0.unwrap(),
             description: self._fields.1,
@@ -2904,4 +2976,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor/get_actor_entries.rs b/crates/jacquard-api/src/sh_weaver/actor/get_actor_entries.rs
index 8a899e054..103ef7546 100644
--- a/crates/jacquard-api/src/sh_weaver/actor/get_actor_entries.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor/get_actor_entries.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::EntryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::EntryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorEntries {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -37,11 +34,9 @@ pub struct GetActorEntries {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorEntriesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_limit() -> Option {
 
 pub mod get_actor_entries_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,14 +114,12 @@ pub mod get_actor_entries_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetActorEntriesBuilder {
+pub struct GetActorEntriesBuilder<
+    St: get_actor_entries_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -238,4 +231,4 @@ where
             limit: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor/get_actor_notebooks.rs b/crates/jacquard-api/src/sh_weaver/actor/get_actor_notebooks.rs
index ee0c5aeb2..519874c9c 100644
--- a/crates/jacquard-api/src/sh_weaver/actor/get_actor_notebooks.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor/get_actor_notebooks.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorNotebooks {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -37,11 +34,9 @@ pub struct GetActorNotebooks {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorNotebooksOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_limit() -> Option {
 
 pub mod get_actor_notebooks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,20 +114,21 @@ pub mod get_actor_notebooks_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetActorNotebooksBuilder {
+pub struct GetActorNotebooksBuilder<
+    St: get_actor_notebooks_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
 }
 
 impl GetActorNotebooks {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetActorNotebooksBuilder {
+    pub fn new() -> GetActorNotebooksBuilder<
+        get_actor_notebooks_state::Empty,
+        DefaultStr,
+    > {
         GetActorNotebooksBuilder::new()
     }
 }
@@ -238,4 +234,4 @@ where
             limit: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor/get_profile.rs b/crates/jacquard-api/src/sh_weaver/actor/get_profile.rs
index aaa826bc6..6432ad5ec 100644
--- a/crates/jacquard-api/src/sh_weaver/actor/get_profile.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor/get_profile.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileDataView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileDataView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfile {
     pub actor: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileOutput {
     #[serde(flatten)]
     pub value: ProfileDataView,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest {
 
 pub mod get_profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -172,4 +167,4 @@ where
             actor: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor/get_suggested_authors.rs b/crates/jacquard-api/src/sh_weaver/actor/get_suggested_authors.rs
index e68c30859..fe8e011a9 100644
--- a/crates/jacquard-api/src/sh_weaver/actor/get_suggested_authors.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor/get_suggested_authors.rs
@@ -10,11 +10,11 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -25,11 +25,9 @@ pub struct GetSuggestedAuthors {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSuggestedAuthorsOutput {
     pub authors: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -70,7 +68,7 @@ fn _default_limit() -> Option {
 
 pub mod get_suggested_authors_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -143,4 +141,4 @@ where
             limit: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor/profile.rs b/crates/jacquard-api/src/sh_weaver/actor/profile.rs
index 0072bb71a..c97a3ee09 100644
--- a/crates/jacquard-api/src/sh_weaver/actor/profile.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,12 +25,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::label::SelfLabels;
 use crate::sh_weaver::actor::PinnedList;
 use crate::sh_weaver::actor::PronounsList;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A declaration of a Weaver account profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -152,20 +152,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -187,20 +192,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("banner"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -298,7 +308,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -356,7 +366,19 @@ impl ProfileBuilder {
         ProfileBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -369,7 +391,19 @@ impl ProfileBuilder {
         ProfileBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -590,10 +624,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.actor.profile"),
@@ -733,4 +767,4 @@ fn lexicon_doc_sh_weaver_actor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor/search_actors.rs b/crates/jacquard-api/src/sh_weaver/actor/search_actors.rs
index 14dd836d0..5502378cb 100644
--- a/crates/jacquard-api/src/sh_weaver/actor/search_actors.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor/search_actors.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActors {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -32,11 +29,9 @@ pub struct SearchActors {
     pub q: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActorsOutput {
     pub actors: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod search_actors_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -210,4 +205,4 @@ where
             q: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/actor/search_actors_typeahead.rs b/crates/jacquard-api/src/sh_weaver/actor/search_actors_typeahead.rs
index d66f21431..e024d2bac 100644
--- a/crates/jacquard-api/src/sh_weaver/actor/search_actors_typeahead.rs
+++ b/crates/jacquard-api/src/sh_weaver/actor/search_actors_typeahead.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileViewBasic;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActorsTypeahead {
     /// Defaults to `10`. Min: 1. Max: 25.
     #[serde(default = "_default_limit")]
@@ -30,11 +27,9 @@ pub struct SearchActorsTypeahead {
     pub q: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchActorsTypeaheadOutput {
     pub actors: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -75,7 +70,7 @@ fn _default_limit() -> Option {
 
 pub mod search_actors_typeahead_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -117,14 +112,20 @@ pub struct SearchActorsTypeaheadBuilder<
 
 impl SearchActorsTypeahead {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SearchActorsTypeaheadBuilder {
+    pub fn new() -> SearchActorsTypeaheadBuilder<
+        search_actors_typeahead_state::Empty,
+        DefaultStr,
+    > {
         SearchActorsTypeaheadBuilder::new()
     }
 }
 
 impl SearchActorsTypeahead {
     /// Create a new builder for this type
-    pub fn builder() -> SearchActorsTypeaheadBuilder {
+    pub fn builder() -> SearchActorsTypeaheadBuilder<
+        search_actors_typeahead_state::Empty,
+        S,
+    > {
         SearchActorsTypeaheadBuilder::builder()
     }
 }
@@ -151,7 +152,10 @@ impl SearchActorsTypeaheadBuilder SearchActorsTypeaheadBuilder {
+impl<
+    St: search_actors_typeahead_state::State,
+    S: BosStr,
+> SearchActorsTypeaheadBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -195,4 +199,4 @@ where
             q: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab.rs b/crates/jacquard-api/src/sh_weaver/collab.rs
index e05e5d4e8..7d14b896c 100644
--- a/crates/jacquard-api/src/sh_weaver/collab.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab.rs
@@ -14,12 +14,13 @@ pub mod get_resource_sessions;
 pub mod invite;
 pub mod session;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -30,13 +31,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::actor::ProfileViewBasic;
-use crate::sh_weaver::collab;
 use crate::sh_weaver::notebook::PublishedVersionView;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::sh_weaver::collab;
 /// Collaboration scoped to a chapter.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)]
@@ -50,10 +51,7 @@ impl core::fmt::Display for Chapter {
 /// Full state of a collaboration relationship including version reconciliation. Tracks both current and former collaborators.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CollaborationStateView {
     ///The 'canonical' version URI (usually owner's)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -139,7 +137,8 @@ impl Serialize for CollaborationStateViewStatus {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CollaborationStateViewStatus {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for CollaborationStateViewStatus {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -165,8 +164,12 @@ where
         match self {
             CollaborationStateViewStatus::Active => CollaborationStateViewStatus::Active,
             CollaborationStateViewStatus::Broken => CollaborationStateViewStatus::Broken,
-            CollaborationStateViewStatus::Diverged => CollaborationStateViewStatus::Diverged,
-            CollaborationStateViewStatus::Reconciled => CollaborationStateViewStatus::Reconciled,
+            CollaborationStateViewStatus::Diverged => {
+                CollaborationStateViewStatus::Diverged
+            }
+            CollaborationStateViewStatus::Reconciled => {
+                CollaborationStateViewStatus::Reconciled
+            }
             CollaborationStateViewStatus::Other(v) => {
                 CollaborationStateViewStatus::Other(v.into_static())
             }
@@ -187,10 +190,7 @@ impl core::fmt::Display for Entry {
 /// Lightweight view for 'this person used to collaborate but doesn't anymore'.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FormerCollaboratorView {
     ///Number of diffs they created while active
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -207,6 +207,7 @@ pub struct FormerCollaboratorView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum FormerCollaboratorViewEndReason {
     VoluntaryLeave,
@@ -259,7 +260,8 @@ impl Serialize for FormerCollaboratorViewEndReason {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for FormerCollaboratorViewEndReason {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for FormerCollaboratorViewEndReason {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -305,10 +307,7 @@ where
 /// Hydrated view of a collaboration invite with status.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct InviteView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub accept_uri: Option>,
@@ -333,6 +332,7 @@ pub struct InviteView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum InviteViewScope {
     Notebook,
@@ -414,6 +414,7 @@ where
     }
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum InviteViewStatus {
     Pending,
@@ -512,10 +513,7 @@ impl core::fmt::Display for Notebook {
 /// Individual participant's state in a collaboration. Distinguishes 'was collaborator' vs 'never was'.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ParticipantStateView {
     ///If they accepted (even if later broken)
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -601,7 +599,8 @@ impl Serialize for ParticipantStateViewEndReason {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ParticipantStateViewEndReason {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ParticipantStateViewEndReason {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -644,6 +643,7 @@ where
     }
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ParticipantStateViewRole {
     Owner,
@@ -693,7 +693,8 @@ impl Serialize for ParticipantStateViewRole {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ParticipantStateViewRole {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ParticipantStateViewRole {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -718,11 +719,15 @@ where
     fn into_static(self) -> Self::Output {
         match self {
             ParticipantStateViewRole::Owner => ParticipantStateViewRole::Owner,
-            ParticipantStateViewRole::Collaborator => ParticipantStateViewRole::Collaborator,
+            ParticipantStateViewRole::Collaborator => {
+                ParticipantStateViewRole::Collaborator
+            }
             ParticipantStateViewRole::FormerCollaborator => {
                 ParticipantStateViewRole::FormerCollaborator
             }
-            ParticipantStateViewRole::Other(v) => ParticipantStateViewRole::Other(v.into_static()),
+            ParticipantStateViewRole::Other(v) => {
+                ParticipantStateViewRole::Other(v.into_static())
+            }
         }
     }
 }
@@ -784,7 +789,8 @@ impl Serialize for ParticipantStateViewStatus {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ParticipantStateViewStatus {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for ParticipantStateViewStatus {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -823,10 +829,7 @@ where
 /// Active real-time collaboration session.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SessionView {
     pub created_at: Datetime,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -918,7 +921,7 @@ impl LexiconSchema for SessionView {
 
 pub mod collaboration_state_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -999,15 +1002,20 @@ pub struct CollaborationStateViewBuilder<
 
 impl CollaborationStateView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CollaborationStateViewBuilder
-    {
+    pub fn new() -> CollaborationStateViewBuilder<
+        collaboration_state_view_state::Empty,
+        DefaultStr,
+    > {
         CollaborationStateViewBuilder::new()
     }
 }
 
 impl CollaborationStateView {
     /// Create a new builder for this type
-    pub fn builder() -> CollaborationStateViewBuilder {
+    pub fn builder() -> CollaborationStateViewBuilder<
+        collaboration_state_view_state::Empty,
+        S,
+    > {
         CollaborationStateViewBuilder::builder()
     }
 }
@@ -1018,7 +1026,18 @@ impl CollaborationStateViewBuilder CollaborationStateViewBuilder CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `canonicalUri` field (optional)
     pub fn canonical_uri(mut self, value: impl Into>>) -> Self {
         self._fields.0 = value.into();
@@ -1051,7 +1084,10 @@ impl CollaborationStateVie
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `createdAt` field (optional)
     pub fn created_at(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -1064,9 +1100,15 @@ impl CollaborationStateVie
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `firstCollaboratorAddedAt` field (optional)
-    pub fn first_collaborator_added_at(mut self, value: impl Into>) -> Self {
+    pub fn first_collaborator_added_at(
+        mut self,
+        value: impl Into>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -1077,7 +1119,10 @@ impl CollaborationStateVie
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `formerParticipants` field (optional)
     pub fn former_participants(
         mut self,
@@ -1096,7 +1141,10 @@ impl CollaborationStateVie
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `hasDivergence` field (optional)
     pub fn has_divergence(mut self, value: impl Into>) -> Self {
         self._fields.4 = value.into();
@@ -1109,7 +1157,10 @@ impl CollaborationStateVie
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `hasFormerCollaborators` field (optional)
     pub fn has_former_collaborators(mut self, value: impl Into>) -> Self {
         self._fields.5 = value.into();
@@ -1122,7 +1173,10 @@ impl CollaborationStateVie
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `hasOrphanedVersions` field (optional)
     pub fn has_orphaned_versions(mut self, value: impl Into>) -> Self {
         self._fields.6 = value.into();
@@ -1135,7 +1189,10 @@ impl CollaborationStateVie
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `lastSyncedAt` field (optional)
     pub fn last_synced_at(mut self, value: impl Into>) -> Self {
         self._fields.7 = value.into();
@@ -1157,7 +1214,10 @@ where
     pub fn participants(
         mut self,
         value: impl Into>>,
-    ) -> CollaborationStateViewBuilder, S> {
+    ) -> CollaborationStateViewBuilder<
+        collaboration_state_view_state::SetParticipants,
+        S,
+    > {
         self._fields.8 = Option::Some(value.into());
         CollaborationStateViewBuilder {
             _state: PhantomData,
@@ -1167,7 +1227,10 @@ where
     }
 }
 
-impl CollaborationStateViewBuilder {
+impl<
+    St: collaboration_state_view_state::State,
+    S: BosStr,
+> CollaborationStateViewBuilder {
     /// Set the `publishedVersions` field (optional)
     pub fn published_versions(
         mut self,
@@ -1177,7 +1240,10 @@ impl CollaborationStateVie
         self
     }
     /// Set the `publishedVersions` field to an Option value (optional)
-    pub fn maybe_published_versions(mut self, value: Option>>) -> Self {
+    pub fn maybe_published_versions(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.9 = value;
         self
     }
@@ -1192,7 +1258,10 @@ where
     pub fn resource(
         mut self,
         value: impl Into>,
-    ) -> CollaborationStateViewBuilder, S> {
+    ) -> CollaborationStateViewBuilder<
+        collaboration_state_view_state::SetResource,
+        S,
+    > {
         self._fields.10 = Option::Some(value.into());
         CollaborationStateViewBuilder {
             _state: PhantomData,
@@ -1211,7 +1280,10 @@ where
     pub fn status(
         mut self,
         value: impl Into>,
-    ) -> CollaborationStateViewBuilder, S> {
+    ) -> CollaborationStateViewBuilder<
+        collaboration_state_view_state::SetStatus,
+        S,
+    > {
         self._fields.11 = Option::Some(value.into());
         CollaborationStateViewBuilder {
             _state: PhantomData,
@@ -1270,10 +1342,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.collab.defs"),
@@ -1281,9 +1353,7 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("chapter"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("collaborationStateView"),
@@ -1419,9 +1489,7 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("entry"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("formerCollaboratorView"),
@@ -1496,18 +1564,21 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("inviteView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Hydrated view of a collaboration invite with status.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("inviter"),
-                        SmolStr::new_static("invitee"),
-                        SmolStr::new_static("resource"),
-                        SmolStr::new_static("createdAt"),
-                        SmolStr::new_static("status"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Hydrated view of a collaboration invite with status.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("inviter"),
+                            SmolStr::new_static("invitee"),
+                            SmolStr::new_static("resource"),
+                            SmolStr::new_static("createdAt"),
+                            SmolStr::new_static("status")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1549,22 +1620,24 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("invitee"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("inviter"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("message"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("resource"),
@@ -1575,21 +1648,15 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("resourceTitle"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("scope"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -1605,9 +1672,7 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("notebook"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("participantStateView"),
@@ -1728,16 +1793,17 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("sessionView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Active real-time collaboration session.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("user"),
-                        SmolStr::new_static("resource"),
-                        SmolStr::new_static("nodeId"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Active real-time collaboration session."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("user"),
+                            SmolStr::new_static("resource"),
+                            SmolStr::new_static("nodeId"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1757,9 +1823,7 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("nodeId"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("relayUrl"),
@@ -1785,7 +1849,9 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("user"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1802,7 +1868,7 @@ fn lexicon_doc_sh_weaver_collab_defs() -> LexiconDoc<'static> {
 
 pub mod former_collaborator_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1894,15 +1960,20 @@ pub struct FormerCollaboratorViewBuilder<
 
 impl FormerCollaboratorView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> FormerCollaboratorViewBuilder
-    {
+    pub fn new() -> FormerCollaboratorViewBuilder<
+        former_collaborator_view_state::Empty,
+        DefaultStr,
+    > {
         FormerCollaboratorViewBuilder::new()
     }
 }
 
 impl FormerCollaboratorView {
     /// Create a new builder for this type
-    pub fn builder() -> FormerCollaboratorViewBuilder {
+    pub fn builder() -> FormerCollaboratorViewBuilder<
+        former_collaborator_view_state::Empty,
+        S,
+    > {
         FormerCollaboratorViewBuilder::builder()
     }
 }
@@ -1929,7 +2000,10 @@ impl FormerCollaboratorViewBuilder FormerCollaboratorViewBuilder {
+impl<
+    St: former_collaborator_view_state::State,
+    S: BosStr,
+> FormerCollaboratorViewBuilder {
     /// Set the `contributionCount` field (optional)
     pub fn contribution_count(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -1951,7 +2025,10 @@ where
     pub fn end_reason(
         mut self,
         value: impl Into>,
-    ) -> FormerCollaboratorViewBuilder, S> {
+    ) -> FormerCollaboratorViewBuilder<
+        former_collaborator_view_state::SetEndReason,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         FormerCollaboratorViewBuilder {
             _state: PhantomData,
@@ -1961,7 +2038,10 @@ where
     }
 }
 
-impl FormerCollaboratorViewBuilder {
+impl<
+    St: former_collaborator_view_state::State,
+    S: BosStr,
+> FormerCollaboratorViewBuilder {
     /// Set the `hasPublishedVersion` field (optional)
     pub fn has_published_version(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -1974,7 +2054,10 @@ impl FormerCollaboratorVie
     }
 }
 
-impl FormerCollaboratorViewBuilder {
+impl<
+    St: former_collaborator_view_state::State,
+    S: BosStr,
+> FormerCollaboratorViewBuilder {
     /// Set the `publishedVersionUri` field (optional)
     pub fn published_version_uri(mut self, value: impl Into>>) -> Self {
         self._fields.3 = value.into();
@@ -2015,8 +2098,10 @@ where
     pub fn was_active_from(
         mut self,
         value: impl Into,
-    ) -> FormerCollaboratorViewBuilder, S>
-    {
+    ) -> FormerCollaboratorViewBuilder<
+        former_collaborator_view_state::SetWasActiveFrom,
+        S,
+    > {
         self._fields.5 = Option::Some(value.into());
         FormerCollaboratorViewBuilder {
             _state: PhantomData,
@@ -2035,8 +2120,10 @@ where
     pub fn was_active_until(
         mut self,
         value: impl Into,
-    ) -> FormerCollaboratorViewBuilder, S>
-    {
+    ) -> FormerCollaboratorViewBuilder<
+        former_collaborator_view_state::SetWasActiveUntil,
+        S,
+    > {
         self._fields.6 = Option::Some(value.into());
         FormerCollaboratorViewBuilder {
             _state: PhantomData,
@@ -2087,7 +2174,7 @@ where
 
 pub mod invite_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2260,7 +2347,19 @@ impl InviteViewBuilder {
         InviteViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -2273,7 +2372,19 @@ impl InviteViewBuilder {
         InviteViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -2522,7 +2633,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> InviteView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> InviteView {
         InviteView {
             accept_uri: self._fields.0,
             accepted_at: self._fields.1,
@@ -2544,7 +2658,7 @@ where
 
 pub mod participant_state_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2624,14 +2738,20 @@ pub struct ParticipantStateViewBuilder<
 
 impl ParticipantStateView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ParticipantStateViewBuilder {
+    pub fn new() -> ParticipantStateViewBuilder<
+        participant_state_view_state::Empty,
+        DefaultStr,
+    > {
         ParticipantStateViewBuilder::new()
     }
 }
 
 impl ParticipantStateView {
     /// Create a new builder for this type
-    pub fn builder() -> ParticipantStateViewBuilder {
+    pub fn builder() -> ParticipantStateViewBuilder<
+        participant_state_view_state::Empty,
+        S,
+    > {
         ParticipantStateViewBuilder::builder()
     }
 }
@@ -2641,9 +2761,7 @@ impl ParticipantStateViewBuilder Self {
         ParticipantStateViewBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -2654,15 +2772,16 @@ impl ParticipantStateViewBuilder Self {
         ParticipantStateViewBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `acceptUri` field (optional)
     pub fn accept_uri(mut self, value: impl Into>>) -> Self {
         self._fields.0 = value.into();
@@ -2675,7 +2794,10 @@ impl ParticipantStateViewBui
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `endReason` field (optional)
     pub fn end_reason(
         mut self,
@@ -2685,13 +2807,19 @@ impl ParticipantStateViewBui
         self
     }
     /// Set the `endReason` field to an Option value (optional)
-    pub fn maybe_end_reason(mut self, value: Option>) -> Self {
+    pub fn maybe_end_reason(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `firstEditAt` field (optional)
     pub fn first_edit_at(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -2704,7 +2832,10 @@ impl ParticipantStateViewBui
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `inviteUri` field (optional)
     pub fn invite_uri(mut self, value: impl Into>>) -> Self {
         self._fields.3 = value.into();
@@ -2717,7 +2848,10 @@ impl ParticipantStateViewBui
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `lastEditAt` field (optional)
     pub fn last_edit_at(mut self, value: impl Into>) -> Self {
         self._fields.4 = value.into();
@@ -2730,7 +2864,10 @@ impl ParticipantStateViewBui
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `publishedVersion` field (optional)
     pub fn published_version(mut self, value: impl Into>>) -> Self {
         self._fields.5 = value.into();
@@ -2743,7 +2880,10 @@ impl ParticipantStateViewBui
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `relationshipEndedAt` field (optional)
     pub fn relationship_ended_at(mut self, value: impl Into>) -> Self {
         self._fields.6 = value.into();
@@ -2813,7 +2953,10 @@ where
     }
 }
 
-impl ParticipantStateViewBuilder {
+impl<
+    St: participant_state_view_state::State,
+    S: BosStr,
+> ParticipantStateViewBuilder {
     /// Set the `wasCollaborator` field (optional)
     pub fn was_collaborator(mut self, value: impl Into>) -> Self {
         self._fields.10 = value.into();
@@ -2874,7 +3017,7 @@ where
 
 pub mod session_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3159,7 +3302,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SessionView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SessionView {
         SessionView {
             created_at: self._fields.0.unwrap(),
             expires_at: self._fields.1,
@@ -3171,4 +3317,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab/accept.rs b/crates/jacquard-api/src/sh_weaver/collab/accept.rs
index 1a2347b91..75210268c 100644
--- a/crates/jacquard-api/src/sh_weaver/collab/accept.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab/accept.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Acceptance of a collaboration invite. Completes the two-way agreement.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -108,7 +108,7 @@ impl LexiconSchema for Accept {
 
 pub mod accept_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -292,10 +292,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_collab_accept() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.collab.accept"),
@@ -304,16 +304,20 @@ fn lexicon_doc_sh_weaver_collab_accept() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Acceptance of a collaboration invite. Completes the two-way agreement.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Acceptance of a collaboration invite. Completes the two-way agreement.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("invite"),
-                            SmolStr::new_static("resource"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("invite"),
+                                SmolStr::new_static("resource"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -334,9 +338,11 @@ fn lexicon_doc_sh_weaver_collab_accept() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("resource"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URI of the resource (denormalized for easier querying).",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "URI of the resource (denormalized for easier querying).",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -352,4 +358,4 @@ fn lexicon_doc_sh_weaver_collab_accept() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab/get_collaboration_state.rs b/crates/jacquard-api/src/sh_weaver/collab/get_collaboration_state.rs
index 1ce0f5bed..93713dc4c 100644
--- a/crates/jacquard-api/src/sh_weaver/collab/get_collaboration_state.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab/get_collaboration_state.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::collab::CollaborationStateView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::collab::CollaborationStateView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetCollaborationState {
     pub resource: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetCollaborationStateOutput {
     #[serde(flatten)]
     pub value: CollaborationStateView,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetCollaborationStateRequest {
 
 pub mod get_collaboration_state_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -111,14 +106,20 @@ pub struct GetCollaborationStateBuilder<
 
 impl GetCollaborationState {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetCollaborationStateBuilder {
+    pub fn new() -> GetCollaborationStateBuilder<
+        get_collaboration_state_state::Empty,
+        DefaultStr,
+    > {
         GetCollaborationStateBuilder::new()
     }
 }
 
 impl GetCollaborationState {
     /// Create a new builder for this type
-    pub fn builder() -> GetCollaborationStateBuilder {
+    pub fn builder() -> GetCollaborationStateBuilder<
+        get_collaboration_state_state::Empty,
+        S,
+    > {
         GetCollaborationStateBuilder::builder()
     }
 }
@@ -154,7 +155,10 @@ where
     pub fn resource(
         mut self,
         value: impl Into>,
-    ) -> GetCollaborationStateBuilder, S> {
+    ) -> GetCollaborationStateBuilder<
+        get_collaboration_state_state::SetResource,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         GetCollaborationStateBuilder {
             _state: PhantomData,
@@ -175,4 +179,4 @@ where
             resource: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab/get_invites.rs b/crates/jacquard-api/src/sh_weaver/collab/get_invites.rs
index a69e2dd72..4b1819445 100644
--- a/crates/jacquard-api/src/sh_weaver/collab/get_invites.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab/get_invites.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::collab::InviteView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::collab::InviteView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetInvites {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -41,11 +38,9 @@ pub struct GetInvites {
     pub status: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetInvitesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -96,7 +91,7 @@ fn _default_status() -> Option {
 
 pub mod get_invites_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -129,13 +124,7 @@ pub mod get_invites_state {
 /// Builder for constructing an instance of this type.
 pub struct GetInvitesBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option,
-        Option,
-        Option,
-        Option,
-    ),
+    _fields: (Option>, Option, Option, Option, Option),
     _type: PhantomData S>,
 }
 
@@ -261,4 +250,4 @@ where
             status: self._fields.4,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab/get_resource_participants.rs b/crates/jacquard-api/src/sh_weaver/collab/get_resource_participants.rs
index cb64184e3..a189e3b31 100644
--- a/crates/jacquard-api/src/sh_weaver/collab/get_resource_participants.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab/get_resource_participants.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileViewBasic;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetResourceParticipants {
     pub resource: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetResourceParticipantsOutput {
     pub owner: ProfileViewBasic,
     pub participants: Vec>,
@@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetResourceParticipantsRequest {
 
 pub mod get_resource_participants_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -113,15 +108,20 @@ pub struct GetResourceParticipantsBuilder<
 
 impl GetResourceParticipants {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new()
-    -> GetResourceParticipantsBuilder {
+    pub fn new() -> GetResourceParticipantsBuilder<
+        get_resource_participants_state::Empty,
+        DefaultStr,
+    > {
         GetResourceParticipantsBuilder::new()
     }
 }
 
 impl GetResourceParticipants {
     /// Create a new builder for this type
-    pub fn builder() -> GetResourceParticipantsBuilder {
+    pub fn builder() -> GetResourceParticipantsBuilder<
+        get_resource_participants_state::Empty,
+        S,
+    > {
         GetResourceParticipantsBuilder::builder()
     }
 }
@@ -137,7 +137,9 @@ impl GetResourceParticipantsBuilder GetResourceParticipantsBuilder {
+impl<
+    S: BosStr,
+> GetResourceParticipantsBuilder {
     /// Create a new builder with all fields unset
     pub fn builder() -> Self {
         GetResourceParticipantsBuilder {
@@ -157,7 +159,10 @@ where
     pub fn resource(
         mut self,
         value: impl Into>,
-    ) -> GetResourceParticipantsBuilder, S> {
+    ) -> GetResourceParticipantsBuilder<
+        get_resource_participants_state::SetResource,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         GetResourceParticipantsBuilder {
             _state: PhantomData,
@@ -178,4 +183,4 @@ where
             resource: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab/get_resource_sessions.rs b/crates/jacquard-api/src/sh_weaver/collab/get_resource_sessions.rs
index 705945baf..d681b9ae6 100644
--- a/crates/jacquard-api/src/sh_weaver/collab/get_resource_sessions.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab/get_resource_sessions.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::collab::SessionView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::collab::SessionView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetResourceSessions {
     pub resource: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetResourceSessionsOutput {
     pub sessions: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetResourceSessionsRequest {
 
 pub mod get_resource_sessions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -110,14 +105,20 @@ pub struct GetResourceSessionsBuilder<
 
 impl GetResourceSessions {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetResourceSessionsBuilder {
+    pub fn new() -> GetResourceSessionsBuilder<
+        get_resource_sessions_state::Empty,
+        DefaultStr,
+    > {
         GetResourceSessionsBuilder::new()
     }
 }
 
 impl GetResourceSessions {
     /// Create a new builder for this type
-    pub fn builder() -> GetResourceSessionsBuilder {
+    pub fn builder() -> GetResourceSessionsBuilder<
+        get_resource_sessions_state::Empty,
+        S,
+    > {
         GetResourceSessionsBuilder::builder()
     }
 }
@@ -174,4 +175,4 @@ where
             resource: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab/invite.rs b/crates/jacquard-api/src/sh_weaver/collab/invite.rs
index 8b556b1d0..232e5c1d2 100644
--- a/crates/jacquard-api/src/sh_weaver/collab/invite.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab/invite.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::sh_weaver::collab::invite;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::sh_weaver::collab::invite;
 /// The scope/type of collaboration.
 
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -98,9 +98,13 @@ where
     type Output = CollabScope;
     fn into_static(self) -> Self::Output {
         match self {
-            CollabScope::ShWeaverCollabDefsNotebook => CollabScope::ShWeaverCollabDefsNotebook,
+            CollabScope::ShWeaverCollabDefsNotebook => {
+                CollabScope::ShWeaverCollabDefsNotebook
+            }
             CollabScope::ShWeaverCollabDefsEntry => CollabScope::ShWeaverCollabDefsEntry,
-            CollabScope::ShWeaverCollabDefsChapter => CollabScope::ShWeaverCollabDefsChapter,
+            CollabScope::ShWeaverCollabDefsChapter => {
+                CollabScope::ShWeaverCollabDefsChapter
+            }
             CollabScope::Other(v) => CollabScope::Other(v.into_static()),
         }
     }
@@ -217,7 +221,7 @@ impl LexiconSchema for Invite {
 
 pub mod invite_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -453,10 +457,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_collab_invite() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.collab.invite"),
@@ -465,7 +469,9 @@ fn lexicon_doc_sh_weaver_collab_invite() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("collabScope"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static("The scope/type of collaboration.")),
+                    description: Some(
+                        CowStr::new_static("The scope/type of collaboration."),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -552,4 +558,4 @@ fn lexicon_doc_sh_weaver_collab_invite() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/collab/session.rs b/crates/jacquard-api/src/sh_weaver/collab/session.rs
index 5017ddc59..c5aeab801 100644
--- a/crates/jacquard-api/src/sh_weaver/collab/session.rs
+++ b/crates/jacquard-api/src/sh_weaver/collab/session.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Active real-time collaboration session. Published when joining a collaborative editing session, deleted on disconnect.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -114,7 +114,7 @@ impl LexiconSchema for Session {
 
 pub mod session_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -334,10 +334,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_collab_session() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.collab.session"),
@@ -423,4 +423,4 @@ fn lexicon_doc_sh_weaver_collab_session() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit.rs b/crates/jacquard-api/src/sh_weaver/edit.rs
index 312618f94..588fdee4e 100644
--- a/crates/jacquard-api/src/sh_weaver/edit.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit.rs
@@ -16,12 +16,13 @@ pub mod get_edit_tree;
 pub mod list_drafts;
 pub mod root;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -32,24 +33,22 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::actor::ProfileViewBasic;
 use crate::sh_weaver::edit;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DocRef {
     pub value: DocRefValue,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -62,11 +61,9 @@ pub enum DocRefValue {
     DraftRef(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DraftRef {
     pub draft_key: S,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -76,10 +73,7 @@ pub struct DraftRef {
 /// A branch/fork in edit history (for when collaborators diverge).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EditBranchView {
     pub author: ProfileViewBasic,
     ///Common ancestor if this is a fork
@@ -100,10 +94,7 @@ pub struct EditBranchView {
 /// Summary of an edit (root or diff) for history queries.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EditHistoryEntry {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -122,6 +113,7 @@ pub struct EditHistoryEntry {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum EditHistoryEntryType {
     Root,
@@ -194,7 +186,9 @@ where
         match self {
             EditHistoryEntryType::Root => EditHistoryEntryType::Root,
             EditHistoryEntryType::Diff => EditHistoryEntryType::Diff,
-            EditHistoryEntryType::Other(v) => EditHistoryEntryType::Other(v.into_static()),
+            EditHistoryEntryType::Other(v) => {
+                EditHistoryEntryType::Other(v.into_static())
+            }
         }
     }
 }
@@ -202,10 +196,7 @@ where
 /// Full tree structure showing all branches for a resource.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EditTreeView {
     pub branches: Vec>,
     ///Diffs where branches diverge
@@ -220,22 +211,18 @@ pub struct EditTreeView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EntryRef {
     pub entry: StrongRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotebookRef {
     pub notebook: StrongRef,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -360,7 +347,7 @@ impl LexiconSchema for NotebookRef {
 
 pub mod doc_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -474,10 +461,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.edit.defs"),
@@ -496,7 +483,7 @@ fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("#notebookRef"),
                                     CowStr::new_static("#entryRef"),
-                                    CowStr::new_static("#draftRef"),
+                                    CowStr::new_static("#draftRef")
                                 ],
                                 ..Default::default()
                             }),
@@ -528,22 +515,27 @@ fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("editBranchView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A branch/fork in edit history (for when collaborators diverge).",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("head"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("length"),
-                        SmolStr::new_static("lastUpdated"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A branch/fork in edit history (for when collaborators diverge).",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("head"), SmolStr::new_static("author"),
+                            SmolStr::new_static("length"),
+                            SmolStr::new_static("lastUpdated")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -595,23 +587,27 @@ fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("editHistoryEntry"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Summary of an edit (root or diff) for history queries.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("createdAt"),
-                        SmolStr::new_static("type"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Summary of an edit (root or diff) for history queries.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"),
+                            SmolStr::new_static("createdAt"), SmolStr::new_static("type")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -658,9 +654,7 @@ fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -677,13 +671,17 @@ fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("editTreeView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Full tree structure showing all branches for a resource.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("resource"),
-                        SmolStr::new_static("branches"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Full tree structure showing all branches for a resource.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("resource"),
+                            SmolStr::new_static("branches")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -700,9 +698,9 @@ fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("conflictPoints"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Diffs where branches diverge",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Diffs where branches diverge"),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("com.atproto.repo.strongRef"),
                                     ..Default::default()
@@ -781,7 +779,7 @@ fn lexicon_doc_sh_weaver_edit_defs() -> LexiconDoc<'static> {
 
 pub mod edit_branch_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -854,7 +852,10 @@ pub mod edit_branch_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EditBranchViewBuilder {
+pub struct EditBranchViewBuilder<
+    St: edit_branch_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1041,7 +1042,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EditBranchView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EditBranchView {
         EditBranchView {
             author: self._fields.0.unwrap(),
             diverges_from: self._fields.1,
@@ -1057,7 +1061,7 @@ where
 
 pub mod edit_history_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1148,7 +1152,10 @@ pub mod edit_history_entry_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct EditHistoryEntryBuilder {
+pub struct EditHistoryEntryBuilder<
+    St: edit_history_entry_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1166,7 +1173,10 @@ pub struct EditHistoryEntryBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> EditHistoryEntryBuilder {
+    pub fn new() -> EditHistoryEntryBuilder<
+        edit_history_entry_state::Empty,
+        DefaultStr,
+    > {
         EditHistoryEntryBuilder::new()
     }
 }
@@ -1372,7 +1382,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EditHistoryEntry {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EditHistoryEntry {
         EditHistoryEntry {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -1390,7 +1403,7 @@ where
 
 pub mod edit_tree_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1502,7 +1515,10 @@ where
 
 impl EditTreeViewBuilder {
     /// Set the `conflictPoints` field (optional)
-    pub fn conflict_points(mut self, value: impl Into>>>) -> Self {
+    pub fn conflict_points(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -1528,7 +1544,10 @@ impl EditTreeViewBuilder {
 
 impl EditTreeViewBuilder {
     /// Set the `mainBranch` field (optional)
-    pub fn main_branch(mut self, value: impl Into>>) -> Self {
+    pub fn main_branch(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -1576,7 +1595,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EditTreeView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EditTreeView {
         EditTreeView {
             branches: self._fields.0.unwrap(),
             conflict_points: self._fields.1,
@@ -1590,7 +1612,7 @@ where
 
 pub mod entry_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1705,7 +1727,7 @@ where
 
 pub mod notebook_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1810,10 +1832,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> NotebookRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> NotebookRef {
         NotebookRef {
             notebook: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/cursor.rs b/crates/jacquard-api/src/sh_weaver/edit/cursor.rs
index 58106d4b9..0bbebacea 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/cursor.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/cursor.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,22 +24,20 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_weaver::edit::cursor;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::edit::cursor;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContainerId {
     pub value: ContainerIdValue,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -50,11 +48,9 @@ pub enum ContainerIdValue {
     RootContainerId(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CursorSide {
     ///The side of an item the cursor is on (left = -1, right = 1, middle = 0)
     pub value: i64,
@@ -62,11 +58,9 @@ pub struct CursorSide {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Id {
     pub counter: i64,
     pub peer: i64,
@@ -103,11 +97,9 @@ pub struct CursorGetRecordOutput {
     pub value: Cursor,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NormalContainerId {
     pub container_type: S,
     pub counter: i64,
@@ -116,11 +108,9 @@ pub struct NormalContainerId {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RootContainerId {
     pub container_type: S,
     pub name: S,
@@ -253,7 +243,7 @@ impl LexiconSchema for RootContainerId {
 
 pub mod container_id_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -358,7 +348,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ContainerId {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ContainerId {
         ContainerId {
             value: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -367,10 +360,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_edit_cursor() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.edit.cursor"),
@@ -388,7 +381,7 @@ fn lexicon_doc_sh_weaver_edit_cursor() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("#normalContainerId"),
-                                    CowStr::new_static("#rootContainerId"),
+                                    CowStr::new_static("#rootContainerId")
                                 ],
                                 ..Default::default()
                             }),
@@ -419,10 +412,9 @@ fn lexicon_doc_sh_weaver_edit_cursor() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("id"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("peer"),
-                        SmolStr::new_static("counter"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("peer"), SmolStr::new_static("counter")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -446,13 +438,16 @@ fn lexicon_doc_sh_weaver_edit_cursor() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("An edit record for a notebook.")),
+                    description: Some(
+                        CowStr::new_static("An edit record for a notebook."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("container"),
-                            SmolStr::new_static("id"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("container"), SmolStr::new_static("id")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -487,19 +482,18 @@ fn lexicon_doc_sh_weaver_edit_cursor() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("normalContainerId"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("peer"),
-                        SmolStr::new_static("counter"),
-                        SmolStr::new_static("container_type"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("peer"), SmolStr::new_static("counter"),
+                            SmolStr::new_static("container_type")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("container_type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("counter"),
@@ -521,24 +515,22 @@ fn lexicon_doc_sh_weaver_edit_cursor() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rootContainerId"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("container_type"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"),
+                            SmolStr::new_static("container_type")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("container_type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -553,7 +545,7 @@ fn lexicon_doc_sh_weaver_edit_cursor() -> LexiconDoc<'static> {
 
 pub mod cursor_side_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -658,7 +650,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CursorSide {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CursorSide {
         CursorSide {
             value: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -668,7 +663,7 @@ where
 
 pub mod id_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -759,7 +754,10 @@ where
     St::Counter: id_state::IsUnset,
 {
     /// Set the `counter` field (required)
-    pub fn counter(mut self, value: impl Into) -> IdBuilder, S> {
+    pub fn counter(
+        mut self,
+        value: impl Into,
+    ) -> IdBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         IdBuilder {
             _state: PhantomData,
@@ -811,7 +809,7 @@ where
 
 pub mod cursor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -979,7 +977,7 @@ where
 
 pub mod normal_container_id_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1036,7 +1034,10 @@ pub mod normal_container_id_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct NormalContainerIdBuilder {
+pub struct NormalContainerIdBuilder<
+    St: normal_container_id_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -1044,7 +1045,10 @@ pub struct NormalContainerIdBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> NormalContainerIdBuilder {
+    pub fn new() -> NormalContainerIdBuilder<
+        normal_container_id_state::Empty,
+        DefaultStr,
+    > {
         NormalContainerIdBuilder::new()
     }
 }
@@ -1152,7 +1156,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> NormalContainerId {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> NormalContainerId {
         NormalContainerId {
             container_type: self._fields.0.unwrap(),
             counter: self._fields.1.unwrap(),
@@ -1160,4 +1167,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/diff.rs b/crates/jacquard-api/src/sh_weaver/edit/diff.rs
index 7f75e6731..920aca7f0 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/diff.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/diff.rs
@@ -10,8 +10,8 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::bytes::Bytes;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,11 +26,11 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::sh_weaver::edit::DocRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::sh_weaver::edit::DocRef;
 /// An edit record for a notebook.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -129,16 +129,19 @@ impl LexiconSchema for Diff {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("snapshot"),
@@ -154,7 +157,7 @@ impl LexiconSchema for Diff {
 
 pub mod diff_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -265,7 +268,10 @@ where
     St::Doc: diff_state::IsUnset,
 {
     /// Set the `doc` field (required)
-    pub fn doc(mut self, value: impl Into>) -> DiffBuilder, S> {
+    pub fn doc(
+        mut self,
+        value: impl Into>,
+    ) -> DiffBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         DiffBuilder {
             _state: PhantomData,
@@ -366,10 +372,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_edit_diff() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.edit.diff"),
@@ -378,13 +384,14 @@ fn lexicon_doc_sh_weaver_edit_diff() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("An edit record for a notebook.")),
+                    description: Some(
+                        CowStr::new_static("An edit record for a notebook."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("root"),
-                            SmolStr::new_static("doc"),
-                        ]),
+                        required: Some(
+                            vec![SmolStr::new_static("root"), SmolStr::new_static("doc")],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -425,9 +432,7 @@ fn lexicon_doc_sh_weaver_edit_diff() -> LexiconDoc<'static> {
                             );
                             map.insert(
                                 SmolStr::new_static("snapshot"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map
                         },
@@ -440,4 +445,4 @@ fn lexicon_doc_sh_weaver_edit_diff() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/draft.rs b/crates/jacquard-api/src/sh_weaver/edit/draft.rs
index f7dbe68a5..ae1c88c45 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/draft.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/draft.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Stub record for unpublished drafts. Acts as an anchor for edit.root/diff records and enables draft discovery via listRecords.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -103,7 +103,7 @@ impl LexiconSchema for Draft {
 
 pub mod draft_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -217,10 +217,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_edit_draft() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.edit.draft"),
@@ -258,4 +258,4 @@ fn lexicon_doc_sh_weaver_edit_draft() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/get_branch.rs b/crates/jacquard-api/src/sh_weaver/edit/get_branch.rs
index 797bb8727..b3dfa286e 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/get_branch.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/get_branch.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::edit::EditBranchView;
-use crate::sh_weaver::edit::EditHistoryEntry;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::edit::EditBranchView;
+use crate::sh_weaver::edit::EditHistoryEntry;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBranch {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub after_rkey: Option,
@@ -36,11 +33,9 @@ pub struct GetBranch {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBranchOutput {
     pub branch: EditBranchView,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -84,7 +79,7 @@ fn _default_limit() -> Option {
 
 pub mod get_branch_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -229,4 +224,4 @@ where
             limit: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/get_contributors.rs b/crates/jacquard-api/src/sh_weaver/edit/get_contributors.rs
index 498cc98c6..17b264e5e 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/get_contributors.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/get_contributors.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileViewBasic;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetContributors {
     ///  Defaults to `true`.
     #[serde(default = "_default_include_cascaded")]
@@ -31,11 +28,9 @@ pub struct GetContributors {
     pub resource: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetContributorsOutput {
     pub contributors: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -76,7 +71,7 @@ fn _default_include_cascaded() -> Option {
 
 pub mod get_contributors_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -107,7 +102,10 @@ pub mod get_contributors_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetContributorsBuilder {
+pub struct GetContributorsBuilder<
+    St: get_contributors_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -193,4 +191,4 @@ where
             resource: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/get_edit_history.rs b/crates/jacquard-api/src/sh_weaver/edit/get_edit_history.rs
index d2e0b9360..791dda7e1 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/get_edit_history.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/get_edit_history.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::edit::EditHistoryEntry;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::edit::EditHistoryEntry;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEditHistory {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub after_rkey: Option,
@@ -35,11 +32,9 @@ pub struct GetEditHistory {
     pub resource: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEditHistoryOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -83,7 +78,7 @@ fn _default_limit() -> Option {
 
 pub mod get_edit_history_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -114,7 +109,10 @@ pub mod get_edit_history_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetEditHistoryBuilder {
+pub struct GetEditHistoryBuilder<
+    St: get_edit_history_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option, Option>),
     _type: PhantomData S>,
@@ -228,4 +226,4 @@ where
             resource: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/get_edit_tree.rs b/crates/jacquard-api/src/sh_weaver/edit/get_edit_tree.rs
index d0e8459f1..b3b48f8a8 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/get_edit_tree.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/get_edit_tree.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::edit::EditTreeView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::edit::EditTreeView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEditTree {
     pub resource: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEditTreeOutput {
     #[serde(flatten)]
     pub value: EditTreeView,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEditTreeRequest {
 
 pub mod get_edit_tree_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -172,4 +167,4 @@ where
             resource: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/list_drafts.rs b/crates/jacquard-api/src/sh_weaver/edit/list_drafts.rs
index bb56e26ed..d05fea97c 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/list_drafts.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/list_drafts.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -22,18 +22,15 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::sh_weaver::edit::list_drafts;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::sh_weaver::edit::list_drafts;
 /// Hydrated view of a draft with edit state.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct DraftView {
     pub cid: Cid,
     pub created_at: Datetime,
@@ -50,11 +47,9 @@ pub struct DraftView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListDrafts {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -65,11 +60,9 @@ pub struct ListDrafts {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListDraftsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -123,7 +116,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListDraftsRequest {
 
 pub mod draft_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -345,7 +338,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> DraftView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> DraftView {
         DraftView {
             cid: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -359,10 +355,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_edit_listDrafts() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.edit.listDrafts"),
@@ -371,14 +367,15 @@ fn lexicon_doc_sh_weaver_edit_listDrafts() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("draftView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Hydrated view of a draft with edit state.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Hydrated view of a draft with edit state."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -413,9 +410,11 @@ fn lexicon_doc_sh_weaver_edit_listDrafts() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("title"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Extracted title if available from edit state",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Extracted title if available from edit state",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -434,37 +433,39 @@ fn lexicon_doc_sh_weaver_edit_listDrafts() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("actor")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("actor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "DID or handle of the actor",
-                                    )),
-                                    format: Some(LexStringFormat::AtIdentifier),
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("actor")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("actor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("DID or handle of the actor"),
+                                        ),
+                                        format: Some(LexStringFormat::AtIdentifier),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -480,7 +481,7 @@ fn _default_limit() -> Option {
 
 pub mod list_drafts_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -611,4 +612,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/edit/root.rs b/crates/jacquard-api/src/sh_weaver/edit/root.rs
index e12d1941c..cf5c8a338 100644
--- a/crates/jacquard-api/src/sh_weaver/edit/root.rs
+++ b/crates/jacquard-api/src/sh_weaver/edit/root.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_weaver::edit::DocRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::edit::DocRef;
 /// The starting point for edit history on a notebook.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -118,16 +118,19 @@ impl LexiconSchema for Root {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("snapshot"),
@@ -143,7 +146,7 @@ impl LexiconSchema for Root {
 
 pub mod root_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -234,7 +237,10 @@ where
     St::Doc: root_state::IsUnset,
 {
     /// Set the `doc` field (required)
-    pub fn doc(mut self, value: impl Into>) -> RootBuilder, S> {
+    pub fn doc(
+        mut self,
+        value: impl Into>,
+    ) -> RootBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         RootBuilder {
             _state: PhantomData,
@@ -288,10 +294,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_edit_root() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.edit.root"),
@@ -300,15 +306,18 @@ fn lexicon_doc_sh_weaver_edit_root() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "The starting point for edit history on a notebook.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "The starting point for edit history on a notebook.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("doc"),
-                            SmolStr::new_static("snapshot"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("doc"), SmolStr::new_static("snapshot")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -321,9 +330,7 @@ fn lexicon_doc_sh_weaver_edit_root() -> LexiconDoc<'static> {
                             );
                             map.insert(
                                 SmolStr::new_static("snapshot"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map
                         },
@@ -336,4 +343,4 @@ fn lexicon_doc_sh_weaver_edit_root() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/embed.rs b/crates/jacquard-api/src/sh_weaver/embed.rs
index ca62bfc74..8ba8806cb 100644
--- a/crates/jacquard-api/src/sh_weaver/embed.rs
+++ b/crates/jacquard-api/src/sh_weaver/embed.rs
@@ -12,6 +12,7 @@ pub mod record_with_media;
 pub mod records;
 pub mod video;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -29,14 +30,11 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Proportional size of the embed relative to the viewport in larger windows. The dimensions are percentage out of 100. Could we use more granularity? Maybe, but come on.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PercentSize {
     pub height: i64,
     pub width: i64,
@@ -47,10 +45,7 @@ pub struct PercentSize {
 /// Pixel-exact embed size. The dimensions are logical pixels, subject to scaling, so 200px at X2 scale is 400px.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PixelSize {
     pub height: i64,
     pub width: i64,
@@ -90,7 +85,7 @@ impl LexiconSchema for PixelSize {
 
 pub mod percent_size_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -228,7 +223,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PercentSize {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PercentSize {
         PercentSize {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
@@ -238,10 +236,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_embed_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.embed.defs"),
@@ -317,7 +315,7 @@ fn lexicon_doc_sh_weaver_embed_defs() -> LexiconDoc<'static> {
 
 pub mod pixel_size_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -455,11 +453,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PixelSize {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PixelSize {
         PixelSize {
             height: self._fields.0.unwrap(),
             width: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/embed/external.rs b/crates/jacquard-api/src/sh_weaver/embed/external.rs
index 07f81d9f7..64fea17e4 100644
--- a/crates/jacquard-api/src/sh_weaver/embed/external.rs
+++ b/crates/jacquard-api/src/sh_weaver/embed/external.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -22,16 +22,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_weaver::embed::external;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::embed::external;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ExternalEmbed {
     pub description: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -42,33 +39,27 @@ pub struct ExternalEmbed {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct External {
     pub embeds: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct View {
     pub external: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewExternal {
     pub description: S,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -106,16 +97,19 @@ impl LexiconSchema for ExternalEmbed {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("thumb"),
@@ -198,7 +192,7 @@ impl LexiconSchema for ViewExternal {
 
 pub mod external_embed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,14 +249,12 @@ pub mod external_embed_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ExternalEmbedBuilder {
+pub struct ExternalEmbedBuilder<
+    St: external_embed_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -390,7 +382,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ExternalEmbed {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ExternalEmbed {
         ExternalEmbed {
             description: self._fields.0.unwrap(),
             thumb: self._fields.1,
@@ -402,10 +397,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_embed_external() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.embed.external"),
@@ -414,31 +409,26 @@ fn lexicon_doc_sh_weaver_embed_external() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("externalEmbed"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("title"),
-                        SmolStr::new_static("description"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("title"),
+                            SmolStr::new_static("description")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("thumb"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -501,19 +491,18 @@ fn lexicon_doc_sh_weaver_embed_external() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("viewExternal"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("title"),
-                        SmolStr::new_static("description"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("title"),
+                            SmolStr::new_static("description")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("thumb"),
@@ -524,9 +513,7 @@ fn lexicon_doc_sh_weaver_embed_external() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -548,7 +535,7 @@ fn lexicon_doc_sh_weaver_embed_external() -> LexiconDoc<'static> {
 
 pub mod external_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -663,7 +650,7 @@ where
 
 pub mod view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -778,7 +765,7 @@ where
 
 pub mod view_external_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -837,12 +824,7 @@ pub mod view_external_state {
 /// Builder for constructing an instance of this type.
 pub struct ViewExternalBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -970,7 +952,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewExternal {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewExternal {
         ViewExternal {
             description: self._fields.0.unwrap(),
             thumb: self._fields.1,
@@ -979,4 +964,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/embed/images.rs b/crates/jacquard-api/src/sh_weaver/embed/images.rs
index 0a952f435..57623c452 100644
--- a/crates/jacquard-api/src/sh_weaver/embed/images.rs
+++ b/crates/jacquard-api/src/sh_weaver/embed/images.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -22,19 +22,16 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::embed::AspectRatio;
 use crate::sh_weaver::embed::PercentSize;
 use crate::sh_weaver::embed::PixelSize;
 use crate::sh_weaver::embed::images;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Image {
     ///alt text description of the image
     pub alt: S,
@@ -50,6 +47,7 @@ pub struct Image {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -62,33 +60,27 @@ pub enum ImageDimensions {
     PixelSize(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Images {
     pub images: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct View {
     pub images: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewImage {
     ///Alt text description of the image, for accessibility.
     pub alt: S,
@@ -104,6 +96,7 @@ pub struct ViewImage {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -155,16 +148,19 @@ impl LexiconSchema for Image {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("image"),
@@ -267,7 +263,7 @@ impl LexiconSchema for ViewImage {
 
 pub mod image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -364,7 +360,10 @@ where
     St::Alt: image_state::IsUnset,
 {
     /// Set the `alt` field (required)
-    pub fn alt(mut self, value: impl Into) -> ImageBuilder, S> {
+    pub fn alt(
+        mut self,
+        value: impl Into,
+    ) -> ImageBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ImageBuilder {
             _state: PhantomData,
@@ -463,10 +462,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_embed_images() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.embed.images"),
@@ -653,7 +652,7 @@ fn lexicon_doc_sh_weaver_embed_images() -> LexiconDoc<'static> {
 
 pub mod images_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -768,7 +767,7 @@ where
 
 pub mod view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -883,7 +882,7 @@ where
 
 pub mod view_image_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -994,7 +993,10 @@ where
     St::Alt: view_image_state::IsUnset,
 {
     /// Set the `alt` field (required)
-    pub fn alt(mut self, value: impl Into) -> ViewImageBuilder, S> {
+    pub fn alt(
+        mut self,
+        value: impl Into,
+    ) -> ViewImageBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         ViewImageBuilder {
             _state: PhantomData,
@@ -1006,7 +1008,10 @@ where
 
 impl ViewImageBuilder {
     /// Set the `dimensions` field (optional)
-    pub fn dimensions(mut self, value: impl Into>>) -> Self {
+    pub fn dimensions(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -1087,7 +1092,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewImage {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewImage {
         ViewImage {
             alt: self._fields.0.unwrap(),
             dimensions: self._fields.1,
@@ -1097,4 +1105,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/embed/record_with_media.rs b/crates/jacquard-api/src/sh_weaver/embed/record_with_media.rs
index 9724a6c0b..9567c19a6 100644
--- a/crates/jacquard-api/src/sh_weaver/embed/record_with_media.rs
+++ b/crates/jacquard-api/src/sh_weaver/embed/record_with_media.rs
@@ -20,23 +20,20 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_weaver::embed::external;
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::sh_weaver::embed::external::External;
-use crate::sh_weaver::embed::images;
 use crate::sh_weaver::embed::images::Images;
-use crate::sh_weaver::embed::records;
 use crate::sh_weaver::embed::records::Records;
-use crate::sh_weaver::embed::video;
 use crate::sh_weaver::embed::video::VideoRecord;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::sh_weaver::embed::external;
+use crate::sh_weaver::embed::images;
+use crate::sh_weaver::embed::records;
+use crate::sh_weaver::embed::video;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RecordWithMedia {
     pub media: RecordWithMediaMedia,
     pub records: Records,
@@ -44,6 +41,7 @@ pub struct RecordWithMedia {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -56,11 +54,9 @@ pub enum RecordWithMediaMedia {
     Video(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct View {
     pub media: ViewMedia,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -69,6 +65,7 @@ pub struct View {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -113,7 +110,7 @@ impl LexiconSchema for View {
 
 pub mod record_with_media_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -156,7 +153,10 @@ pub mod record_with_media_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct RecordWithMediaBuilder {
+pub struct RecordWithMediaBuilder<
+    St: record_with_media_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -251,7 +251,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordWithMedia {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RecordWithMedia {
         RecordWithMedia {
             media: self._fields.0.unwrap(),
             records: self._fields.1.unwrap(),
@@ -261,10 +264,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_embed_recordWithMedia() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.embed.recordWithMedia"),
@@ -273,10 +276,11 @@ fn lexicon_doc_sh_weaver_embed_recordWithMedia() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("records"),
-                        SmolStr::new_static("media"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("records"), SmolStr::new_static("media")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -286,7 +290,7 @@ fn lexicon_doc_sh_weaver_embed_recordWithMedia() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("sh.weaver.embed.images"),
                                     CowStr::new_static("sh.weaver.embed.external"),
-                                    CowStr::new_static("sh.weaver.embed.video"),
+                                    CowStr::new_static("sh.weaver.embed.video")
                                 ],
                                 ..Default::default()
                             }),
@@ -306,10 +310,9 @@ fn lexicon_doc_sh_weaver_embed_recordWithMedia() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("view"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("media"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("record"), SmolStr::new_static("media")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -319,7 +322,7 @@ fn lexicon_doc_sh_weaver_embed_recordWithMedia() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("sh.weaver.embed.images#view"),
                                     CowStr::new_static("sh.weaver.embed.external#view"),
-                                    CowStr::new_static("sh.weaver.embed.video#view"),
+                                    CowStr::new_static("sh.weaver.embed.video#view")
                                 ],
                                 ..Default::default()
                             }),
@@ -344,7 +347,7 @@ fn lexicon_doc_sh_weaver_embed_recordWithMedia() -> LexiconDoc<'static> {
 
 pub mod view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -483,4 +486,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/embed/records.rs b/crates/jacquard-api/src/sh_weaver/embed/records.rs
index aae67a015..148bc1a89 100644
--- a/crates/jacquard-api/src/sh_weaver/embed/records.rs
+++ b/crates/jacquard-api/src/sh_weaver/embed/records.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,6 +21,9 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::feed::BlockedAuthor;
 use crate::app_bsky::feed::GeneratorView;
 use crate::app_bsky::graph::ListView;
@@ -33,26 +36,18 @@ use crate::sh_weaver::embed::images;
 use crate::sh_weaver::embed::record_with_media;
 use crate::sh_weaver::embed::records;
 use crate::sh_weaver::embed::video;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Records {
     pub records: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RecordEmbed {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub name: Option,
@@ -61,11 +56,9 @@ pub struct RecordEmbed {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RecordEmbedView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub name: Option,
@@ -74,6 +67,7 @@ pub struct RecordEmbedView {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -88,17 +82,16 @@ pub enum RecordEmbedViewRecordView {
     VideoView(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct View {
     pub record: ViewUnionRecord,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -121,11 +114,9 @@ pub enum ViewUnionRecord {
     StarterPackViewBasic(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewBlocked {
     pub author: BlockedAuthor,
     pub blocked: bool,
@@ -134,11 +125,9 @@ pub struct ViewBlocked {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewDetached {
     pub detached: bool,
     pub uri: AtUri,
@@ -146,11 +135,9 @@ pub struct ViewDetached {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewNotFound {
     pub not_found: bool,
     pub uri: AtUri,
@@ -158,11 +145,9 @@ pub struct ViewNotFound {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ViewRecord {
     pub author: ProfileDataViewBasic,
     pub cid: Cid,
@@ -339,7 +324,7 @@ impl LexiconSchema for ViewRecord {
 
 pub mod records_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -453,10 +438,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.embed.records"),
@@ -532,7 +517,7 @@ fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
                                     CowStr::new_static("sh.weaver.embed.records#view"),
                                     CowStr::new_static("sh.weaver.embed.images#view"),
                                     CowStr::new_static("sh.weaver.embed.recordWithMedia#view"),
-                                    CowStr::new_static("sh.weaver.embed.video#view"),
+                                    CowStr::new_static("sh.weaver.embed.video#view")
                                 ],
                                 ..Default::default()
                             }),
@@ -560,7 +545,7 @@ fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
                                     CowStr::new_static("app.bsky.feed.defs#generatorView"),
                                     CowStr::new_static("app.bsky.graph.defs#listView"),
                                     CowStr::new_static("app.bsky.labeler.defs#labelerView"),
-                                    CowStr::new_static("app.bsky.graph.defs#starterPackViewBasic"),
+                                    CowStr::new_static("app.bsky.graph.defs#starterPackViewBasic")
                                 ],
                                 ..Default::default()
                             }),
@@ -573,18 +558,21 @@ fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("viewBlocked"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("blocked"),
-                        SmolStr::new_static("author"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("blocked"),
+                            SmolStr::new_static("author")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("app.bsky.feed.defs#blockedAuthor"),
+                                r#ref: CowStr::new_static(
+                                    "app.bsky.feed.defs#blockedAuthor",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -609,10 +597,9 @@ fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("viewDetached"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("detached"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("detached")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -637,10 +624,9 @@ fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("viewNotFound"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("notFound"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("notFound")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -665,13 +651,13 @@ fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("viewRecord"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("value"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("value"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -768,7 +754,7 @@ fn lexicon_doc_sh_weaver_embed_records() -> LexiconDoc<'static> {
 
 pub mod record_embed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -887,7 +873,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordEmbed {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RecordEmbed {
         RecordEmbed {
             name: self._fields.0,
             record: self._fields.1.unwrap(),
@@ -898,7 +887,7 @@ where
 
 pub mod record_embed_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -929,7 +918,10 @@ pub mod record_embed_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct RecordEmbedViewBuilder {
+pub struct RecordEmbedViewBuilder<
+    St: record_embed_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -1017,7 +1009,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordEmbedView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RecordEmbedView {
         RecordEmbedView {
             name: self._fields.0,
             record_view: self._fields.1.unwrap(),
@@ -1028,7 +1023,7 @@ where
 
 pub mod view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1143,7 +1138,7 @@ where
 
 pub mod view_blocked_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1316,7 +1311,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewBlocked {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewBlocked {
         ViewBlocked {
             author: self._fields.0.unwrap(),
             blocked: self._fields.1.unwrap(),
@@ -1328,7 +1326,7 @@ where
 
 pub mod view_detached_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1466,7 +1464,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewDetached {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewDetached {
         ViewDetached {
             detached: self._fields.0.unwrap(),
             uri: self._fields.1.unwrap(),
@@ -1477,7 +1478,7 @@ where
 
 pub mod view_not_found_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1615,7 +1616,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewNotFound {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewNotFound {
         ViewNotFound {
             not_found: self._fields.0.unwrap(),
             uri: self._fields.1.unwrap(),
@@ -1626,7 +1630,7 @@ where
 
 pub mod view_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1754,9 +1758,7 @@ impl ViewRecordBuilder {
     pub fn new() -> Self {
         ViewRecordBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -1767,9 +1769,7 @@ impl ViewRecordBuilder {
     pub fn builder() -> Self {
         ViewRecordBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -1815,12 +1815,18 @@ where
 
 impl ViewRecordBuilder {
     /// Set the `embeds` field (optional)
-    pub fn embeds(mut self, value: impl Into>>>) -> Self {
+    pub fn embeds(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
     /// Set the `embeds` field to an Option value (optional)
-    pub fn maybe_embeds(mut self, value: Option>>) -> Self {
+    pub fn maybe_embeds(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -1975,7 +1981,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ViewRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ViewRecord {
         ViewRecord {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -1991,4 +2000,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/embed/video.rs b/crates/jacquard-api/src/sh_weaver/embed/video.rs
index a9401c16e..574b0fa11 100644
--- a/crates/jacquard-api/src/sh_weaver/embed/video.rs
+++ b/crates/jacquard-api/src/sh_weaver/embed/video.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -22,19 +22,16 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::embed::AspectRatio;
 use crate::sh_weaver::embed::PercentSize;
 use crate::sh_weaver::embed::PixelSize;
 use crate::sh_weaver::embed::video;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Caption {
     pub file: BlobRef,
     pub lang: Language,
@@ -42,22 +39,18 @@ pub struct Caption {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct VideoRecord {
     pub videos: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Video {
     ///Alt text description of the video, for accessibility.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -74,6 +67,7 @@ pub struct Video {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -86,11 +80,9 @@ pub enum VideoDimensions {
     PixelSize(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct View {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub alt: Option,
@@ -106,6 +98,7 @@ pub struct View {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -147,16 +140,19 @@ impl LexiconSchema for Caption {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["text/vtt"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("file"),
@@ -256,16 +252,19 @@ impl LexiconSchema for Video {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["video/mp4"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("video"),
@@ -328,7 +327,7 @@ impl LexiconSchema for View {
 
 pub mod caption_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -476,10 +475,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.embed.video"),
@@ -488,18 +487,15 @@ fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("caption"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("lang"),
-                        SmolStr::new_static("file"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("lang"), SmolStr::new_static("file")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("file"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("lang"),
@@ -545,9 +541,11 @@ fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("alt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Alt text description of the video, for accessibility.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Alt text description of the video, for accessibility.",
+                                    ),
+                                ),
                                 max_length: Some(10000usize),
                                 max_graphemes: Some(1000usize),
                                 ..Default::default()
@@ -570,7 +568,7 @@ fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("app.bsky.embed.defs#aspectRatio"),
                                     CowStr::new_static("sh.weaver.embed.defs#percentSize"),
-                                    CowStr::new_static("sh.weaver.embed.defs#pixelSize"),
+                                    CowStr::new_static("sh.weaver.embed.defs#pixelSize")
                                 ],
                                 ..Default::default()
                             }),
@@ -584,9 +582,7 @@ fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("video"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -596,10 +592,9 @@ fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("view"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("playlist"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("cid"), SmolStr::new_static("playlist")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -624,7 +619,7 @@ fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
                                 refs: vec![
                                     CowStr::new_static("app.bsky.embed.defs#aspectRatio"),
                                     CowStr::new_static("sh.weaver.embed.defs#percentSize"),
-                                    CowStr::new_static("sh.weaver.embed.defs#pixelSize"),
+                                    CowStr::new_static("sh.weaver.embed.defs#pixelSize")
                                 ],
                                 ..Default::default()
                             }),
@@ -663,7 +658,7 @@ fn lexicon_doc_sh_weaver_embed_video() -> LexiconDoc<'static> {
 
 pub mod video_record_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -768,7 +763,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> VideoRecord {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> VideoRecord {
         VideoRecord {
             videos: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -778,7 +776,7 @@ where
 
 pub mod video_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -959,7 +957,7 @@ where
 
 pub mod view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1070,7 +1068,10 @@ where
     St::Cid: view_state::IsUnset,
 {
     /// Set the `cid` field (required)
-    pub fn cid(mut self, value: impl Into>) -> ViewBuilder, S> {
+    pub fn cid(
+        mut self,
+        value: impl Into>,
+    ) -> ViewBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         ViewBuilder {
             _state: PhantomData,
@@ -1168,4 +1169,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph.rs b/crates/jacquard-api/src/sh_weaver/graph.rs
index 6526c9bc1..5208dda11 100644
--- a/crates/jacquard-api/src/sh_weaver/graph.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph.rs
@@ -32,12 +32,13 @@ pub mod subscribe;
 pub mod subscribe_accept;
 pub mod tag;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -48,21 +49,18 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::actor::ProfileViewBasic;
-use crate::sh_weaver::graph;
 use crate::sh_weaver::notebook::EntryView;
 use crate::sh_weaver::notebook::NotebookView;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use crate::sh_weaver::graph;
 /// A community tag with how many people applied it.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CommunityTagCount {
     pub count: i64,
     pub tag: S,
@@ -83,10 +81,7 @@ impl core::fmt::Display for Curatelist {
 /// An item in a list with hydrated subject.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListItemView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub added_at: Option,
@@ -96,6 +91,7 @@ pub struct ListItemView {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -106,6 +102,7 @@ pub enum ListItemViewSubject {
     EntryView(Box>),
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ListPurpose {
     ShWeaverGraphDefsCuratelist,
@@ -173,9 +170,15 @@ where
     type Output = ListPurpose;
     fn into_static(self) -> Self::Output {
         match self {
-            ListPurpose::ShWeaverGraphDefsCuratelist => ListPurpose::ShWeaverGraphDefsCuratelist,
-            ListPurpose::ShWeaverGraphDefsReadinglist => ListPurpose::ShWeaverGraphDefsReadinglist,
-            ListPurpose::ShWeaverGraphDefsSerieslist => ListPurpose::ShWeaverGraphDefsSerieslist,
+            ListPurpose::ShWeaverGraphDefsCuratelist => {
+                ListPurpose::ShWeaverGraphDefsCuratelist
+            }
+            ListPurpose::ShWeaverGraphDefsReadinglist => {
+                ListPurpose::ShWeaverGraphDefsReadinglist
+            }
+            ListPurpose::ShWeaverGraphDefsSerieslist => {
+                ListPurpose::ShWeaverGraphDefsSerieslist
+            }
             ListPurpose::Other(v) => ListPurpose::Other(v.into_static()),
         }
     }
@@ -184,10 +187,7 @@ where
 /// Hydrated view of a list.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar: Option>,
@@ -219,10 +219,7 @@ impl core::fmt::Display for Readinglist {
 /// All tags for a resource, grouped by source.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResourceTagsView {
     ///Tags from the record itself (author-applied).
     pub author_tags: Vec,
@@ -249,10 +246,7 @@ impl core::fmt::Display for Serieslist {
 /// A single tag application with who applied it.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TagApplicationView {
     pub applied_by: ProfileViewBasic,
     pub created_at: Datetime,
@@ -265,10 +259,7 @@ pub struct TagApplicationView {
 /// Aggregated view of a tag with usage statistics.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TagView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub entry_count: Option,
@@ -379,7 +370,7 @@ impl LexiconSchema for TagView {
 
 pub mod community_tag_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -422,7 +413,10 @@ pub mod community_tag_count_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CommunityTagCountBuilder {
+pub struct CommunityTagCountBuilder<
+    St: community_tag_count_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -430,7 +424,10 @@ pub struct CommunityTagCountBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> CommunityTagCountBuilder {
+    pub fn new() -> CommunityTagCountBuilder<
+        community_tag_count_state::Empty,
+        DefaultStr,
+    > {
         CommunityTagCountBuilder::new()
     }
 }
@@ -517,7 +514,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CommunityTagCount {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CommunityTagCount {
         CommunityTagCount {
             count: self._fields.0.unwrap(),
             tag: self._fields.1.unwrap(),
@@ -527,10 +527,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.defs"),
@@ -539,13 +539,14 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("communityTagCount"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A community tag with how many people applied it.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("tag"),
-                        SmolStr::new_static("count"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A community tag with how many people applied it.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("tag"), SmolStr::new_static("count")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -557,9 +558,7 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("tag"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -568,20 +567,17 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("curatelist"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("listItemView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "An item in a list with hydrated subject.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("subject"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An item in a list with hydrated subject."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("subject")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -597,7 +593,7 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("sh.weaver.notebook.defs#notebookView"),
-                                    CowStr::new_static("sh.weaver.notebook.defs#entryView"),
+                                    CowStr::new_static("sh.weaver.notebook.defs#entryView")
                                 ],
                                 ..Default::default()
                             }),
@@ -616,23 +612,21 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("listPurpose"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("listView"),
                 LexUserType::Object(LexObject {
                     description: Some(CowStr::new_static("Hydrated view of a list.")),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("creator"),
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("purpose"),
-                        SmolStr::new_static("itemCount"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("creator"), SmolStr::new_static("name"),
+                            SmolStr::new_static("purpose"),
+                            SmolStr::new_static("itemCount"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -653,15 +647,15 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("creator"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("description"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("indexedAt"),
@@ -678,9 +672,7 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("purpose"),
@@ -710,30 +702,32 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("readinglist"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("resourceTagsView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "All tags for a resource, grouped by source.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("resource"),
-                        SmolStr::new_static("authorTags"),
-                        SmolStr::new_static("communityTags"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("All tags for a resource, grouped by source."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("resource"),
+                            SmolStr::new_static("authorTags"),
+                            SmolStr::new_static("communityTags")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("authorTags"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Tags from the record itself (author-applied).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Tags from the record itself (author-applied).",
+                                    ),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     ..Default::default()
                                 }),
@@ -743,9 +737,11 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("communityTags"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Aggregated community-applied tags with counts.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Aggregated community-applied tags with counts.",
+                                    ),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static("#communityTagCount"),
                                     ..Default::default()
@@ -763,9 +759,9 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("viewerAppliedTags"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Tags the current viewer has applied.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Tags the current viewer has applied."),
+                                ),
                                 items: LexArrayItem::String(LexString {
                                     ..Default::default()
                                 }),
@@ -779,29 +775,32 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("serieslist"),
-                LexUserType::Token(LexToken {
-                    ..Default::default()
-                }),
+                LexUserType::Token(LexToken { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("tagApplicationView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A single tag application with who applied it.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("tag"),
-                        SmolStr::new_static("appliedBy"),
-                        SmolStr::new_static("createdAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A single tag application with who applied it.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("tag"),
+                            SmolStr::new_static("appliedBy"),
+                            SmolStr::new_static("createdAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("appliedBy"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -814,9 +813,7 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("tag"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -833,13 +830,14 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("tagView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Aggregated view of a tag with usage statistics.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("tag"),
-                        SmolStr::new_static("useCount"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Aggregated view of a tag with usage statistics.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("tag"), SmolStr::new_static("useCount")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -863,9 +861,7 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("tag"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("trendingScore"),
@@ -892,7 +888,7 @@ fn lexicon_doc_sh_weaver_graph_defs() -> LexiconDoc<'static> {
 
 pub mod list_item_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -937,11 +933,7 @@ pub mod list_item_view_state {
 /// Builder for constructing an instance of this type.
 pub struct ListItemViewBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -1048,7 +1040,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ListItemView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ListItemView {
         ListItemView {
             added_at: self._fields.0,
             subject: self._fields.1.unwrap(),
@@ -1060,7 +1055,7 @@ where
 
 pub mod list_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1354,7 +1349,10 @@ where
     St::Name: list_view_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ListViewBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ListViewBuilder, S> {
         self._fields.6 = Option::Some(value.into());
         ListViewBuilder {
             _state: PhantomData,
@@ -1462,7 +1460,7 @@ where
 
 pub mod resource_tags_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1519,7 +1517,10 @@ pub mod resource_tags_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ResourceTagsViewBuilder {
+pub struct ResourceTagsViewBuilder<
+    St: resource_tags_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1532,7 +1533,10 @@ pub struct ResourceTagsViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ResourceTagsViewBuilder {
+    pub fn new() -> ResourceTagsViewBuilder<
+        resource_tags_view_state::Empty,
+        DefaultStr,
+    > {
         ResourceTagsViewBuilder::new()
     }
 }
@@ -1654,7 +1658,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ResourceTagsView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ResourceTagsView {
         ResourceTagsView {
             author_tags: self._fields.0.unwrap(),
             community_tags: self._fields.1.unwrap(),
@@ -1667,7 +1674,7 @@ where
 
 pub mod tag_application_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1740,8 +1747,10 @@ pub mod tag_application_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct TagApplicationViewBuilder
-{
+pub struct TagApplicationViewBuilder<
+    St: tag_application_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -1754,7 +1763,10 @@ pub struct TagApplicationViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> TagApplicationViewBuilder {
+    pub fn new() -> TagApplicationViewBuilder<
+        tag_application_view_state::Empty,
+        DefaultStr,
+    > {
         TagApplicationViewBuilder::new()
     }
 }
@@ -1883,7 +1895,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> TagApplicationView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> TagApplicationView {
         TagApplicationView {
             applied_by: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -1896,7 +1911,7 @@ where
 
 pub mod tag_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2033,7 +2048,10 @@ where
     St::Tag: tag_view_state::IsUnset,
 {
     /// Set the `tag` field (required)
-    pub fn tag(mut self, value: impl Into) -> TagViewBuilder, S> {
+    pub fn tag(
+        mut self,
+        value: impl Into,
+    ) -> TagViewBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         TagViewBuilder {
             _state: PhantomData,
@@ -2105,4 +2123,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/bookmark.rs b/crates/jacquard-api/src/sh_weaver/graph/bookmark.rs
index 7db2a8831..d0e8f2692 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/bookmark.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/bookmark.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Bookmark a notebook or entry for later reading.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -131,7 +131,7 @@ impl LexiconSchema for Bookmark {
 
 pub mod bookmark_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -294,10 +294,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_bookmark() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.bookmark"),
@@ -306,15 +306,19 @@ fn lexicon_doc_sh_weaver_graph_bookmark() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Bookmark a notebook or entry for later reading.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Bookmark a notebook or entry for later reading.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -328,9 +332,11 @@ fn lexicon_doc_sh_weaver_graph_bookmark() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("note"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Optional private note about why you saved this.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Optional private note about why you saved this.",
+                                        ),
+                                    ),
                                     max_length: Some(3000usize),
                                     max_graphemes: Some(300usize),
                                     ..Default::default()
@@ -354,4 +360,4 @@ fn lexicon_doc_sh_weaver_graph_bookmark() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/follow.rs b/crates/jacquard-api/src/sh_weaver/graph/follow.rs
index f28275828..d83f4473b 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/follow.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/follow.rs
@@ -10,13 +10,13 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Request to follow an author. Requires acceptance to be active.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Follow {
 
 pub mod follow_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -253,10 +253,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_follow() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.follow"),
@@ -265,15 +265,19 @@ fn lexicon_doc_sh_weaver_graph_follow() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Request to follow an author. Requires acceptance to be active.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Request to follow an author. Requires acceptance to be active.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -287,9 +291,9 @@ fn lexicon_doc_sh_weaver_graph_follow() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("subject"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "DID of the author to follow.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("DID of the author to follow."),
+                                    ),
                                     format: Some(LexStringFormat::Did),
                                     ..Default::default()
                                 }),
@@ -305,4 +309,4 @@ fn lexicon_doc_sh_weaver_graph_follow() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/follow_accept.rs b/crates/jacquard-api/src/sh_weaver/graph/follow_accept.rs
index b2bb5fdd9..0d7cde6d5 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/follow_accept.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/follow_accept.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Acceptance of a follow request. Completes the two-way agreement.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for FollowAccept {
 
 pub mod follow_accept_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -244,7 +244,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> FollowAccept {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> FollowAccept {
         FollowAccept {
             created_at: self._fields.0.unwrap(),
             follow: self._fields.1.unwrap(),
@@ -254,10 +257,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_followAccept() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.followAccept"),
@@ -266,15 +269,19 @@ fn lexicon_doc_sh_weaver_graph_followAccept() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Acceptance of a follow request. Completes the two-way agreement.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Acceptance of a follow request. Completes the two-way agreement.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("follow"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("follow"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -303,4 +310,4 @@ fn lexicon_doc_sh_weaver_graph_followAccept() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/follow_gate.rs b/crates/jacquard-api/src/sh_weaver/graph/follow_gate.rs
index 56064937a..c633199e4 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/follow_gate.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/follow_gate.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Settings controlling follow approval behavior. Absence means auto-accept.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -119,7 +119,7 @@ fn _default_follow_gate_require_approval() -> Option {
 
 pub mod follow_gate_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -252,7 +252,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> FollowGate {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> FollowGate {
         FollowGate {
             created_at: self._fields.0.unwrap(),
             invalidate_prior: self._fields.1.or_else(|| Some(false)),
@@ -263,10 +266,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_followGate() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.followGate"),
@@ -275,9 +278,11 @@ fn lexicon_doc_sh_weaver_graph_followGate() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Settings controlling follow approval behavior. Absence means auto-accept.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Settings controlling follow approval behavior. Absence means auto-accept.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("self")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("createdAt")]),
@@ -314,4 +319,4 @@ fn lexicon_doc_sh_weaver_graph_followGate() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_actor_bookmarks.rs b/crates/jacquard-api/src/sh_weaver/graph/get_actor_bookmarks.rs
index 3ade7b8d8..d138a967e 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_actor_bookmarks.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_actor_bookmarks.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorBookmarks {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -32,11 +29,9 @@ pub struct GetActorBookmarks {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorBookmarksOutput {
     pub bookmarks: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_actor_bookmarks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -110,7 +105,10 @@ pub mod get_actor_bookmarks_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetActorBookmarksBuilder {
+pub struct GetActorBookmarksBuilder<
+    St: get_actor_bookmarks_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -118,7 +116,10 @@ pub struct GetActorBookmarksBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetActorBookmarksBuilder {
+    pub fn new() -> GetActorBookmarksBuilder<
+        get_actor_bookmarks_state::Empty,
+        DefaultStr,
+    > {
         GetActorBookmarksBuilder::new()
     }
 }
@@ -210,4 +211,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_actor_likes.rs b/crates/jacquard-api/src/sh_weaver/graph/get_actor_likes.rs
index d770851e7..56ef737aa 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_actor_likes.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_actor_likes.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorLikes {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -32,11 +29,9 @@ pub struct GetActorLikes {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorLikesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_actor_likes_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -110,7 +105,10 @@ pub mod get_actor_likes_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetActorLikesBuilder {
+pub struct GetActorLikesBuilder<
+    St: get_actor_likes_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -210,4 +208,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_actor_lists.rs b/crates/jacquard-api/src/sh_weaver/graph/get_actor_lists.rs
index d319a2947..c8bfa6616 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_actor_lists.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_actor_lists.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::graph::ListView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::ListView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorLists {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -35,11 +32,9 @@ pub struct GetActorLists {
     pub purpose: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorListsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -82,7 +77,7 @@ fn _default_limit() -> Option {
 
 pub mod get_actor_lists_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -113,7 +108,10 @@ pub mod get_actor_lists_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetActorListsBuilder {
+pub struct GetActorListsBuilder<
+    St: get_actor_lists_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
@@ -227,4 +225,4 @@ where
             purpose: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_actor_subscriptions.rs b/crates/jacquard-api/src/sh_weaver/graph/get_actor_subscriptions.rs
index 4d0796ca1..976f3bae5 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_actor_subscriptions.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_actor_subscriptions.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorSubscriptions {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -32,11 +29,9 @@ pub struct GetActorSubscriptions {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetActorSubscriptionsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_actor_subscriptions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -121,14 +116,20 @@ pub struct GetActorSubscriptionsBuilder<
 
 impl GetActorSubscriptions {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetActorSubscriptionsBuilder {
+    pub fn new() -> GetActorSubscriptionsBuilder<
+        get_actor_subscriptions_state::Empty,
+        DefaultStr,
+    > {
         GetActorSubscriptionsBuilder::new()
     }
 }
 
 impl GetActorSubscriptions {
     /// Create a new builder for this type
-    pub fn builder() -> GetActorSubscriptionsBuilder {
+    pub fn builder() -> GetActorSubscriptionsBuilder<
+        get_actor_subscriptions_state::Empty,
+        S,
+    > {
         GetActorSubscriptionsBuilder::builder()
     }
 }
@@ -174,7 +175,10 @@ where
     }
 }
 
-impl GetActorSubscriptionsBuilder {
+impl<
+    St: get_actor_subscriptions_state::State,
+    S: BosStr,
+> GetActorSubscriptionsBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -187,7 +191,10 @@ impl GetActorSubscriptionsB
     }
 }
 
-impl GetActorSubscriptionsBuilder {
+impl<
+    St: get_actor_subscriptions_state::State,
+    S: BosStr,
+> GetActorSubscriptionsBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -213,4 +220,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_bookmarked_by.rs b/crates/jacquard-api/src/sh_weaver/graph/get_bookmarked_by.rs
index c2fc40567..9e00d5add 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_bookmarked_by.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_bookmarked_by.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBookmarkedBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -32,11 +29,9 @@ pub struct GetBookmarkedBy {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBookmarkedByOutput {
     pub bookmarks: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -82,7 +77,7 @@ fn _default_limit() -> Option {
 
 pub mod get_bookmarked_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -113,7 +108,10 @@ pub mod get_bookmarked_by_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetBookmarkedByBuilder {
+pub struct GetBookmarkedByBuilder<
+    St: get_bookmarked_by_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -213,4 +211,4 @@ where
             subject: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_followers.rs b/crates/jacquard-api/src/sh_weaver/graph/get_followers.rs
index e239d5294..a3df02423 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_followers.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_followers.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileViewBasic;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFollowers {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -33,11 +30,9 @@ pub struct GetFollowers {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFollowersOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -81,7 +76,7 @@ fn _default_limit() -> Option {
 
 pub mod get_followers_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -212,4 +207,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_following.rs b/crates/jacquard-api/src/sh_weaver/graph/get_following.rs
index e95fa1512..5dd553c71 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_following.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_following.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileViewBasic;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileViewBasic;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFollowing {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -33,11 +30,9 @@ pub struct GetFollowing {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetFollowingOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -81,7 +76,7 @@ fn _default_limit() -> Option {
 
 pub mod get_following_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -212,4 +207,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_liked_by.rs b/crates/jacquard-api/src/sh_weaver/graph/get_liked_by.rs
index e11a6b2ff..5a4943b5a 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_liked_by.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_liked_by.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::{AtUri, Cid};
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikedBy {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -32,11 +29,9 @@ pub struct GetLikedBy {
     pub subject: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetLikedByOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cid: Option>,
@@ -82,7 +77,7 @@ fn _default_limit() -> Option {
 
 pub mod get_liked_by_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -213,4 +208,4 @@ where
             subject: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_list.rs b/crates/jacquard-api/src/sh_weaver/graph/get_list.rs
index 93b79ff74..44dd102b2 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_list.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_list.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::graph::ListItemView;
-use crate::sh_weaver::graph::ListView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::ListItemView;
+use crate::sh_weaver::graph::ListView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetList {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -34,11 +31,9 @@ pub struct GetList {
     pub list: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetListOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -48,19 +43,25 @@ pub struct GetListOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetListError {
     #[serde(rename = "ListNotFound")]
     ListNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetListError {
@@ -118,7 +119,7 @@ fn _default_limit() -> Option {
 
 pub mod get_list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -249,4 +250,4 @@ where
             list: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_popular_tags.rs b/crates/jacquard-api/src/sh_weaver/graph/get_popular_tags.rs
index a008089a9..65862f618 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_popular_tags.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_popular_tags.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::graph::TagView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::TagView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPopularTags {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -31,11 +28,9 @@ pub struct GetPopularTags {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPopularTagsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -78,7 +73,7 @@ fn _default_limit() -> Option {
 
 pub mod get_popular_tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -96,7 +91,10 @@ pub mod get_popular_tags_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetPopularTagsBuilder {
+pub struct GetPopularTagsBuilder<
+    St: get_popular_tags_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option),
     _type: PhantomData S>,
@@ -175,4 +173,4 @@ where
             limit: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_resource_tags.rs b/crates/jacquard-api/src/sh_weaver/graph/get_resource_tags.rs
index 7d78a1dde..44b917ea3 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_resource_tags.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_resource_tags.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::graph::ResourceTagsView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::ResourceTagsView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetResourceTags {
     pub resource: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetResourceTagsOutput {
     #[serde(flatten)]
     pub value: ResourceTagsView,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetResourceTagsRequest {
 
 pub mod get_resource_tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -100,7 +95,10 @@ pub mod get_resource_tags_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetResourceTagsBuilder {
+pub struct GetResourceTagsBuilder<
+    St: get_resource_tags_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -172,4 +170,4 @@ where
             resource: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_subscribers.rs b/crates/jacquard-api/src/sh_weaver/graph/get_subscribers.rs
index 2346cae67..daec4d65d 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_subscribers.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_subscribers.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::actor::ProfileViewBasic;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileViewBasic;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSubscribers {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -34,11 +31,9 @@ pub struct GetSubscribers {
     pub notebook: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSubscribersOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -82,7 +77,7 @@ fn _default_limit() -> Option {
 
 pub mod get_subscribers_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -113,7 +108,10 @@ pub mod get_subscribers_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetSubscribersBuilder {
+pub struct GetSubscribersBuilder<
+    St: get_subscribers_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -213,4 +211,4 @@ where
             notebook: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_tag_suggestions.rs b/crates/jacquard-api/src/sh_weaver/graph/get_tag_suggestions.rs
index 6f412415c..291d2da74 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_tag_suggestions.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_tag_suggestions.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::graph::TagView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::TagView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTagSuggestions {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub existing_tags: Option>,
@@ -34,11 +31,9 @@ pub struct GetTagSuggestions {
     pub query: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTagSuggestionsOutput {
     pub suggestions: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -79,7 +74,7 @@ fn _default_limit() -> Option {
 
 pub mod get_tag_suggestions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -97,7 +92,10 @@ pub mod get_tag_suggestions_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetTagSuggestionsBuilder {
+pub struct GetTagSuggestionsBuilder<
+    St: get_tag_suggestions_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -105,7 +103,10 @@ pub struct GetTagSuggestionsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetTagSuggestionsBuilder {
+    pub fn new() -> GetTagSuggestionsBuilder<
+        get_tag_suggestions_state::Empty,
+        DefaultStr,
+    > {
         GetTagSuggestionsBuilder::new()
     }
 }
@@ -190,4 +191,4 @@ where
             query: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_tagged_resources.rs b/crates/jacquard-api/src/sh_weaver/graph/get_tagged_resources.rs
index 2aae101b7..62e0e5890 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_tagged_resources.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_tagged_resources.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::graph::TagView;
-use crate::sh_weaver::notebook::EntryView;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::TagView;
+use crate::sh_weaver::notebook::EntryView;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTaggedResources {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -50,11 +47,9 @@ pub struct GetTaggedResources {
     pub tag: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTaggedResourcesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -65,6 +60,7 @@ pub struct GetTaggedResourcesOutput {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -125,7 +121,7 @@ fn _default_sort() -> Option {
 
 pub mod get_tagged_resources_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -156,8 +152,10 @@ pub mod get_tagged_resources_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetTaggedResourcesBuilder
-{
+pub struct GetTaggedResourcesBuilder<
+    St: get_tagged_resources_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option,
@@ -173,7 +171,10 @@ pub struct GetTaggedResourcesBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetTaggedResourcesBuilder {
+    pub fn new() -> GetTaggedResourcesBuilder<
+        get_tagged_resources_state::Empty,
+        DefaultStr,
+    > {
         GetTaggedResourcesBuilder::new()
     }
 }
@@ -321,4 +322,4 @@ where
             tag: self._fields.6.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/get_trending_tags.rs b/crates/jacquard-api/src/sh_weaver/graph/get_trending_tags.rs
index dc365d01b..3c1d80277 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/get_trending_tags.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/get_trending_tags.rs
@@ -8,14 +8,14 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::graph::TagView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::TagView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -26,11 +26,9 @@ pub struct GetTrendingTags {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTrendingTagsOutput {
     pub tags: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -71,7 +69,7 @@ fn _default_limit() -> Option {
 
 pub mod get_trending_tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -144,4 +142,4 @@ where
             limit: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/like.rs b/crates/jacquard-api/src/sh_weaver/graph/like.rs
index 0be847386..19c835b36 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/like.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record declaring a 'like' of a notebook or entry.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -254,10 +254,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.like"),
@@ -266,15 +266,19 @@ fn lexicon_doc_sh_weaver_graph_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Record declaring a 'like' of a notebook or entry.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Record declaring a 'like' of a notebook or entry.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -303,4 +307,4 @@ fn lexicon_doc_sh_weaver_graph_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/list.rs b/crates/jacquard-api/src/sh_weaver/graph/list.rs
index b113415ab..5d349f88f 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/list.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/list.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_weaver::graph::list;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::graph::list;
 
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ListPurpose {
@@ -94,8 +94,12 @@ where
     type Output = ListPurpose;
     fn into_static(self) -> Self::Output {
         match self {
-            ListPurpose::ShWeaverGraphDefsCuratelist => ListPurpose::ShWeaverGraphDefsCuratelist,
-            ListPurpose::ShWeaverGraphDefsReadinglist => ListPurpose::ShWeaverGraphDefsReadinglist,
+            ListPurpose::ShWeaverGraphDefsCuratelist => {
+                ListPurpose::ShWeaverGraphDefsCuratelist
+            }
+            ListPurpose::ShWeaverGraphDefsReadinglist => {
+                ListPurpose::ShWeaverGraphDefsReadinglist
+            }
             ListPurpose::Other(v) => ListPurpose::Other(v.into_static()),
         }
     }
@@ -195,20 +199,25 @@ impl LexiconSchema for List {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -264,7 +273,7 @@ impl LexiconSchema for List {
 
 pub mod list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -420,7 +429,10 @@ where
     St::Name: list_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> ListBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> ListBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         ListBuilder {
             _state: PhantomData,
@@ -481,10 +493,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_list() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.list"),
@@ -492,31 +504,28 @@ fn lexicon_doc_sh_weaver_graph_list() -> LexiconDoc<'static> {
             let mut map = BTreeMap::new();
             map.insert(
                 SmolStr::new_static("listPurpose"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A curated list of notebooks and/or entries.",
-                    )),
+                    description: Some(
+                        CowStr::new_static("A curated list of notebooks and/or entries."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("purpose"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"), SmolStr::new_static("purpose"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
@@ -536,9 +545,9 @@ fn lexicon_doc_sh_weaver_graph_list() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Display name for the list.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Display name for the list."),
+                                    ),
                                     min_length: Some(1usize),
                                     max_length: Some(64usize),
                                     ..Default::default()
@@ -562,4 +571,4 @@ fn lexicon_doc_sh_weaver_graph_list() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/listitem.rs b/crates/jacquard-api/src/sh_weaver/graph/listitem.rs
index ebb311164..b45999a3e 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/listitem.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/listitem.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// An item in a list.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -108,7 +108,7 @@ impl LexiconSchema for Listitem {
 
 pub mod listitem_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -292,10 +292,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_listitem() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.listitem"),
@@ -307,11 +307,12 @@ fn lexicon_doc_sh_weaver_graph_listitem() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("An item in a list.")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("list"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"), SmolStr::new_static("list"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -325,9 +326,9 @@ fn lexicon_doc_sh_weaver_graph_listitem() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("list"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Reference to the list record.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Reference to the list record."),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -350,4 +351,4 @@ fn lexicon_doc_sh_weaver_graph_listitem() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/subscribe.rs b/crates/jacquard-api/src/sh_weaver/graph/subscribe.rs
index 27bfa6508..14af6ccd0 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/subscribe.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/subscribe.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Request to subscribe to a notebook. Requires acceptance to be active.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Subscribe {
 
 pub mod subscribe_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -243,7 +243,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Subscribe {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Subscribe {
         Subscribe {
             created_at: self._fields.0.unwrap(),
             notebook: self._fields.1.unwrap(),
@@ -253,10 +256,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_subscribe() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.subscribe"),
@@ -265,15 +268,19 @@ fn lexicon_doc_sh_weaver_graph_subscribe() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "Request to subscribe to a notebook. Requires acceptance to be active.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Request to subscribe to a notebook. Requires acceptance to be active.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("notebook"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("notebook"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -287,9 +294,9 @@ fn lexicon_doc_sh_weaver_graph_subscribe() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("notebook"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "URI of the notebook to subscribe to.",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("URI of the notebook to subscribe to."),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -305,4 +312,4 @@ fn lexicon_doc_sh_weaver_graph_subscribe() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/subscribe_accept.rs b/crates/jacquard-api/src/sh_weaver/graph/subscribe_accept.rs
index c7c20e00d..f5c2cb3c1 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/subscribe_accept.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/subscribe_accept.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Acceptance of a subscription request.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for SubscribeAccept {
 
 pub mod subscribe_accept_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -149,7 +149,10 @@ pub mod subscribe_accept_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SubscribeAcceptBuilder {
+pub struct SubscribeAcceptBuilder<
+    St: subscribe_accept_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -244,7 +247,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SubscribeAccept {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SubscribeAccept {
         SubscribeAccept {
             created_at: self._fields.0.unwrap(),
             subscribe: self._fields.1.unwrap(),
@@ -254,10 +260,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_subscribeAccept() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.subscribeAccept"),
@@ -266,13 +272,17 @@ fn lexicon_doc_sh_weaver_graph_subscribeAccept() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Acceptance of a subscription request.")),
+                    description: Some(
+                        CowStr::new_static("Acceptance of a subscription request."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subscribe"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subscribe"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
@@ -301,4 +311,4 @@ fn lexicon_doc_sh_weaver_graph_subscribeAccept() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/graph/tag.rs b/crates/jacquard-api/src/sh_weaver/graph/tag.rs
index 9a68e53fd..a25fa3d61 100644
--- a/crates/jacquard-api/src/sh_weaver/graph/tag.rs
+++ b/crates/jacquard-api/src/sh_weaver/graph/tag.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Apply a community tag to a notebook or entry. Can be created by readers, authors, or bots for categorization and discovery.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -130,7 +130,7 @@ impl LexiconSchema for Tag {
 
 pub mod tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -311,10 +311,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_graph_tag() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.graph.tag"),
@@ -377,4 +377,4 @@ fn lexicon_doc_sh_weaver_graph_tag() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook.rs b/crates/jacquard-api/src/sh_weaver/notebook.rs
index 787a53a75..4010a3030 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook.rs
@@ -38,36 +38,34 @@ pub mod search_notebooks;
 pub mod theme;
 pub mod update_reading_progress;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::actor::ProfileDataView;
 use crate::sh_weaver::actor::ProfileViewBasic;
 use crate::sh_weaver::notebook;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AuthorListView {
     pub index: i64,
     pub record: ProfileDataView,
@@ -77,11 +75,9 @@ pub struct AuthorListView {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BookEntryRef {
     pub entry: notebook::EntryView,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -91,10 +87,7 @@ pub struct BookEntryRef {
 /// An ordered entry in a Weaver notebook.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct BookEntryView {
     pub entry: notebook::EntryView,
     pub index: i64,
@@ -109,10 +102,7 @@ pub struct BookEntryView {
 /// An entry within a chapter context.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ChapterEntryView {
     pub entry: notebook::EntryView,
     pub index: i64,
@@ -127,10 +117,7 @@ pub struct ChapterEntryView {
 /// Hydrated view of a chapter.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ChapterView {
     pub authors: Vec>,
     pub cid: Cid,
@@ -151,10 +138,7 @@ pub struct ChapterView {
 /// The format of the content. This is used to determine how to render the content.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ContentFormat {
     ///The format of the content. This is used to determine how to render the content.  Defaults to `"weaver"`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -343,7 +327,9 @@ where
             ContentWarning::Death => ContentWarning::Death,
             ContentWarning::MajorCharacterDeath => ContentWarning::MajorCharacterDeath,
             ContentWarning::SexualContent => ContentWarning::SexualContent,
-            ContentWarning::ExplicitSexualContent => ContentWarning::ExplicitSexualContent,
+            ContentWarning::ExplicitSexualContent => {
+                ContentWarning::ExplicitSexualContent
+            }
             ContentWarning::Language => ContentWarning::Language,
             ContentWarning::SubstanceUse => ContentWarning::SubstanceUse,
             ContentWarning::SelfHarm => ContentWarning::SelfHarm,
@@ -358,10 +344,7 @@ where
 pub type ContentWarnings = Vec>;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EntryView {
     pub authors: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -395,10 +378,7 @@ pub struct EntryView {
 /// Entry with feed-specific context (discovery reason, notebook context).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FeedEntryView {
     pub entry: notebook::EntryView,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -412,10 +392,7 @@ pub struct FeedEntryView {
 /// Minimal notebook context for feed display.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FeedNotebookContext {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub path: Option,
@@ -439,11 +416,9 @@ pub enum FeedReason {
     ReasonSubscription(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotebookView {
     pub authors: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -481,10 +456,7 @@ pub struct NotebookView {
 /// Hydrated view of a page (entries displayed together).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PageView {
     pub cid: Cid,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -506,10 +478,7 @@ pub type Path = S;
 /// A single permission grant. For resource authority: source=resource URI, grantedAt=createdAt. For invitees: source=invite URI, grantedAt=accept createdAt.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PermissionGrant {
     pub did: Did,
     ///For authority: record createdAt. For invitees: accept createdAt
@@ -596,7 +565,9 @@ where
         match self {
             PermissionGrantScope::Direct => PermissionGrantScope::Direct,
             PermissionGrantScope::Inherited => PermissionGrantScope::Inherited,
-            PermissionGrantScope::Other(v) => PermissionGrantScope::Other(v.into_static()),
+            PermissionGrantScope::Other(v) => {
+                PermissionGrantScope::Other(v.into_static())
+            }
         }
     }
 }
@@ -604,10 +575,7 @@ where
 /// ACL-style permissions for a resource. Separate from authors (who contributed).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PermissionsState {
     ///DIDs that can edit this resource
     pub editors: Vec>,
@@ -621,10 +589,7 @@ pub struct PermissionsState {
 /// A published version of an entry in a collaborator's repo.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PublishedVersionView {
     pub cid: Cid,
     ///If content differs, the version it diverged from
@@ -645,10 +610,7 @@ pub struct PublishedVersionView {
 /// Viewer's reading progress (appview-side state, not a record).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReadingProgress {
     ///Last entry the viewer was reading.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -667,6 +629,7 @@ pub struct ReadingProgress {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum ReadingProgressStatus {
     Reading,
@@ -747,16 +710,16 @@ where
             ReadingProgressStatus::Finished => ReadingProgressStatus::Finished,
             ReadingProgressStatus::Abandoned => ReadingProgressStatus::Abandoned,
             ReadingProgressStatus::WantToRead => ReadingProgressStatus::WantToRead,
-            ReadingProgressStatus::Other(v) => ReadingProgressStatus::Other(v.into_static()),
+            ReadingProgressStatus::Other(v) => {
+                ReadingProgressStatus::Other(v.into_static())
+            }
         }
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReasonBookmark {
     pub by: ProfileViewBasic,
     pub indexed_at: Datetime,
@@ -764,11 +727,9 @@ pub struct ReasonBookmark {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReasonLike {
     pub by: ProfileViewBasic,
     pub indexed_at: Datetime,
@@ -776,11 +737,9 @@ pub struct ReasonLike {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReasonSubscription {
     pub indexed_at: Datetime,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -790,10 +749,7 @@ pub struct ReasonSubscription {
 /// View of a rendered and cached notebook entry
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct RenderedView {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub css: Option>,
@@ -1121,16 +1077,19 @@ impl LexiconSchema for RenderedView {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["text/css"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("css"),
@@ -1158,16 +1117,19 @@ impl LexiconSchema for RenderedView {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["text/html"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("html"),
@@ -1183,7 +1145,7 @@ impl LexiconSchema for RenderedView {
 
 pub mod author_list_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1226,7 +1188,10 @@ pub mod author_list_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct AuthorListViewBuilder {
+pub struct AuthorListViewBuilder<
+    St: author_list_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>, Option>),
     _type: PhantomData S>,
@@ -1335,7 +1300,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AuthorListView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AuthorListView {
         AuthorListView {
             index: self._fields.0.unwrap(),
             record: self._fields.1.unwrap(),
@@ -1346,10 +1314,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.defs"),
@@ -1358,10 +1326,9 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("authorListView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("index"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("record"), SmolStr::new_static("index")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1374,7 +1341,9 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("record"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileDataView"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileDataView",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -1412,11 +1381,12 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("bookEntryView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("An ordered entry in a Weaver notebook.")),
-                    required: Some(vec![
-                        SmolStr::new_static("entry"),
-                        SmolStr::new_static("index"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An ordered entry in a Weaver notebook."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("entry"), SmolStr::new_static("index")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1455,11 +1425,12 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("chapterEntryView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("An entry within a chapter context.")),
-                    required: Some(vec![
-                        SmolStr::new_static("entry"),
-                        SmolStr::new_static("index"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("An entry within a chapter context."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("entry"), SmolStr::new_static("index")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1499,14 +1470,15 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
                 SmolStr::new_static("chapterView"),
                 LexUserType::Object(LexObject {
                     description: Some(CowStr::new_static("Hydrated view of a chapter.")),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("notebook"),
-                        SmolStr::new_static("authors"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("notebook"),
+                            SmolStr::new_static("authors"),
+                            SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1609,14 +1581,18 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("contentRating"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static("Author-applied content rating.")),
+                    description: Some(
+                        CowStr::new_static("Author-applied content rating."),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("contentWarning"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static("Author-applied content warning.")),
+                    description: Some(
+                        CowStr::new_static("Author-applied content warning."),
+                    ),
                     ..Default::default()
                 }),
             );
@@ -1634,13 +1610,14 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("entryView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("authors"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("authors"),
+                            SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1757,9 +1734,11 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("feedEntryView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Entry with feed-specific context (discovery reason, notebook context).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Entry with feed-specific context (discovery reason, notebook context).",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("entry")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -1793,27 +1772,22 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("feedNotebookContext"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Minimal notebook context for feed display.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("title"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Minimal notebook context for feed display."),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("title")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("path"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -1833,7 +1807,7 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
                     refs: vec![
                         CowStr::new_static("#reasonLike"),
                         CowStr::new_static("#reasonBookmark"),
-                        CowStr::new_static("#reasonSubscription"),
+                        CowStr::new_static("#reasonSubscription")
                     ],
                     ..Default::default()
                 }),
@@ -1841,13 +1815,14 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("notebookView"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("authors"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("authors"),
+                            SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -1976,16 +1951,19 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pageView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Hydrated view of a page (entries displayed together).",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("notebook"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Hydrated view of a page (entries displayed together).",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("notebook"),
+                            SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -2167,15 +2145,18 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("publishedVersionView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A published version of an entry in a collaborator's repo.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("publisher"),
-                        SmolStr::new_static("publishedAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "A published version of an entry in a collaborator's repo.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("publisher"),
+                            SmolStr::new_static("publishedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -2209,7 +2190,9 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("publisher"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2235,18 +2218,20 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("readingProgress"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Viewer's reading progress (appview-side state, not a record).",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Viewer's reading progress (appview-side state, not a record).",
+                        ),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("currentEntry"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Last entry the viewer was reading.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Last entry the viewer was reading."),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -2282,9 +2267,7 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("status"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -2294,17 +2277,18 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("reasonBookmark"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("by"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("by"), SmolStr::new_static("indexedAt")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("by"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2323,17 +2307,18 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("reasonLike"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("by"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![SmolStr::new_static("by"), SmolStr::new_static("indexedAt")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("by"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -2371,24 +2356,22 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("renderedView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "View of a rendered and cached notebook entry",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "View of a rendered and cached notebook entry",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("html")]),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("css"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("html"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map
                     },
@@ -2409,7 +2392,9 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("title"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static("The title of the notebook entry.")),
+                    description: Some(
+                        CowStr::new_static("The title of the notebook entry."),
+                    ),
                     max_length: Some(300usize),
                     ..Default::default()
                 }),
@@ -2422,7 +2407,7 @@ fn lexicon_doc_sh_weaver_notebook_defs() -> LexiconDoc<'static> {
 
 pub mod book_entry_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2527,7 +2512,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BookEntryRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BookEntryRef {
         BookEntryRef {
             entry: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -2537,7 +2525,7 @@ where
 
 pub mod book_entry_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2580,7 +2568,10 @@ pub mod book_entry_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct BookEntryViewBuilder {
+pub struct BookEntryViewBuilder<
+    St: book_entry_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -2708,7 +2699,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> BookEntryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> BookEntryView {
         BookEntryView {
             entry: self._fields.0.unwrap(),
             index: self._fields.1.unwrap(),
@@ -2721,7 +2715,7 @@ where
 
 pub mod chapter_entry_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2764,7 +2758,10 @@ pub mod chapter_entry_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ChapterEntryViewBuilder {
+pub struct ChapterEntryViewBuilder<
+    St: chapter_entry_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -2777,7 +2774,10 @@ pub struct ChapterEntryViewBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ChapterEntryViewBuilder {
+    pub fn new() -> ChapterEntryViewBuilder<
+        chapter_entry_view_state::Empty,
+        DefaultStr,
+    > {
         ChapterEntryViewBuilder::new()
     }
 }
@@ -2892,7 +2892,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ChapterEntryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ChapterEntryView {
         ChapterEntryView {
             entry: self._fields.0.unwrap(),
             index: self._fields.1.unwrap(),
@@ -2905,7 +2908,7 @@ where
 
 pub mod chapter_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3247,7 +3250,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ChapterView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ChapterView {
         ChapterView {
             authors: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -3278,7 +3284,7 @@ impl Default for ContentFormat {
 
 pub mod entry_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3411,7 +3417,20 @@ impl EntryViewBuilder {
         EntryViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -3425,7 +3444,20 @@ impl EntryViewBuilder {
         EntryViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -3531,12 +3563,18 @@ impl EntryViewBuilder {
 
 impl EntryViewBuilder {
     /// Set the `permissions` field (optional)
-    pub fn permissions(mut self, value: impl Into>>) -> Self {
+    pub fn permissions(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.6 = value.into();
         self
     }
     /// Set the `permissions` field to an Option value (optional)
-    pub fn maybe_permissions(mut self, value: Option>) -> Self {
+    pub fn maybe_permissions(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.6 = value;
         self
     }
@@ -3563,12 +3601,18 @@ where
 
 impl EntryViewBuilder {
     /// Set the `renderedView` field (optional)
-    pub fn rendered_view(mut self, value: impl Into>>) -> Self {
+    pub fn rendered_view(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.8 = value.into();
         self
     }
     /// Set the `renderedView` field to an Option value (optional)
-    pub fn maybe_rendered_view(mut self, value: Option>) -> Self {
+    pub fn maybe_rendered_view(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -3695,7 +3739,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> EntryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> EntryView {
         EntryView {
             authors: self._fields.0.unwrap(),
             bookmark_count: self._fields.1,
@@ -3719,7 +3766,7 @@ where
 
 pub mod feed_entry_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3750,7 +3797,10 @@ pub mod feed_entry_view_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct FeedEntryViewBuilder {
+pub struct FeedEntryViewBuilder<
+    St: feed_entry_view_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -3862,7 +3912,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> FeedEntryView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> FeedEntryView {
         FeedEntryView {
             entry: self._fields.0.unwrap(),
             notebook_context: self._fields.1,
@@ -3874,7 +3927,7 @@ where
 
 pub mod feed_notebook_context_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -3928,14 +3981,20 @@ pub struct FeedNotebookContextBuilder<
 
 impl FeedNotebookContext {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> FeedNotebookContextBuilder {
+    pub fn new() -> FeedNotebookContextBuilder<
+        feed_notebook_context_state::Empty,
+        DefaultStr,
+    > {
         FeedNotebookContextBuilder::new()
     }
 }
 
 impl FeedNotebookContext {
     /// Create a new builder for this type
-    pub fn builder() -> FeedNotebookContextBuilder {
+    pub fn builder() -> FeedNotebookContextBuilder<
+        feed_notebook_context_state::Empty,
+        S,
+    > {
         FeedNotebookContextBuilder::builder()
     }
 }
@@ -3962,7 +4021,10 @@ impl FeedNotebookContextBuilder FeedNotebookContextBuilder {
+impl<
+    St: feed_notebook_context_state::State,
+    S: BosStr,
+> FeedNotebookContextBuilder {
     /// Set the `path` field (optional)
     pub fn path(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -4029,7 +4091,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> FeedNotebookContext {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> FeedNotebookContext {
         FeedNotebookContext {
             path: self._fields.0,
             title: self._fields.1.unwrap(),
@@ -4041,7 +4106,7 @@ where
 
 pub mod notebook_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -4176,8 +4241,23 @@ impl NotebookViewBuilder {
         NotebookViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -4190,8 +4270,23 @@ impl NotebookViewBuilder {
         NotebookViewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -4309,12 +4404,18 @@ impl NotebookViewBuilder {
 
 impl NotebookViewBuilder {
     /// Set the `permissions` field (optional)
-    pub fn permissions(mut self, value: impl Into>>) -> Self {
+    pub fn permissions(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.7 = value.into();
         self
     }
     /// Set the `permissions` field to an Option value (optional)
-    pub fn maybe_permissions(mut self, value: Option>) -> Self {
+    pub fn maybe_permissions(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.7 = value;
         self
     }
@@ -4488,7 +4589,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> NotebookView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> NotebookView {
         NotebookView {
             authors: self._fields.0.unwrap(),
             bookmark_count: self._fields.1,
@@ -4514,7 +4618,7 @@ where
 
 pub mod page_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -4831,7 +4935,7 @@ where
 
 pub mod permission_grant_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -4904,7 +5008,10 @@ pub mod permission_grant_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PermissionGrantBuilder {
+pub struct PermissionGrantBuilder<
+    St: permission_grant_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -5046,7 +5153,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PermissionGrant {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PermissionGrant {
         PermissionGrant {
             did: self._fields.0.unwrap(),
             granted_at: self._fields.1.unwrap(),
@@ -5059,7 +5169,7 @@ where
 
 pub mod permissions_state_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5090,7 +5200,10 @@ pub mod permissions_state_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PermissionsStateBuilder {
+pub struct PermissionsStateBuilder<
+    St: permissions_state_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>>,
@@ -5156,12 +5269,18 @@ where
 
 impl PermissionsStateBuilder {
     /// Set the `viewers` field (optional)
-    pub fn viewers(mut self, value: impl Into>>>) -> Self {
+    pub fn viewers(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `viewers` field to an Option value (optional)
-    pub fn maybe_viewers(mut self, value: Option>>) -> Self {
+    pub fn maybe_viewers(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -5181,7 +5300,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PermissionsState {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PermissionsState {
         PermissionsState {
             editors: self._fields.0.unwrap(),
             viewers: self._fields.1,
@@ -5192,7 +5314,7 @@ where
 
 pub mod published_version_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5284,14 +5406,20 @@ pub struct PublishedVersionViewBuilder<
 
 impl PublishedVersionView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> PublishedVersionViewBuilder {
+    pub fn new() -> PublishedVersionViewBuilder<
+        published_version_view_state::Empty,
+        DefaultStr,
+    > {
         PublishedVersionViewBuilder::new()
     }
 }
 
 impl PublishedVersionView {
     /// Create a new builder for this type
-    pub fn builder() -> PublishedVersionViewBuilder {
+    pub fn builder() -> PublishedVersionViewBuilder<
+        published_version_view_state::Empty,
+        S,
+    > {
         PublishedVersionViewBuilder::builder()
     }
 }
@@ -5337,7 +5465,10 @@ where
     }
 }
 
-impl PublishedVersionViewBuilder {
+impl<
+    St: published_version_view_state::State,
+    S: BosStr,
+> PublishedVersionViewBuilder {
     /// Set the `divergedFrom` field (optional)
     pub fn diverged_from(mut self, value: impl Into>>) -> Self {
         self._fields.1 = value.into();
@@ -5350,7 +5481,10 @@ impl PublishedVersionViewBui
     }
 }
 
-impl PublishedVersionViewBuilder {
+impl<
+    St: published_version_view_state::State,
+    S: BosStr,
+> PublishedVersionViewBuilder {
     /// Set the `isCanonical` field (optional)
     pub fn is_canonical(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -5372,7 +5506,10 @@ where
     pub fn published_at(
         mut self,
         value: impl Into,
-    ) -> PublishedVersionViewBuilder, S> {
+    ) -> PublishedVersionViewBuilder<
+        published_version_view_state::SetPublishedAt,
+        S,
+    > {
         self._fields.3 = Option::Some(value.into());
         PublishedVersionViewBuilder {
             _state: PhantomData,
@@ -5401,7 +5538,10 @@ where
     }
 }
 
-impl PublishedVersionViewBuilder {
+impl<
+    St: published_version_view_state::State,
+    S: BosStr,
+> PublishedVersionViewBuilder {
     /// Set the `updatedAt` field (optional)
     pub fn updated_at(mut self, value: impl Into>) -> Self {
         self._fields.5 = value.into();
@@ -5474,7 +5614,7 @@ where
 
 pub mod reason_bookmark_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5517,7 +5657,10 @@ pub mod reason_bookmark_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ReasonBookmarkBuilder {
+pub struct ReasonBookmarkBuilder<
+    St: reason_bookmark_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option),
     _type: PhantomData S>,
@@ -5612,7 +5755,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReasonBookmark {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReasonBookmark {
         ReasonBookmark {
             by: self._fields.0.unwrap(),
             indexed_at: self._fields.1.unwrap(),
@@ -5623,7 +5769,7 @@ where
 
 pub mod reason_like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5761,7 +5907,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReasonLike {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReasonLike {
         ReasonLike {
             by: self._fields.0.unwrap(),
             indexed_at: self._fields.1.unwrap(),
@@ -5772,7 +5921,7 @@ where
 
 pub mod reason_subscription_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5803,7 +5952,10 @@ pub mod reason_subscription_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ReasonSubscriptionBuilder {
+pub struct ReasonSubscriptionBuilder<
+    St: reason_subscription_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option,),
     _type: PhantomData S>,
@@ -5811,7 +5963,10 @@ pub struct ReasonSubscriptionBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ReasonSubscriptionBuilder {
+    pub fn new() -> ReasonSubscriptionBuilder<
+        reason_subscription_state::Empty,
+        DefaultStr,
+    > {
         ReasonSubscriptionBuilder::new()
     }
 }
@@ -5877,7 +6032,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReasonSubscription {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReasonSubscription {
         ReasonSubscription {
             indexed_at: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
@@ -5887,7 +6045,7 @@ where
 
 pub mod rendered_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -6006,11 +6164,14 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> RenderedView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> RenderedView {
         RenderedView {
             css: self._fields.0,
             html: self._fields.1.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/authors.rs b/crates/jacquard-api/src/sh_weaver/notebook/authors.rs
index ca542dc90..afe7f11a4 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/authors.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/authors.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,19 +24,16 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::app_bsky::actor::ProfileViewBasic;
 use crate::sh_weaver::actor::ProfileView;
 use crate::sh_weaver::notebook::authors;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A single author in a Weaver notebook.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct AuthorListItem {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub index: Option,
@@ -46,6 +43,7 @@ pub struct AuthorListItem {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -149,7 +147,7 @@ impl LexiconSchema for Authors {
 
 pub mod author_list_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -180,7 +178,10 @@ pub mod author_list_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct AuthorListItemBuilder {
+pub struct AuthorListItemBuilder<
+    St: author_list_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option>),
     _type: PhantomData S>,
@@ -237,7 +238,10 @@ impl AuthorListItemBuilder
 
 impl AuthorListItemBuilder {
     /// Set the `profile` field (optional)
-    pub fn profile(mut self, value: impl Into>>) -> Self {
+    pub fn profile(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -262,7 +266,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> AuthorListItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> AuthorListItem {
         AuthorListItem {
             index: self._fields.0,
             profile: self._fields.1,
@@ -272,10 +279,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_authors() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.authors"),
@@ -284,7 +291,9 @@ fn lexicon_doc_sh_weaver_notebook_authors() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("authorListItem"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A single author in a Weaver notebook.")),
+                    description: Some(
+                        CowStr::new_static("A single author in a Weaver notebook."),
+                    ),
                     required: Some(vec![SmolStr::new_static("profile, index")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -300,7 +309,7 @@ fn lexicon_doc_sh_weaver_notebook_authors() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("app.bsky.actor.defs#profileViewBasic"),
-                                    CowStr::new_static("sh.weaver.actor.defs#profileView"),
+                                    CowStr::new_static("sh.weaver.actor.defs#profileView")
                                 ],
                                 ..Default::default()
                             }),
@@ -313,7 +322,9 @@ fn lexicon_doc_sh_weaver_notebook_authors() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("Authors of a Weaver notebook.")),
+                    description: Some(
+                        CowStr::new_static("Authors of a Weaver notebook."),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
                         required: Some(vec![SmolStr::new_static("authorList")]),
@@ -352,7 +363,7 @@ fn lexicon_doc_sh_weaver_notebook_authors() -> LexiconDoc<'static> {
 
 pub mod authors_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -478,4 +489,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/book.rs b/crates/jacquard-api/src/sh_weaver/notebook/book.rs
index 68f2b5bc2..fee9f3cde 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/book.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/book.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::actor::Author;
 use crate::sh_weaver::notebook::ContentRating;
@@ -31,9 +34,6 @@ use crate::sh_weaver::notebook::ContentWarnings;
 use crate::sh_weaver::notebook::Path;
 use crate::sh_weaver::notebook::Tags;
 use crate::sh_weaver::notebook::Title;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Authors of a Weaver notebook.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -132,7 +132,7 @@ impl LexiconSchema for Book {
 
 pub mod book_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -212,9 +212,7 @@ impl BookBuilder {
     pub fn new() -> Self {
         BookBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -225,9 +223,7 @@ impl BookBuilder {
     pub fn builder() -> Self {
         BookBuilder {
             _state: PhantomData,
-            _fields: (
-                None, None, None, None, None, None, None, None, None, None, None,
-            ),
+            _fields: (None, None, None, None, None, None, None, None, None, None, None),
             _type: PhantomData,
         }
     }
@@ -254,7 +250,10 @@ where
 
 impl BookBuilder {
     /// Set the `contentWarnings` field (optional)
-    pub fn content_warnings(mut self, value: impl Into>>) -> Self {
+    pub fn content_warnings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -431,10 +430,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_book() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.book"),
@@ -564,4 +563,4 @@ fn lexicon_doc_sh_weaver_notebook_book() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/chapter.rs b/crates/jacquard-api/src/sh_weaver/notebook/chapter.rs
index fffe1b024..fc402038b 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/chapter.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/chapter.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,15 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::actor::Author;
 use crate::sh_weaver::notebook::ContentRating;
 use crate::sh_weaver::notebook::ContentWarnings;
 use crate::sh_weaver::notebook::Tags;
 use crate::sh_weaver::notebook::Title;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A grouping of entries in a notebook.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -123,7 +123,7 @@ impl LexiconSchema for Chapter {
 
 pub mod chapter_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -252,7 +252,10 @@ where
 
 impl ChapterBuilder {
     /// Set the `contentWarnings` field (optional)
-    pub fn content_warnings(mut self, value: impl Into>>) -> Self {
+    pub fn content_warnings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
@@ -391,10 +394,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_chapter() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.chapter"),
@@ -500,4 +503,4 @@ fn lexicon_doc_sh_weaver_notebook_chapter() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/colour_scheme.rs b/crates/jacquard-api/src/sh_weaver/notebook/colour_scheme.rs
index 816bde91f..acfa211e2 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/colour_scheme.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/colour_scheme.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A colour palette for notebook theming
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -46,11 +46,9 @@ pub struct ColourScheme {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ColourSchemeColours {
     ///Primary background for page/frame
     pub base: S,
@@ -163,10 +161,10 @@ impl LexiconSchema for ColourSchemeColours {
 }
 
 fn lexicon_doc_sh_weaver_notebook_colourScheme() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.colourScheme"),
@@ -175,182 +173,185 @@ fn lexicon_doc_sh_weaver_notebook_colourScheme() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static("A colour palette for notebook theming")),
+                    description: Some(
+                        CowStr::new_static("A colour palette for notebook theming"),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("variant"),
-                            SmolStr::new_static("colours"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"), SmolStr::new_static("variant"),
+                                SmolStr::new_static("colours")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("colours"),
                                 LexObjectProperty::Object(LexObject {
-                                    required: Some(vec![
-                                        SmolStr::new_static("base"),
-                                        SmolStr::new_static("surface"),
-                                        SmolStr::new_static("overlay"),
-                                        SmolStr::new_static("text"),
-                                        SmolStr::new_static("muted"),
-                                        SmolStr::new_static("subtle"),
-                                        SmolStr::new_static("emphasis"),
-                                        SmolStr::new_static("primary"),
-                                        SmolStr::new_static("secondary"),
-                                        SmolStr::new_static("tertiary"),
-                                        SmolStr::new_static("error"),
-                                        SmolStr::new_static("warning"),
-                                        SmolStr::new_static("success"),
-                                        SmolStr::new_static("border"),
-                                        SmolStr::new_static("link"),
-                                        SmolStr::new_static("highlight"),
-                                    ]),
+                                    required: Some(
+                                        vec![
+                                            SmolStr::new_static("base"), SmolStr::new_static("surface"),
+                                            SmolStr::new_static("overlay"), SmolStr::new_static("text"),
+                                            SmolStr::new_static("muted"), SmolStr::new_static("subtle"),
+                                            SmolStr::new_static("emphasis"),
+                                            SmolStr::new_static("primary"),
+                                            SmolStr::new_static("secondary"),
+                                            SmolStr::new_static("tertiary"),
+                                            SmolStr::new_static("error"),
+                                            SmolStr::new_static("warning"),
+                                            SmolStr::new_static("success"),
+                                            SmolStr::new_static("border"), SmolStr::new_static("link"),
+                                            SmolStr::new_static("highlight")
+                                        ],
+                                    ),
                                     properties: {
                                         #[allow(unused_mut)]
                                         let mut map = BTreeMap::new();
                                         map.insert(
                                             SmolStr::new_static("base"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Primary background for page/frame",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Primary background for page/frame"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("border"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Border/divider colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Border/divider colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("emphasis"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Emphasized text (bold, important)",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Emphasized text (bold, important)"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("error"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Error state colour",
-                                                )),
+                                                description: Some(CowStr::new_static("Error state colour")),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("highlight"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Selection/highlight colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Selection/highlight colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("link"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Hyperlink colour",
-                                                )),
+                                                description: Some(CowStr::new_static("Hyperlink colour")),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("muted"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "De-emphasized text (disabled, metadata)",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static(
+                                                        "De-emphasized text (disabled, metadata)",
+                                                    ),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("overlay"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Tertiary background for popovers/dialogs",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static(
+                                                        "Tertiary background for popovers/dialogs",
+                                                    ),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("primary"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Primary brand/accent colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Primary brand/accent colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("secondary"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Secondary accent colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Secondary accent colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("subtle"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Medium emphasis text (comments, labels)",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static(
+                                                        "Medium emphasis text (comments, labels)",
+                                                    ),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("success"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Success state colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Success state colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("surface"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Secondary background for panels/cards",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Secondary background for panels/cards"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("tertiary"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Tertiary accent colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Tertiary accent colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("text"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Primary readable text colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Primary readable text colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
                                         map.insert(
                                             SmolStr::new_static("warning"),
                                             LexObjectProperty::String(LexString {
-                                                description: Some(CowStr::new_static(
-                                                    "Warning state colour",
-                                                )),
+                                                description: Some(
+                                                    CowStr::new_static("Warning state colour"),
+                                                ),
                                                 ..Default::default()
                                             }),
                                         );
@@ -362,18 +363,22 @@ fn lexicon_doc_sh_weaver_notebook_colourScheme() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Human-readable name for the colour scheme",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Human-readable name for the colour scheme",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("variant"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Whether this is a dark or light colour scheme",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Whether this is a dark or light colour scheme",
+                                        ),
+                                    ),
                                     ..Default::default()
                                 }),
                             );
@@ -392,7 +397,7 @@ fn lexicon_doc_sh_weaver_notebook_colourScheme() -> LexiconDoc<'static> {
 
 pub mod colour_scheme_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -565,7 +570,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ColourScheme {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ColourScheme {
         ColourScheme {
             colours: self._fields.0.unwrap(),
             name: self._fields.1.unwrap(),
@@ -573,4 +581,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/entry.rs b/crates/jacquard-api/src/sh_weaver/notebook/entry.rs
index 5ed9d6fe4..6de6e3898 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/entry.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/entry.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,15 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::sh_weaver::actor::Author;
 use crate::sh_weaver::notebook::ContentRating;
 use crate::sh_weaver::notebook::ContentWarnings;
 use crate::sh_weaver::notebook::Path;
 use crate::sh_weaver::notebook::Tags;
 use crate::sh_weaver::notebook::Title;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A notebook entry
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -70,10 +70,7 @@ pub struct Entry {
 /// The set of images and records, if any, embedded in the notebook entry.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EntryEmbeds {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub externals: Option>,
@@ -82,8 +79,9 @@ pub struct EntryEmbeds {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub records: Option>,
     #[serde(skip_serializing_if = "Option::is_none")]
-    pub records_with_media:
-        Option>>,
+    pub records_with_media: Option<
+        Vec>,
+    >,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub videos: Option>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -165,10 +163,10 @@ impl LexiconSchema for EntryEmbeds {
 }
 
 fn lexicon_doc_sh_weaver_notebook_entry() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.entry"),
@@ -345,7 +343,7 @@ fn lexicon_doc_sh_weaver_notebook_entry() -> LexiconDoc<'static> {
 
 pub mod entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -490,7 +488,10 @@ where
     St::Content: entry_state::IsUnset,
 {
     /// Set the `content` field (required)
-    pub fn content(mut self, value: impl Into) -> EntryBuilder, S> {
+    pub fn content(
+        mut self,
+        value: impl Into,
+    ) -> EntryBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         EntryBuilder {
             _state: PhantomData,
@@ -502,7 +503,10 @@ where
 
 impl EntryBuilder {
     /// Set the `contentWarnings` field (optional)
-    pub fn content_warnings(mut self, value: impl Into>>) -> Self {
+    pub fn content_warnings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -551,7 +555,10 @@ where
     St::Path: entry_state::IsUnset,
 {
     /// Set the `path` field (required)
-    pub fn path(mut self, value: impl Into>) -> EntryBuilder, S> {
+    pub fn path(
+        mut self,
+        value: impl Into>,
+    ) -> EntryBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         EntryBuilder {
             _state: PhantomData,
@@ -659,4 +666,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_book_entry.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_book_entry.rs
index d0af20b0e..af7589521 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_book_entry.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_book_entry.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::BookEntryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::BookEntryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBookEntry {
     /// Defaults to `0`. Min: 0.
     #[serde(default = "_default_index")]
@@ -31,11 +28,9 @@ pub struct GetBookEntry {
     pub notebook: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetBookEntryOutput {
     #[serde(flatten)]
     pub value: BookEntryView,
@@ -43,9 +38,18 @@ pub struct GetBookEntryOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetBookEntryError {
     #[serde(rename = "NotebookNotFound")]
@@ -54,10 +58,7 @@ pub enum GetBookEntryError {
     EntryNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetBookEntryError {
@@ -122,7 +123,7 @@ fn _default_index() -> Option {
 
 pub mod get_book_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -239,4 +240,4 @@ where
             notebook: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_chapter.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_chapter.rs
index 3c075cbb2..a01bcb580 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_chapter.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_chapter.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::ChapterEntryView;
-use crate::sh_weaver::notebook::ChapterView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::ChapterEntryView;
+use crate::sh_weaver::notebook::ChapterView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetChapter {
     pub chapter: AtUri,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -34,11 +31,9 @@ pub struct GetChapter {
     pub entry_limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetChapterOutput {
     pub chapter: ChapterView,
     pub entries: Vec>,
@@ -48,19 +43,25 @@ pub struct GetChapterOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetChapterError {
     #[serde(rename = "ChapterNotFound")]
     ChapterNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetChapterError {
@@ -118,7 +119,7 @@ fn _default_entry_limit() -> Option {
 
 pub mod get_chapter_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -249,4 +250,4 @@ where
             entry_limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_continue_reading.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_continue_reading.rs
index 03a5cbb18..45e5bad10 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_continue_reading.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_continue_reading.rs
@@ -10,11 +10,11 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -25,11 +25,9 @@ pub struct GetContinueReading {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetContinueReadingOutput {
     pub items: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -70,7 +68,7 @@ fn _default_limit() -> Option {
 
 pub mod get_continue_reading_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -143,4 +141,4 @@ where
             limit: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_entry.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_entry.rs
index 0a986f594..ba106ca82 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_entry.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_entry.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::EntryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::EntryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntry {
     pub uri: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryOutput {
     #[serde(flatten)]
     pub value: EntryView,
@@ -39,19 +34,25 @@ pub struct GetEntryOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetEntryError {
     #[serde(rename = "EntryNotFound")]
     EntryNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetEntryError {
@@ -105,7 +106,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEntryRequest {
 
 pub mod get_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -208,4 +209,4 @@ where
             uri: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_by_title.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_by_title.rs
index 0c4fc4f12..5c14deaf8 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_by_title.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_by_title.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::BookEntryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::BookEntryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryByTitle {
     pub notebook: AtUri,
     pub title: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryByTitleOutput {
     pub entry: BookEntryView,
     ///The raw entry record data.
@@ -41,9 +36,18 @@ pub struct GetEntryByTitleOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetEntryByTitleError {
     #[serde(rename = "NotebookNotFound")]
@@ -52,10 +56,7 @@ pub enum GetEntryByTitleError {
     EntryNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetEntryByTitleError {
@@ -116,7 +117,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEntryByTitleRequest {
 
 pub mod get_entry_by_title_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -159,7 +160,10 @@ pub mod get_entry_by_title_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetEntryByTitleBuilder {
+pub struct GetEntryByTitleBuilder<
+    St: get_entry_by_title_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option),
     _type: PhantomData S>,
@@ -252,4 +256,4 @@ where
             title: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_detail.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_detail.rs
index fc1c56305..8343b25f1 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_detail.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_detail.rs
@@ -8,33 +8,28 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::EntryView;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::EntryView;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryDetail {
     pub entry: AtUri,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub notebook_context: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryDetailOutput {
     pub entry: EntryView,
     pub notebook_count: i64,
@@ -45,19 +40,25 @@ pub struct GetEntryDetailOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetEntryDetailError {
     #[serde(rename = "EntryNotFound")]
     EntryNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetEntryDetailError {
@@ -111,7 +112,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEntryDetailRequest {
 
 pub mod get_entry_detail_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -142,7 +143,10 @@ pub mod get_entry_detail_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetEntryDetailBuilder {
+pub struct GetEntryDetailBuilder<
+    St: get_entry_detail_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>),
     _type: PhantomData S>,
@@ -228,4 +232,4 @@ where
             notebook_context: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_feed.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_feed.rs
index 508c4af5c..5fceb6b78 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_feed.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::FeedEntryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::FeedEntryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryFeed {
     /// Defaults to `"chronological"`.
     #[serde(default = "_default_algorithm")]
@@ -40,11 +37,9 @@ pub struct GetEntryFeed {
     pub tags: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -91,7 +86,7 @@ fn _default_limit() -> Option {
 
 pub mod get_entry_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -111,13 +106,7 @@ pub mod get_entry_feed_state {
 /// Builder for constructing an instance of this type.
 pub struct GetEntryFeedBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -236,4 +225,4 @@ where
             tags: self._fields.4,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_notebooks.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_notebooks.rs
index 500e9de0c..c6aec5cb8 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_entry_notebooks.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_entry_notebooks.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -21,26 +21,21 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::sh_weaver::actor::ProfileViewBasic;
-use crate::sh_weaver::notebook::get_entry_notebooks;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::actor::ProfileViewBasic;
+use crate::sh_weaver::notebook::get_entry_notebooks;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryNotebooks {
     pub entry: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetEntryNotebooksOutput {
     pub notebooks: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -50,10 +45,7 @@ pub struct GetEntryNotebooksOutput {
 /// Reference to a notebook containing this entry.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotebookRef {
     pub cid: Cid,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -110,7 +102,7 @@ impl LexiconSchema for NotebookRef {
 
 pub mod get_entry_notebooks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -141,7 +133,10 @@ pub mod get_entry_notebooks_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetEntryNotebooksBuilder {
+pub struct GetEntryNotebooksBuilder<
+    St: get_entry_notebooks_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -149,7 +144,10 @@ pub struct GetEntryNotebooksBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetEntryNotebooksBuilder {
+    pub fn new() -> GetEntryNotebooksBuilder<
+        get_entry_notebooks_state::Empty,
+        DefaultStr,
+    > {
         GetEntryNotebooksBuilder::new()
     }
 }
@@ -217,7 +215,7 @@ where
 
 pub mod notebook_ref_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -262,12 +260,7 @@ pub mod notebook_ref_state {
 /// Builder for constructing an instance of this type.
 pub struct NotebookRefBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -388,7 +381,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> NotebookRef {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> NotebookRef {
         NotebookRef {
             cid: self._fields.0.unwrap(),
             owner: self._fields.1,
@@ -400,10 +396,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_getEntryNotebooks() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.getEntryNotebooks"),
@@ -412,33 +408,41 @@ fn lexicon_doc_sh_weaver_notebook_getEntryNotebooks() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        required: Some(vec![SmolStr::new_static("entry")]),
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("entry"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static("AT URI of the entry")),
-                                    format: Some(LexStringFormat::AtUri),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            required: Some(vec![SmolStr::new_static("entry")]),
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("entry"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("AT URI of the entry"),
+                                        ),
+                                        format: Some(LexStringFormat::AtUri),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("notebookRef"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Reference to a notebook containing this entry.",
-                    )),
-                    required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Reference to a notebook containing this entry.",
+                        ),
+                    ),
+                    required: Some(
+                        vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -452,15 +456,15 @@ fn lexicon_doc_sh_weaver_notebook_getEntryNotebooks() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("owner"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("title"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("uri"),
@@ -478,4 +482,4 @@ fn lexicon_doc_sh_weaver_notebook_getEntryNotebooks() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook.rs
index ddec0d1b5..b05789eac 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebook {
     pub notebook: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookOutput {
     pub entries: Vec>,
     pub notebook: NotebookView,
@@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetNotebookRequest {
 
 pub mod get_notebook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -173,4 +168,4 @@ where
             notebook: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_by_title.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_by_title.rs
index 5fdb50753..e2a296f89 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_by_title.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_by_title.rs
@@ -8,32 +8,27 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookByTitle {
     pub actor: AtIdentifier,
     pub title: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookByTitleOutput {
     pub entries: Vec>,
     pub notebook: NotebookView,
@@ -41,19 +36,25 @@ pub struct GetNotebookByTitleOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetNotebookByTitleError {
     #[serde(rename = "NotebookNotFound")]
     NotebookNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetNotebookByTitleError {
@@ -107,7 +108,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetNotebookByTitleRequest {
 
 pub mod get_notebook_by_title_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -150,8 +151,10 @@ pub mod get_notebook_by_title_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetNotebookByTitleBuilder
-{
+pub struct GetNotebookByTitleBuilder<
+    St: get_notebook_by_title_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option),
     _type: PhantomData S>,
@@ -159,14 +162,20 @@ pub struct GetNotebookByTitleBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetNotebookByTitleBuilder {
+    pub fn new() -> GetNotebookByTitleBuilder<
+        get_notebook_by_title_state::Empty,
+        DefaultStr,
+    > {
         GetNotebookByTitleBuilder::new()
     }
 }
 
 impl GetNotebookByTitle {
     /// Create a new builder for this type
-    pub fn builder() -> GetNotebookByTitleBuilder {
+    pub fn builder() -> GetNotebookByTitleBuilder<
+        get_notebook_by_title_state::Empty,
+        S,
+    > {
         GetNotebookByTitleBuilder::builder()
     }
 }
@@ -244,4 +253,4 @@ where
             title: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_chapters.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_chapters.rs
index 5036f7ef6..bdfa0c1eb 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_chapters.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_chapters.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::ChapterView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::ChapterView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookChapters {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct GetNotebookChapters {
     pub notebook: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookChaptersOutput {
     pub chapters: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -80,7 +75,7 @@ fn _default_limit() -> Option {
 
 pub mod get_notebook_chapters_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -122,14 +117,20 @@ pub struct GetNotebookChaptersBuilder<
 
 impl GetNotebookChapters {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetNotebookChaptersBuilder {
+    pub fn new() -> GetNotebookChaptersBuilder<
+        get_notebook_chapters_state::Empty,
+        DefaultStr,
+    > {
         GetNotebookChaptersBuilder::new()
     }
 }
 
 impl GetNotebookChapters {
     /// Create a new builder for this type
-    pub fn builder() -> GetNotebookChaptersBuilder {
+    pub fn builder() -> GetNotebookChaptersBuilder<
+        get_notebook_chapters_state::Empty,
+        S,
+    > {
         GetNotebookChaptersBuilder::builder()
     }
 }
@@ -156,7 +157,10 @@ impl GetNotebookChaptersBuilder GetNotebookChaptersBuilder {
+impl<
+    St: get_notebook_chapters_state::State,
+    S: BosStr,
+> GetNotebookChaptersBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -169,7 +173,10 @@ impl GetNotebookChaptersBuild
     }
 }
 
-impl GetNotebookChaptersBuilder {
+impl<
+    St: get_notebook_chapters_state::State,
+    S: BosStr,
+> GetNotebookChaptersBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -214,4 +221,4 @@ where
             notebook: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_detail.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_detail.rs
index 665b99ef9..793b2985d 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_detail.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_detail.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::BookEntryView;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::BookEntryView;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookDetail {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub entry_cursor: Option,
@@ -34,11 +31,9 @@ pub struct GetNotebookDetail {
     pub notebook: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookDetailOutput {
     pub entries: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -48,19 +43,25 @@ pub struct GetNotebookDetailOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetNotebookDetailError {
     #[serde(rename = "NotebookNotFound")]
     NotebookNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetNotebookDetailError {
@@ -118,7 +119,7 @@ fn _default_entry_limit() -> Option {
 
 pub mod get_notebook_detail_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -149,7 +150,10 @@ pub mod get_notebook_detail_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetNotebookDetailBuilder {
+pub struct GetNotebookDetailBuilder<
+    St: get_notebook_detail_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>),
     _type: PhantomData S>,
@@ -157,7 +161,10 @@ pub struct GetNotebookDetailBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetNotebookDetailBuilder {
+    pub fn new() -> GetNotebookDetailBuilder<
+        get_notebook_detail_state::Empty,
+        DefaultStr,
+    > {
         GetNotebookDetailBuilder::new()
     }
 }
@@ -249,4 +256,4 @@ where
             notebook: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_feed.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_feed.rs
index 636484e5e..07464cb33 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_feed.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_notebook_feed.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookFeed {
     /// Defaults to `"chronological"`.
     #[serde(default = "_default_algorithm")]
@@ -40,11 +37,9 @@ pub struct GetNotebookFeed {
     pub tags: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetNotebookFeedOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -91,7 +86,7 @@ fn _default_limit() -> Option {
 
 pub mod get_notebook_feed_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -109,15 +104,12 @@ pub mod get_notebook_feed_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetNotebookFeedBuilder {
+pub struct GetNotebookFeedBuilder<
+    St: get_notebook_feed_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option,
-        Option>,
-        Option,
-        Option>,
-    ),
+    _fields: (Option, Option, Option>, Option, Option>),
     _type: PhantomData S>,
 }
 
@@ -236,4 +228,4 @@ where
             tags: self._fields.4,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_page.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_page.rs
index 2f5196b81..dd1e41e18 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_page.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_page.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::EntryView;
-use crate::sh_weaver::notebook::PageView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::EntryView;
+use crate::sh_weaver::notebook::PageView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPage {
     pub page: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPageOutput {
     pub entries: Vec>,
     pub page: PageView,
@@ -40,19 +35,25 @@ pub struct GetPageOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum GetPageError {
     #[serde(rename = "PageNotFound")]
     PageNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for GetPageError {
@@ -106,7 +107,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPageRequest {
 
 pub mod get_page_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -209,4 +210,4 @@ where
             page: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_published_versions.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_published_versions.rs
index f9065c5bd..f66be3766 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_published_versions.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_published_versions.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::PublishedVersionView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::PublishedVersionView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPublishedVersions {
     pub entry: AtUri,
     ///  Defaults to `false`.
@@ -31,11 +28,9 @@ pub struct GetPublishedVersions {
     pub include_content: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPublishedVersionsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub canonical: Option>,
@@ -83,7 +78,7 @@ fn _default_include_content() -> Option {
 
 pub mod get_published_versions_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -125,14 +120,20 @@ pub struct GetPublishedVersionsBuilder<
 
 impl GetPublishedVersions {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetPublishedVersionsBuilder {
+    pub fn new() -> GetPublishedVersionsBuilder<
+        get_published_versions_state::Empty,
+        DefaultStr,
+    > {
         GetPublishedVersionsBuilder::new()
     }
 }
 
 impl GetPublishedVersions {
     /// Create a new builder for this type
-    pub fn builder() -> GetPublishedVersionsBuilder {
+    pub fn builder() -> GetPublishedVersionsBuilder<
+        get_published_versions_state::Empty,
+        S,
+    > {
         GetPublishedVersionsBuilder::builder()
     }
 }
@@ -178,7 +179,10 @@ where
     }
 }
 
-impl GetPublishedVersionsBuilder {
+impl<
+    St: get_published_versions_state::State,
+    S: BosStr,
+> GetPublishedVersionsBuilder {
     /// Set the `includeContent` field (optional)
     pub fn include_content(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -203,4 +207,4 @@ where
             include_content: self._fields.1,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_reading_history.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_reading_history.rs
index 77d5a17e9..933dc806a 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_reading_history.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_reading_history.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,19 +20,16 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::sh_weaver::notebook::EntryView;
 use crate::sh_weaver::notebook::NotebookView;
 use crate::sh_weaver::notebook::ReadingProgress;
 use crate::sh_weaver::notebook::get_reading_history;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetReadingHistory {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -46,11 +43,9 @@ pub struct GetReadingHistory {
     pub status: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetReadingHistoryOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -59,11 +54,9 @@ pub struct GetReadingHistoryOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ReadingHistoryItem {
     ///The entry the user was last reading.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -127,7 +120,7 @@ fn _default_status() -> Option {
 
 pub mod get_reading_history_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -145,7 +138,10 @@ pub mod get_reading_history_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetReadingHistoryBuilder {
+pub struct GetReadingHistoryBuilder<
+    St: get_reading_history_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -153,7 +149,10 @@ pub struct GetReadingHistoryBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetReadingHistoryBuilder {
+    pub fn new() -> GetReadingHistoryBuilder<
+        get_reading_history_state::Empty,
+        DefaultStr,
+    > {
         GetReadingHistoryBuilder::new()
     }
 }
@@ -242,7 +241,7 @@ where
 
 pub mod reading_history_item_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -285,20 +284,21 @@ pub mod reading_history_item_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ReadingHistoryItemBuilder
-{
+pub struct ReadingHistoryItemBuilder<
+    St: reading_history_item_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option>),
     _type: PhantomData S>,
 }
 
 impl ReadingHistoryItem {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ReadingHistoryItemBuilder {
+    pub fn new() -> ReadingHistoryItemBuilder<
+        reading_history_item_state::Empty,
+        DefaultStr,
+    > {
         ReadingHistoryItemBuilder::new()
     }
 }
@@ -399,7 +399,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ReadingHistoryItem {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ReadingHistoryItem {
         ReadingHistoryItem {
             current_entry: self._fields.0,
             notebook: self._fields.1.unwrap(),
@@ -410,10 +413,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_getReadingHistory() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.getReadingHistory"),
@@ -422,59 +425,67 @@ fn lexicon_doc_sh_weaver_notebook_getReadingHistory() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("cursor"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map.insert(
-                                SmolStr::new_static("status"),
-                                LexXrpcParametersProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Filter by reading status.",
-                                    )),
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("cursor"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map.insert(
+                                    SmolStr::new_static("status"),
+                                    LexXrpcParametersProperty::String(LexString {
+                                        description: Some(
+                                            CowStr::new_static("Filter by reading status."),
+                                        ),
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("readingHistoryItem"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("notebook"),
-                        SmolStr::new_static("progress"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("notebook"),
+                            SmolStr::new_static("progress")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("currentEntry"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.notebook.defs#entryView"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.notebook.defs#entryView",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("notebook"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.notebook.defs#notebookView"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.notebook.defs#notebookView",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -496,4 +507,4 @@ fn lexicon_doc_sh_weaver_notebook_getReadingHistory() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_similar_notebooks.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_similar_notebooks.rs
index 91023b850..88178336a 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_similar_notebooks.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_similar_notebooks.rs
@@ -10,18 +10,15 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSimilarNotebooks {
     /// Defaults to `10`. Min: 1. Max: 50.
     #[serde(default = "_default_limit")]
@@ -30,11 +27,9 @@ pub struct GetSimilarNotebooks {
     pub notebook: AtUri,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSimilarNotebooksOutput {
     pub notebooks: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -75,7 +70,7 @@ fn _default_limit() -> Option {
 
 pub mod get_similar_notebooks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -117,14 +112,20 @@ pub struct GetSimilarNotebooksBuilder<
 
 impl GetSimilarNotebooks {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetSimilarNotebooksBuilder {
+    pub fn new() -> GetSimilarNotebooksBuilder<
+        get_similar_notebooks_state::Empty,
+        DefaultStr,
+    > {
         GetSimilarNotebooksBuilder::new()
     }
 }
 
 impl GetSimilarNotebooks {
     /// Create a new builder for this type
-    pub fn builder() -> GetSimilarNotebooksBuilder {
+    pub fn builder() -> GetSimilarNotebooksBuilder<
+        get_similar_notebooks_state::Empty,
+        S,
+    > {
         GetSimilarNotebooksBuilder::builder()
     }
 }
@@ -151,7 +152,10 @@ impl GetSimilarNotebooksBuilder GetSimilarNotebooksBuilder {
+impl<
+    St: get_similar_notebooks_state::State,
+    S: BosStr,
+> GetSimilarNotebooksBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -195,4 +199,4 @@ where
             notebook: self._fields.1.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/get_suggested_notebooks.rs b/crates/jacquard-api/src/sh_weaver/notebook/get_suggested_notebooks.rs
index 6d08e5d85..47587e1d5 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/get_suggested_notebooks.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/get_suggested_notebooks.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -20,13 +20,13 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::sh_weaver::actor::ProfileViewBasic;
 use crate::sh_weaver::graph::ListView;
 use crate::sh_weaver::notebook::NotebookView;
 use crate::sh_weaver::notebook::get_suggested_notebooks;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -37,22 +37,18 @@ pub struct GetSuggestedNotebooks {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSuggestedNotebooksOutput {
     pub notebooks: Vec>,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SuggestedNotebook {
     pub notebook: NotebookView,
     pub reason: get_suggested_notebooks::SuggestionReason,
@@ -66,10 +62,7 @@ pub struct SuggestedNotebook {
 /// Why this notebook was suggested.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SuggestionReason {
     ///If followed-author, the author.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -88,6 +81,7 @@ pub struct SuggestionReason {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum SuggestionReasonType {
     SimilarTags,
@@ -180,7 +174,9 @@ where
             SuggestionReasonType::PopularInTag => SuggestionReasonType::PopularInTag,
             SuggestionReasonType::Trending => SuggestionReasonType::Trending,
             SuggestionReasonType::FromList => SuggestionReasonType::FromList,
-            SuggestionReasonType::Other(v) => SuggestionReasonType::Other(v.into_static()),
+            SuggestionReasonType::Other(v) => {
+                SuggestionReasonType::Other(v.into_static())
+            }
         }
     }
 }
@@ -249,7 +245,7 @@ fn _default_limit() -> Option {
 
 pub mod get_suggested_notebooks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -326,7 +322,7 @@ where
 
 pub mod suggested_notebook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -369,7 +365,10 @@ pub mod suggested_notebook_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SuggestedNotebookBuilder {
+pub struct SuggestedNotebookBuilder<
+    St: suggested_notebook_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -381,7 +380,10 @@ pub struct SuggestedNotebookBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SuggestedNotebookBuilder {
+    pub fn new() -> SuggestedNotebookBuilder<
+        suggested_notebook_state::Empty,
+        DefaultStr,
+    > {
         SuggestedNotebookBuilder::new()
     }
 }
@@ -482,7 +484,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> SuggestedNotebook {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> SuggestedNotebook {
         SuggestedNotebook {
             notebook: self._fields.0.unwrap(),
             reason: self._fields.1.unwrap(),
@@ -493,10 +498,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_getSuggestedNotebooks() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.getSuggestedNotebooks"),
@@ -505,37 +510,43 @@ fn lexicon_doc_sh_weaver_notebook_getSuggestedNotebooks() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::XrpcQuery(LexXrpcQuery {
-                    parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters {
-                        properties: {
-                            #[allow(unused_mut)]
-                            let mut map = BTreeMap::new();
-                            map.insert(
-                                SmolStr::new_static("limit"),
-                                LexXrpcParametersProperty::Integer(LexInteger {
-                                    ..Default::default()
-                                }),
-                            );
-                            map
-                        },
-                        ..Default::default()
-                    })),
+                    parameters: Some(
+                        LexXrpcQueryParameter::Params(LexXrpcParameters {
+                            properties: {
+                                #[allow(unused_mut)]
+                                let mut map = BTreeMap::new();
+                                map.insert(
+                                    SmolStr::new_static("limit"),
+                                    LexXrpcParametersProperty::Integer(LexInteger {
+                                        ..Default::default()
+                                    }),
+                                );
+                                map
+                            },
+                            ..Default::default()
+                        }),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("suggestedNotebook"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("notebook"),
-                        SmolStr::new_static("reason"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("notebook"),
+                            SmolStr::new_static("reason")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("notebook"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.notebook.defs#notebookView"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.notebook.defs#notebookView",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -560,7 +571,9 @@ fn lexicon_doc_sh_weaver_notebook_getSuggestedNotebooks() -> LexiconDoc<'static>
             map.insert(
                 SmolStr::new_static("suggestionReason"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Why this notebook was suggested.")),
+                    description: Some(
+                        CowStr::new_static("Why this notebook was suggested."),
+                    ),
                     required: Some(vec![SmolStr::new_static("type")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -568,7 +581,9 @@ fn lexicon_doc_sh_weaver_notebook_getSuggestedNotebooks() -> LexiconDoc<'static>
                         map.insert(
                             SmolStr::new_static("relatedAuthor"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -582,7 +597,9 @@ fn lexicon_doc_sh_weaver_notebook_getSuggestedNotebooks() -> LexiconDoc<'static>
                         map.insert(
                             SmolStr::new_static("relatedNotebook"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.notebook.defs#notebookView"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.notebook.defs#notebookView",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -598,9 +615,7 @@ fn lexicon_doc_sh_weaver_notebook_getSuggestedNotebooks() -> LexiconDoc<'static>
                         );
                         map.insert(
                             SmolStr::new_static("type"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -611,4 +626,4 @@ fn lexicon_doc_sh_weaver_notebook_getSuggestedNotebooks() -> LexiconDoc<'static>
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/page.rs b/crates/jacquard-api/src/sh_weaver/notebook/page.rs
index 50f0a8f7e..ca10fc7b5 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/page.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/page.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,12 +24,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::sh_weaver::notebook::Tags;
 use crate::sh_weaver::notebook::Title;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A grouping of entries in a notebook, intended to be displayed as a single page.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -115,7 +115,7 @@ impl LexiconSchema for Page {
 
 pub mod page_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -329,10 +329,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_page() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.page"),
@@ -412,4 +412,4 @@ fn lexicon_doc_sh_weaver_notebook_page() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/resolve_entry.rs b/crates/jacquard-api/src/sh_weaver/notebook/resolve_entry.rs
index 2797fe1db..7eb01acdf 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/resolve_entry.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/resolve_entry.rs
@@ -8,33 +8,28 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::EntryView;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::EntryView;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveEntry {
     pub actor: AtIdentifier,
     pub entry: S,
     pub notebook: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveEntryOutput {
     pub entry: EntryView,
     pub notebook_count: i64,
@@ -45,9 +40,18 @@ pub struct ResolveEntryOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ResolveEntryError {
     #[serde(rename = "NotebookNotFound")]
@@ -56,10 +60,7 @@ pub enum ResolveEntryError {
     EntryNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ResolveEntryError {
@@ -120,7 +121,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveEntryRequest {
 
 pub mod resolve_entry_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -291,4 +292,4 @@ where
             notebook: self._fields.2.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/resolve_notebook.rs b/crates/jacquard-api/src/sh_weaver/notebook/resolve_notebook.rs
index 139fe12b5..f3c309fc4 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/resolve_notebook.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/resolve_notebook.rs
@@ -8,22 +8,19 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::BookEntryView;
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::BookEntryView;
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveNotebook {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -35,11 +32,9 @@ pub struct ResolveNotebook {
     pub name: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveNotebookOutput {
     pub entries: Vec>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -49,19 +44,25 @@ pub struct ResolveNotebookOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ResolveNotebookError {
     #[serde(rename = "NotebookNotFound")]
     NotebookNotFound(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ResolveNotebookError {
@@ -119,7 +120,7 @@ fn _default_entry_limit() -> Option {
 
 pub mod resolve_notebook_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -162,7 +163,10 @@ pub mod resolve_notebook_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ResolveNotebookBuilder {
+pub struct ResolveNotebookBuilder<
+    St: resolve_notebook_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
@@ -283,4 +287,4 @@ where
             name: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/resolve_version_conflict.rs b/crates/jacquard-api/src/sh_weaver/notebook/resolve_version_conflict.rs
index 27e65d872..f8f5a729a 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/resolve_version_conflict.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/resolve_version_conflict.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::collab::CollaborationStateView;
-use crate::sh_weaver::notebook::PublishedVersionView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::{IntoStatic, open_union};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::collab::CollaborationStateView;
+use crate::sh_weaver::notebook::PublishedVersionView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveVersionConflict {
     pub uris: Vec>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ResolveVersionConflictOutput {
     pub canonical: PublishedVersionView,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -42,9 +37,18 @@ pub struct ResolveVersionConflictOutput {
     pub extra_data: Option>>,
 }
 
+
 #[derive(
-    Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
+    Serialize,
+    Deserialize,
+    Debug,
+    Clone,
+    PartialEq,
+    Eq,
+    thiserror::Error,
+    miette::Diagnostic
 )]
+
 #[serde(tag = "error", content = "message")]
 pub enum ResolveVersionConflictError {
     /// The URIs don't appear to be related versions
@@ -52,10 +56,7 @@ pub enum ResolveVersionConflictError {
     NoRelatedVersions(Option),
     /// Catch-all for unknown error codes.
     #[serde(untagged)]
-    Other {
-        error: SmolStr,
-        message: Option,
-    },
+    Other { error: SmolStr, message: Option },
 }
 
 impl core::fmt::Display for ResolveVersionConflictError {
@@ -109,7 +110,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveVersionConflictRequest {
 
 pub mod resolve_version_conflict_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -151,15 +152,20 @@ pub struct ResolveVersionConflictBuilder<
 
 impl ResolveVersionConflict {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ResolveVersionConflictBuilder
-    {
+    pub fn new() -> ResolveVersionConflictBuilder<
+        resolve_version_conflict_state::Empty,
+        DefaultStr,
+    > {
         ResolveVersionConflictBuilder::new()
     }
 }
 
 impl ResolveVersionConflict {
     /// Create a new builder for this type
-    pub fn builder() -> ResolveVersionConflictBuilder {
+    pub fn builder() -> ResolveVersionConflictBuilder<
+        resolve_version_conflict_state::Empty,
+        S,
+    > {
         ResolveVersionConflictBuilder::builder()
     }
 }
@@ -216,4 +222,4 @@ where
             uris: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/search_entries.rs b/crates/jacquard-api/src/sh_weaver/notebook/search_entries.rs
index fdf99167e..24199f4d9 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/search_entries.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/search_entries.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::EntryView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::EntryView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchEntries {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -37,11 +34,9 @@ pub struct SearchEntries {
     pub tags: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchEntriesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -84,7 +79,7 @@ fn _default_limit() -> Option {
 
 pub mod search_entries_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -115,7 +110,10 @@ pub mod search_entries_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SearchEntriesBuilder {
+pub struct SearchEntriesBuilder<
+    St: search_entries_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -249,4 +247,4 @@ where
             tags: self._fields.4,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/search_notebooks.rs b/crates/jacquard-api/src/sh_weaver/notebook/search_notebooks.rs
index 07288bcb0..27344347d 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/search_notebooks.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/search_notebooks.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::NotebookView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::NotebookView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchNotebooks {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub author: Option>,
@@ -43,11 +40,9 @@ pub struct SearchNotebooks {
     pub tags: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchNotebooksOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -94,7 +89,7 @@ fn _default_sort() -> Option {
 
 pub mod search_notebooks_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -125,7 +120,10 @@ pub mod search_notebooks_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SearchNotebooksBuilder {
+pub struct SearchNotebooksBuilder<
+    St: search_notebooks_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>,
@@ -289,4 +287,4 @@ where
             tags: self._fields.6,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/theme.rs b/crates/jacquard-api/src/sh_weaver/notebook/theme.rs
index 1b704a863..aacb2282e 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/theme.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/theme.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Did};
+use jacquard_common::types::string::{Did, AtUri, Cid};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -25,18 +25,15 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
-use crate::sh_weaver::notebook::theme;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
+use crate::sh_weaver::notebook::theme;
 /// Custom syntax highlighting theme file (sublime text/textmate theme format)
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct CodeThemeFile {
     pub content: BlobRef,
     pub did: Did,
@@ -48,10 +45,7 @@ pub struct CodeThemeFile {
 pub type CodeThemeName = S;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Font {
     ///Font for a notebook
     pub value: FontValue,
@@ -59,6 +53,7 @@ pub struct Font {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -72,10 +67,7 @@ pub enum FontValue {
 /// Custom woff(2) or ttf font file
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct FontFile {
     pub content: BlobRef,
     pub did: Did,
@@ -114,6 +106,7 @@ pub struct Theme {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -127,10 +120,7 @@ pub enum ThemeDarkCodeTheme {
 /// Fonts to be used in the notebook. Can specify a name or list of names (will load if available) or a file or list of files for each. Empty lists will use site defaults.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ThemeFonts {
     pub body: Vec>,
     pub heading: Vec>,
@@ -139,6 +129,7 @@ pub struct ThemeFonts {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -149,11 +140,9 @@ pub enum ThemeLightCodeTheme {
     CodeThemeFile(Box>),
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ThemeSpacing {
     pub base_size: S,
     pub line_height: S,
@@ -208,16 +197,19 @@ impl LexiconSchema for CodeThemeFile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("content"),
@@ -275,16 +267,19 @@ impl LexiconSchema for FontFile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("content"),
@@ -342,7 +337,7 @@ impl LexiconSchema for Theme {
 
 pub mod code_theme_file_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -399,7 +394,10 @@ pub mod code_theme_file_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct CodeThemeFileBuilder {
+pub struct CodeThemeFileBuilder<
+    St: code_theme_file_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option>, Option),
     _type: PhantomData S>,
@@ -515,7 +513,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> CodeThemeFile {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> CodeThemeFile {
         CodeThemeFile {
             content: self._fields.0.unwrap(),
             did: self._fields.1.unwrap(),
@@ -526,10 +527,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notebook_theme() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notebook.theme"),
@@ -574,9 +575,7 @@ fn lexicon_doc_sh_weaver_notebook_theme() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("codeThemeName"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("font"),
@@ -588,10 +587,12 @@ fn lexicon_doc_sh_weaver_notebook_theme() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("value"),
                             LexObjectProperty::Union(LexRefUnion {
-                                description: Some(CowStr::new_static("Font for a notebook")),
+                                description: Some(
+                                    CowStr::new_static("Font for a notebook"),
+                                ),
                                 refs: vec![
                                     CowStr::new_static("#fontName"),
-                                    CowStr::new_static("#fontFile"),
+                                    CowStr::new_static("#fontFile")
                                 ],
                                 ..Default::default()
                             }),
@@ -604,20 +605,21 @@ fn lexicon_doc_sh_weaver_notebook_theme() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("fontFile"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("Custom woff(2) or ttf font file")),
-                    required: Some(vec![
-                        SmolStr::new_static("name"),
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("content"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("Custom woff(2) or ttf font file"),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("name"), SmolStr::new_static("did"),
+                            SmolStr::new_static("content")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("content"),
-                            LexObjectProperty::Blob(LexBlob {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                         );
                         map.insert(
                             SmolStr::new_static("did"),
@@ -628,9 +630,7 @@ fn lexicon_doc_sh_weaver_notebook_theme() -> LexiconDoc<'static> {
                         );
                         map.insert(
                             SmolStr::new_static("name"),
-                            LexObjectProperty::String(LexString {
-                                ..Default::default()
-                            }),
+                            LexObjectProperty::String(LexString { ..Default::default() }),
                         );
                         map
                     },
@@ -639,9 +639,7 @@ fn lexicon_doc_sh_weaver_notebook_theme() -> LexiconDoc<'static> {
             );
             map.insert(
                 SmolStr::new_static("fontName"),
-                LexUserType::String(LexString {
-                    ..Default::default()
-                }),
+                LexUserType::String(LexString { ..Default::default() }),
             );
             map.insert(
                 SmolStr::new_static("main"),
@@ -815,7 +813,7 @@ fn lexicon_doc_sh_weaver_notebook_theme() -> LexiconDoc<'static> {
 
 pub mod font_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -930,7 +928,7 @@ where
 
 pub mod font_file_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1073,7 +1071,10 @@ where
     St::Name: font_file_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> FontFileBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> FontFileBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         FontFileBuilder {
             _state: PhantomData,
@@ -1131,7 +1132,7 @@ impl LexiconSchema for ThemeFonts {
 
 pub mod theme_fonts_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1308,7 +1309,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ThemeFonts {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ThemeFonts {
         ThemeFonts {
             body: self._fields.0.unwrap(),
             heading: self._fields.1.unwrap(),
@@ -1335,7 +1339,7 @@ impl LexiconSchema for ThemeSpacing {
 
 pub mod theme_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1659,4 +1663,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notebook/update_reading_progress.rs b/crates/jacquard-api/src/sh_weaver/notebook/update_reading_progress.rs
index 82942185f..2a6902f67 100644
--- a/crates/jacquard-api/src/sh_weaver/notebook/update_reading_progress.rs
+++ b/crates/jacquard-api/src/sh_weaver/notebook/update_reading_progress.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notebook::ReadingProgress;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notebook::ReadingProgress;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateReadingProgress {
     ///The entry the user is currently on.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -36,6 +33,7 @@ pub struct UpdateReadingProgress {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum UpdateReadingProgressStatus {
     Reading,
@@ -88,7 +86,8 @@ impl Serialize for UpdateReadingProgressStatus {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for UpdateReadingProgressStatus {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for UpdateReadingProgressStatus {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -113,9 +112,15 @@ where
     fn into_static(self) -> Self::Output {
         match self {
             UpdateReadingProgressStatus::Reading => UpdateReadingProgressStatus::Reading,
-            UpdateReadingProgressStatus::Finished => UpdateReadingProgressStatus::Finished,
-            UpdateReadingProgressStatus::Abandoned => UpdateReadingProgressStatus::Abandoned,
-            UpdateReadingProgressStatus::WantToRead => UpdateReadingProgressStatus::WantToRead,
+            UpdateReadingProgressStatus::Finished => {
+                UpdateReadingProgressStatus::Finished
+            }
+            UpdateReadingProgressStatus::Abandoned => {
+                UpdateReadingProgressStatus::Abandoned
+            }
+            UpdateReadingProgressStatus::WantToRead => {
+                UpdateReadingProgressStatus::WantToRead
+            }
             UpdateReadingProgressStatus::Other(v) => {
                 UpdateReadingProgressStatus::Other(v.into_static())
             }
@@ -123,11 +128,9 @@ where
     }
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateReadingProgressOutput {
     pub progress: ReadingProgress,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -147,8 +150,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateReadingProgressResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpdateReadingProgress {
     const NSID: &'static str = "sh.weaver.notebook.updateReadingProgress";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpdateReadingProgressResponse;
 }
 
@@ -158,15 +162,16 @@ Path: `/xrpc/sh.weaver.notebook.updateReadingProgress`. The request payload type
 pub struct UpdateReadingProgressRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpdateReadingProgressRequest {
     const PATH: &'static str = "/xrpc/sh.weaver.notebook.updateReadingProgress";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpdateReadingProgress;
     type Response = UpdateReadingProgressResponse;
 }
 
 pub mod update_reading_progress_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -213,14 +218,20 @@ pub struct UpdateReadingProgressBuilder<
 
 impl UpdateReadingProgress {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> UpdateReadingProgressBuilder {
+    pub fn new() -> UpdateReadingProgressBuilder<
+        update_reading_progress_state::Empty,
+        DefaultStr,
+    > {
         UpdateReadingProgressBuilder::new()
     }
 }
 
 impl UpdateReadingProgress {
     /// Create a new builder for this type
-    pub fn builder() -> UpdateReadingProgressBuilder {
+    pub fn builder() -> UpdateReadingProgressBuilder<
+        update_reading_progress_state::Empty,
+        S,
+    > {
         UpdateReadingProgressBuilder::builder()
     }
 }
@@ -247,7 +258,10 @@ impl UpdateReadingProgressBuilder UpdateReadingProgressBuilder {
+impl<
+    St: update_reading_progress_state::State,
+    S: BosStr,
+> UpdateReadingProgressBuilder {
     /// Set the `currentEntry` field (optional)
     pub fn current_entry(mut self, value: impl Into>>) -> Self {
         self._fields.0 = value.into();
@@ -269,7 +283,10 @@ where
     pub fn notebook(
         mut self,
         value: impl Into>,
-    ) -> UpdateReadingProgressBuilder, S> {
+    ) -> UpdateReadingProgressBuilder<
+        update_reading_progress_state::SetNotebook,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         UpdateReadingProgressBuilder {
             _state: PhantomData,
@@ -279,7 +296,10 @@ where
     }
 }
 
-impl UpdateReadingProgressBuilder {
+impl<
+    St: update_reading_progress_state::State,
+    S: BosStr,
+> UpdateReadingProgressBuilder {
     /// Set the `percentComplete` field (optional)
     pub fn percent_complete(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -292,14 +312,23 @@ impl UpdateReadingProgressB
     }
 }
 
-impl UpdateReadingProgressBuilder {
+impl<
+    St: update_reading_progress_state::State,
+    S: BosStr,
+> UpdateReadingProgressBuilder {
     /// Set the `status` field (optional)
-    pub fn status(mut self, value: impl Into>>) -> Self {
+    pub fn status(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `status` field to an Option value (optional)
-    pub fn maybe_status(mut self, value: Option>) -> Self {
+    pub fn maybe_status(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -333,4 +362,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notification.rs b/crates/jacquard-api/src/sh_weaver/notification.rs
index 7b298c1cc..6f375a457 100644
--- a/crates/jacquard-api/src/sh_weaver/notification.rs
+++ b/crates/jacquard-api/src/sh_weaver/notification.rs
@@ -11,12 +11,13 @@ pub mod get_unread_count;
 pub mod list_notifications;
 pub mod update_seen;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,20 +28,17 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::sh_weaver::actor::ProfileViewBasic;
 use crate::sh_weaver::notebook::EntryView;
 use crate::sh_weaver::notebook::NotebookView;
 use crate::sh_weaver::notification;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A notification for a user.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Notification {
     pub author: ProfileViewBasic,
     pub cid: Cid,
@@ -60,10 +58,7 @@ pub struct Notification {
 /// Grouped notifications (e.g., '5 people liked your entry').
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct NotificationGroup {
     ///Most recent actors (up to 5).
     pub actors: Vec>,
@@ -77,6 +72,7 @@ pub struct NotificationGroup {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -192,8 +188,12 @@ where
             NotificationReason::FollowAccept => NotificationReason::FollowAccept,
             NotificationReason::Subscribe => NotificationReason::Subscribe,
             NotificationReason::SubscribeAccept => NotificationReason::SubscribeAccept,
-            NotificationReason::CollaborationInvite => NotificationReason::CollaborationInvite,
-            NotificationReason::CollaborationAccept => NotificationReason::CollaborationAccept,
+            NotificationReason::CollaborationInvite => {
+                NotificationReason::CollaborationInvite
+            }
+            NotificationReason::CollaborationAccept => {
+                NotificationReason::CollaborationAccept
+            }
             NotificationReason::NewEntry => NotificationReason::NewEntry,
             NotificationReason::EntryUpdate => NotificationReason::EntryUpdate,
             NotificationReason::Mention => NotificationReason::Mention,
@@ -207,10 +207,7 @@ where
 /// New content from a notebook subscription.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SubscriptionUpdateView {
     ///New entries since last check.
     pub new_entries: Vec>,
@@ -281,7 +278,7 @@ impl LexiconSchema for SubscriptionUpdateView {
 
 pub mod notification_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -608,7 +605,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Notification {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Notification {
         Notification {
             author: self._fields.0.unwrap(),
             cid: self._fields.1.unwrap(),
@@ -624,10 +624,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.notification.defs"),
@@ -637,21 +637,23 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
                 SmolStr::new_static("notification"),
                 LexUserType::Object(LexObject {
                     description: Some(CowStr::new_static("A notification for a user.")),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("reason"),
-                        SmolStr::new_static("isRead"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("reason"),
+                            SmolStr::new_static("isRead"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.actor.defs#profileViewBasic"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.actor.defs#profileViewBasic",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -685,9 +687,11 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("reasonSubject"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The subject of the notification (entry, notebook, etc).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The subject of the notification (entry, notebook, etc).",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -713,25 +717,28 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("notificationGroup"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Grouped notifications (e.g., '5 people liked your entry').",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("reason"),
-                        SmolStr::new_static("subject"),
-                        SmolStr::new_static("count"),
-                        SmolStr::new_static("actors"),
-                        SmolStr::new_static("mostRecentAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Grouped notifications (e.g., '5 people liked your entry').",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("reason"),
+                            SmolStr::new_static("subject"), SmolStr::new_static("count"),
+                            SmolStr::new_static("actors"),
+                            SmolStr::new_static("mostRecentAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("actors"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "Most recent actors (up to 5).",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("Most recent actors (up to 5)."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
                                     r#ref: CowStr::new_static(
                                         "sh.weaver.actor.defs#profileViewBasic",
@@ -773,7 +780,7 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
                             LexObjectProperty::Union(LexRefUnion {
                                 refs: vec![
                                     CowStr::new_static("sh.weaver.notebook.defs#notebookView"),
-                                    CowStr::new_static("sh.weaver.notebook.defs#entryView"),
+                                    CowStr::new_static("sh.weaver.notebook.defs#entryView")
                                 ],
                                 ..Default::default()
                             }),
@@ -786,32 +793,38 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("notificationReason"),
                 LexUserType::String(LexString {
-                    description: Some(CowStr::new_static("Why this notification was generated.")),
+                    description: Some(
+                        CowStr::new_static("Why this notification was generated."),
+                    ),
                     ..Default::default()
                 }),
             );
             map.insert(
                 SmolStr::new_static("subscriptionUpdateView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "New content from a notebook subscription.",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("notebook"),
-                        SmolStr::new_static("newEntries"),
-                        SmolStr::new_static("updatedAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("New content from a notebook subscription."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("notebook"),
+                            SmolStr::new_static("newEntries"),
+                            SmolStr::new_static("updatedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("newEntries"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static(
-                                    "New entries since last check.",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("New entries since last check."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
-                                    r#ref: CowStr::new_static("sh.weaver.notebook.defs#entryView"),
+                                    r#ref: CowStr::new_static(
+                                        "sh.weaver.notebook.defs#entryView",
+                                    ),
                                     ..Default::default()
                                 }),
                                 ..Default::default()
@@ -820,7 +833,9 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("notebook"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("sh.weaver.notebook.defs#notebookView"),
+                                r#ref: CowStr::new_static(
+                                    "sh.weaver.notebook.defs#notebookView",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -834,9 +849,13 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("updatedEntries"),
                             LexObjectProperty::Array(LexArray {
-                                description: Some(CowStr::new_static("Entries that were updated.")),
+                                description: Some(
+                                    CowStr::new_static("Entries that were updated."),
+                                ),
                                 items: LexArrayItem::Ref(LexRef {
-                                    r#ref: CowStr::new_static("sh.weaver.notebook.defs#entryView"),
+                                    r#ref: CowStr::new_static(
+                                        "sh.weaver.notebook.defs#entryView",
+                                    ),
                                     ..Default::default()
                                 }),
                                 ..Default::default()
@@ -855,7 +874,7 @@ fn lexicon_doc_sh_weaver_notification_defs() -> LexiconDoc<'static> {
 
 pub mod notification_group_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -946,7 +965,10 @@ pub mod notification_group_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct NotificationGroupBuilder {
+pub struct NotificationGroupBuilder<
+    St: notification_group_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (
         Option>>,
@@ -961,7 +983,10 @@ pub struct NotificationGroupBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> NotificationGroupBuilder {
+    pub fn new() -> NotificationGroupBuilder<
+        notification_group_state::Empty,
+        DefaultStr,
+    > {
         NotificationGroupBuilder::new()
     }
 }
@@ -1125,7 +1150,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> NotificationGroup {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> NotificationGroup {
         NotificationGroup {
             actors: self._fields.0.unwrap(),
             count: self._fields.1.unwrap(),
@@ -1140,7 +1168,7 @@ where
 
 pub mod subscription_update_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1213,15 +1241,20 @@ pub struct SubscriptionUpdateViewBuilder<
 
 impl SubscriptionUpdateView {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> SubscriptionUpdateViewBuilder
-    {
+    pub fn new() -> SubscriptionUpdateViewBuilder<
+        subscription_update_view_state::Empty,
+        DefaultStr,
+    > {
         SubscriptionUpdateViewBuilder::new()
     }
 }
 
 impl SubscriptionUpdateView {
     /// Create a new builder for this type
-    pub fn builder() -> SubscriptionUpdateViewBuilder {
+    pub fn builder() -> SubscriptionUpdateViewBuilder<
+        subscription_update_view_state::Empty,
+        S,
+    > {
         SubscriptionUpdateViewBuilder::builder()
     }
 }
@@ -1257,7 +1290,10 @@ where
     pub fn new_entries(
         mut self,
         value: impl Into>>,
-    ) -> SubscriptionUpdateViewBuilder, S> {
+    ) -> SubscriptionUpdateViewBuilder<
+        subscription_update_view_state::SetNewEntries,
+        S,
+    > {
         self._fields.0 = Option::Some(value.into());
         SubscriptionUpdateViewBuilder {
             _state: PhantomData,
@@ -1276,7 +1312,10 @@ where
     pub fn notebook(
         mut self,
         value: impl Into>,
-    ) -> SubscriptionUpdateViewBuilder, S> {
+    ) -> SubscriptionUpdateViewBuilder<
+        subscription_update_view_state::SetNotebook,
+        S,
+    > {
         self._fields.1 = Option::Some(value.into());
         SubscriptionUpdateViewBuilder {
             _state: PhantomData,
@@ -1295,7 +1334,10 @@ where
     pub fn updated_at(
         mut self,
         value: impl Into,
-    ) -> SubscriptionUpdateViewBuilder, S> {
+    ) -> SubscriptionUpdateViewBuilder<
+        subscription_update_view_state::SetUpdatedAt,
+        S,
+    > {
         self._fields.2 = Option::Some(value.into());
         SubscriptionUpdateViewBuilder {
             _state: PhantomData,
@@ -1305,9 +1347,15 @@ where
     }
 }
 
-impl SubscriptionUpdateViewBuilder {
+impl<
+    St: subscription_update_view_state::State,
+    S: BosStr,
+> SubscriptionUpdateViewBuilder {
     /// Set the `updatedEntries` field (optional)
-    pub fn updated_entries(mut self, value: impl Into>>>) -> Self {
+    pub fn updated_entries(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
@@ -1348,4 +1396,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notification/get_subscription_updates.rs b/crates/jacquard-api/src/sh_weaver/notification/get_subscription_updates.rs
index 9720829a4..267477c4b 100644
--- a/crates/jacquard-api/src/sh_weaver/notification/get_subscription_updates.rs
+++ b/crates/jacquard-api/src/sh_weaver/notification/get_subscription_updates.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notification::SubscriptionUpdateView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notification::SubscriptionUpdateView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSubscriptionUpdates {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -34,11 +31,9 @@ pub struct GetSubscriptionUpdates {
     pub since: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetSubscriptionUpdatesOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -81,7 +76,7 @@ fn _default_limit() -> Option {
 
 pub mod get_subscription_updates_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -110,15 +105,20 @@ pub struct GetSubscriptionUpdatesBuilder<
 
 impl GetSubscriptionUpdates {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> GetSubscriptionUpdatesBuilder
-    {
+    pub fn new() -> GetSubscriptionUpdatesBuilder<
+        get_subscription_updates_state::Empty,
+        DefaultStr,
+    > {
         GetSubscriptionUpdatesBuilder::new()
     }
 }
 
 impl GetSubscriptionUpdates {
     /// Create a new builder for this type
-    pub fn builder() -> GetSubscriptionUpdatesBuilder {
+    pub fn builder() -> GetSubscriptionUpdatesBuilder<
+        get_subscription_updates_state::Empty,
+        S,
+    > {
         GetSubscriptionUpdatesBuilder::builder()
     }
 }
@@ -145,7 +145,10 @@ impl GetSubscriptionUpdatesBuilder GetSubscriptionUpdatesBuilder {
+impl<
+    St: get_subscription_updates_state::State,
+    S: BosStr,
+> GetSubscriptionUpdatesBuilder {
     /// Set the `cursor` field (optional)
     pub fn cursor(mut self, value: impl Into>) -> Self {
         self._fields.0 = value.into();
@@ -158,7 +161,10 @@ impl GetSubscriptionUpdate
     }
 }
 
-impl GetSubscriptionUpdatesBuilder {
+impl<
+    St: get_subscription_updates_state::State,
+    S: BosStr,
+> GetSubscriptionUpdatesBuilder {
     /// Set the `limit` field (optional)
     pub fn limit(mut self, value: impl Into>) -> Self {
         self._fields.1 = value.into();
@@ -171,7 +177,10 @@ impl GetSubscriptionUpdate
     }
 }
 
-impl GetSubscriptionUpdatesBuilder {
+impl<
+    St: get_subscription_updates_state::State,
+    S: BosStr,
+> GetSubscriptionUpdatesBuilder {
     /// Set the `since` field (optional)
     pub fn since(mut self, value: impl Into>) -> Self {
         self._fields.2 = value.into();
@@ -196,4 +205,4 @@ where
             since: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notification/get_unread_count.rs b/crates/jacquard-api/src/sh_weaver/notification/get_unread_count.rs
index 1c729603c..879fecd4b 100644
--- a/crates/jacquard-api/src/sh_weaver/notification/get_unread_count.rs
+++ b/crates/jacquard-api/src/sh_weaver/notification/get_unread_count.rs
@@ -10,12 +10,12 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
@@ -24,11 +24,9 @@ pub struct GetUnreadCount {
     pub seen_at: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetUnreadCountOutput {
     pub count: i64,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
@@ -65,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetUnreadCountRequest {
 
 pub mod get_unread_count_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -138,4 +136,4 @@ where
             seen_at: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notification/list_notifications.rs b/crates/jacquard-api/src/sh_weaver/notification/list_notifications.rs
index a2903ac38..a0752cd03 100644
--- a/crates/jacquard-api/src/sh_weaver/notification/list_notifications.rs
+++ b/crates/jacquard-api/src/sh_weaver/notification/list_notifications.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::sh_weaver::notification::Notification;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::sh_weaver::notification::Notification;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListNotifications {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -36,11 +33,9 @@ pub struct ListNotifications {
     pub seen_at: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ListNotificationsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -85,7 +80,7 @@ fn _default_limit() -> Option {
 
 pub mod list_notifications_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -103,7 +98,10 @@ pub mod list_notifications_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct ListNotificationsBuilder {
+pub struct ListNotificationsBuilder<
+    St: list_notifications_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option>, Option),
     _type: PhantomData S>,
@@ -111,7 +109,10 @@ pub struct ListNotificationsBuilder {
     /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed
-    pub fn new() -> ListNotificationsBuilder {
+    pub fn new() -> ListNotificationsBuilder<
+        list_notifications_state::Empty,
+        DefaultStr,
+    > {
         ListNotificationsBuilder::new()
     }
 }
@@ -210,4 +211,4 @@ where
             seen_at: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/notification/update_seen.rs b/crates/jacquard-api/src/sh_weaver/notification/update_seen.rs
index fdfb8cf43..0ceadf205 100644
--- a/crates/jacquard-api/src/sh_weaver/notification/update_seen.rs
+++ b/crates/jacquard-api/src/sh_weaver/notification/update_seen.rs
@@ -10,29 +10,24 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::Datetime;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateSeen {
     pub seen_at: Datetime,
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct UpdateSeenOutput {
     #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
     pub extra_data: Option>>,
@@ -51,8 +46,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateSeenResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for UpdateSeen {
     const NSID: &'static str = "sh.weaver.notification.updateSeen";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = UpdateSeenResponse;
 }
 
@@ -62,15 +58,16 @@ Path: `/xrpc/sh.weaver.notification.updateSeen`. The request payload type is `Up
 pub struct UpdateSeenRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for UpdateSeenRequest {
     const PATH: &'static str = "/xrpc/sh.weaver.notification.updateSeen";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = UpdateSeen;
     type Response = UpdateSeenResponse;
 }
 
 pub mod update_seen_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -175,10 +172,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateSeen {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> UpdateSeen {
         UpdateSeen {
             seen_at: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/publish.rs b/crates/jacquard-api/src/sh_weaver/publish.rs
index 40bf91664..2de4183cc 100644
--- a/crates/jacquard-api/src/sh_weaver/publish.rs
+++ b/crates/jacquard-api/src/sh_weaver/publish.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `sh.weaver.publish` Lexicon namespace/module.
-pub mod blob;
+pub mod blob;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/sh_weaver/publish/blob.rs b/crates/jacquard-api/src/sh_weaver/publish/blob.rs
index d109589cc..73b3696ee 100644
--- a/crates/jacquard-api/src/sh_weaver/publish/blob.rs
+++ b/crates/jacquard-api/src/sh_weaver/publish/blob.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A simple record referencing a file hosted on a PDS
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -130,16 +130,19 @@ impl LexiconSchema for Blob {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["*/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("upload"),
@@ -155,7 +158,7 @@ impl LexiconSchema for Blob {
 
 pub mod blob_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -246,7 +249,10 @@ where
     St::Path: blob_state::IsUnset,
 {
     /// Set the `path` field (required)
-    pub fn path(mut self, value: impl Into) -> BlobBuilder, S> {
+    pub fn path(
+        mut self,
+        value: impl Into,
+    ) -> BlobBuilder, S> {
         self._fields.0 = Option::Some(value.into());
         BlobBuilder {
             _state: PhantomData,
@@ -300,10 +306,10 @@ where
 }
 
 fn lexicon_doc_sh_weaver_publish_blob() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("sh.weaver.publish.blob"),
@@ -312,33 +318,34 @@ fn lexicon_doc_sh_weaver_publish_blob() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A simple record referencing a file hosted on a PDS",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A simple record referencing a file hosted on a PDS",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("upload"),
-                            SmolStr::new_static("path"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("upload"), SmolStr::new_static("path")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("path"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "relative path to the blob",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("relative path to the blob"),
+                                    ),
                                     min_length: Some(1usize),
                                     ..Default::default()
                                 }),
                             );
                             map.insert(
                                 SmolStr::new_static("upload"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map
                         },
@@ -351,4 +358,4 @@ fn lexicon_doc_sh_weaver_publish_blob() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard.rs b/crates/jacquard-api/src/site_standard.rs
index b747577b2..b91ac2112 100644
--- a/crates/jacquard-api/src/site_standard.rs
+++ b/crates/jacquard-api/src/site_standard.rs
@@ -7,4 +7,4 @@
 pub mod document;
 pub mod graph;
 pub mod publication;
-pub mod theme;
+pub mod theme;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/document.rs b/crates/jacquard-api/src/site_standard/document.rs
index e68129510..3206e2bc8 100644
--- a/crates/jacquard-api/src/site_standard/document.rs
+++ b/crates/jacquard-api/src/site_standard/document.rs
@@ -10,14 +10,14 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::blob::BlobRef;
 use jacquard_common::types::collection::{Collection, RecordError};
-use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue};
+use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue};
 use jacquard_common::types::uri::{RecordUri, UriError};
 use jacquard_common::types::value::Data;
 use jacquard_common::xrpc::XrpcResp;
@@ -25,18 +25,15 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::com_atproto::label::SelfLabels;
 use crate::com_atproto::repo::strong_ref::StrongRef;
 use crate::site_standard::document;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Contributor {
     pub did: Did,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -229,16 +226,19 @@ impl LexiconSchema for Document {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("cover_image"),
@@ -300,7 +300,7 @@ impl LexiconSchema for Document {
 
 pub mod contributor_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -433,7 +433,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Contributor {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Contributor {
         Contributor {
             did: self._fields.0.unwrap(),
             display_name: self._fields.1,
@@ -444,10 +447,10 @@ where
 }
 
 fn lexicon_doc_site_standard_document() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("site.standard.document"),
@@ -678,7 +681,7 @@ fn lexicon_doc_site_standard_document() -> LexiconDoc<'static> {
 
 pub mod document_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -776,7 +779,20 @@ impl DocumentBuilder {
         DocumentBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -789,7 +805,20 @@ impl DocumentBuilder {
         DocumentBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -824,12 +853,18 @@ impl DocumentBuilder {
 
 impl DocumentBuilder {
     /// Set the `contributors` field (optional)
-    pub fn contributors(mut self, value: impl Into>>>) -> Self {
+    pub fn contributors(
+        mut self,
+        value: impl Into>>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
     /// Set the `contributors` field to an Option value (optional)
-    pub fn maybe_contributors(mut self, value: Option>>) -> Self {
+    pub fn maybe_contributors(
+        mut self,
+        value: Option>>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -1043,4 +1078,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/graph.rs b/crates/jacquard-api/src/site_standard/graph.rs
index 6a9661106..ac9b33e9a 100644
--- a/crates/jacquard-api/src/site_standard/graph.rs
+++ b/crates/jacquard-api/src/site_standard/graph.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `site.standard.graph` Lexicon namespace/module.
 pub mod recommend;
-pub mod subscription;
+pub mod subscription;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/graph/recommend.rs b/crates/jacquard-api/src/site_standard/graph/recommend.rs
index bd847d043..f670d0fa0 100644
--- a/crates/jacquard-api/src/site_standard/graph/recommend.rs
+++ b/crates/jacquard-api/src/site_standard/graph/recommend.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a recommendation of a document.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -105,7 +105,7 @@ impl LexiconSchema for Recommend {
 
 pub mod recommend_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -243,7 +243,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Recommend {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Recommend {
         Recommend {
             created_at: self._fields.0.unwrap(),
             document: self._fields.1.unwrap(),
@@ -253,10 +256,10 @@ where
 }
 
 fn lexicon_doc_site_standard_graph_recommend() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("site.standard.graph.recommend"),
@@ -311,4 +314,4 @@ fn lexicon_doc_site_standard_graph_recommend() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/graph/subscription.rs b/crates/jacquard-api/src/site_standard/graph/subscription.rs
index fa5cc7b3c..eb93378af 100644
--- a/crates/jacquard-api/src/site_standard/graph/subscription.rs
+++ b/crates/jacquard-api/src/site_standard/graph/subscription.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// Record declaring a subscription to a publication.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -106,7 +106,7 @@ impl LexiconSchema for Subscription {
 
 pub mod subscription_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -225,7 +225,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Subscription {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Subscription {
         Subscription {
             created_at: self._fields.0,
             publication: self._fields.1.unwrap(),
@@ -235,10 +238,10 @@ where
 }
 
 fn lexicon_doc_site_standard_graph_subscription() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("site.standard.graph.subscription"),
@@ -288,4 +291,4 @@ fn lexicon_doc_site_standard_graph_subscription() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/publication.rs b/crates/jacquard-api/src/site_standard/publication.rs
index 4cdbdeae7..3ab2099e6 100644
--- a/crates/jacquard-api/src/site_standard/publication.rs
+++ b/crates/jacquard-api/src/site_standard/publication.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -25,12 +25,12 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::label::SelfLabels;
-use crate::site_standard::publication;
-use crate::site_standard::theme::basic::Basic;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::label::SelfLabels;
+use crate::site_standard::theme::basic::Basic;
+use crate::site_standard::publication;
 /// A publication record representing a blog, website, or content platform. Publications serve as containers for documents and define the overall branding and settings.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -75,11 +75,9 @@ pub struct PublicationGetRecordOutput {
     pub value: Publication,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Preferences {
     ///Boolean which decides whether the publication should appear in discovery feeds.  Defaults to `true`.
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -171,16 +169,19 @@ impl LexiconSchema for Publication {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/*"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("icon"),
@@ -235,7 +236,7 @@ impl LexiconSchema for Preferences {
 
 pub mod publication_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -401,12 +402,18 @@ where
 
 impl PublicationBuilder {
     /// Set the `preferences` field (optional)
-    pub fn preferences(mut self, value: impl Into>>) -> Self {
+    pub fn preferences(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
     /// Set the `preferences` field to an Option value (optional)
-    pub fn maybe_preferences(mut self, value: Option>) -> Self {
+    pub fn maybe_preferences(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.5 = value;
         self
     }
@@ -451,7 +458,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Publication {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Publication {
         Publication {
             basic_theme: self._fields.0,
             description: self._fields.1,
@@ -466,10 +476,10 @@ where
 }
 
 fn lexicon_doc_site_standard_publication() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("site.standard.publication"),
@@ -598,4 +608,4 @@ impl Default for Preferences {
             extra_data: Default::default(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/theme.rs b/crates/jacquard-api/src/site_standard/theme.rs
index 5b8199a52..e872c03eb 100644
--- a/crates/jacquard-api/src/site_standard/theme.rs
+++ b/crates/jacquard-api/src/site_standard/theme.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `site.standard.theme` Lexicon namespace/module.
 pub mod basic;
-pub mod color;
+pub mod color;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/theme/basic.rs b/crates/jacquard-api/src/site_standard/theme/basic.rs
index 250b06159..f23c10352 100644
--- a/crates/jacquard-api/src/site_standard/theme/basic.rs
+++ b/crates/jacquard-api/src/site_standard/theme/basic.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::site_standard::theme::color::Rgb;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::site_standard::theme::color::Rgb;
 /// A simplified theme definition for publications, providing basic color customization for content display across different platforms and applications.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -111,7 +111,7 @@ impl LexiconSchema for Basic {
 
 pub mod basic_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -186,12 +186,7 @@ pub mod basic_state {
 /// Builder for constructing an instance of this type.
 pub struct BasicBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option>,
-        Option>,
-        Option>,
-        Option>,
-    ),
+    _fields: (Option>, Option>, Option>, Option>),
     _type: PhantomData S>,
 }
 
@@ -338,10 +333,10 @@ where
 }
 
 fn lexicon_doc_site_standard_theme_basic() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("site.standard.theme.basic"),
@@ -429,4 +424,4 @@ fn lexicon_doc_site_standard_theme_basic() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/site_standard/theme/color.rs b/crates/jacquard-api/src/site_standard/theme/color.rs
index b60ce10f6..be7a91a9b 100644
--- a/crates/jacquard-api/src/site_standard/theme/color.rs
+++ b/crates/jacquard-api/src/site_standard/theme/color.rs
@@ -22,13 +22,10 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Rgb {
     pub b: i64,
     pub g: i64,
@@ -37,11 +34,9 @@ pub struct Rgb {
     pub extra_data: Option>>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Rgba {
     pub a: i64,
     pub b: i64,
@@ -223,7 +218,7 @@ impl LexiconSchema for Rgba {
 
 pub mod rgb_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -398,10 +393,10 @@ where
 }
 
 fn lexicon_doc_site_standard_theme_color() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("site.standard.theme.color"),
@@ -410,11 +405,12 @@ fn lexicon_doc_site_standard_theme_color() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rgb"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("r"),
-                        SmolStr::new_static("g"),
-                        SmolStr::new_static("b"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("r"), SmolStr::new_static("g"),
+                            SmolStr::new_static("b")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -450,12 +446,12 @@ fn lexicon_doc_site_standard_theme_color() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("rgba"),
                 LexUserType::Object(LexObject {
-                    required: Some(vec![
-                        SmolStr::new_static("r"),
-                        SmolStr::new_static("g"),
-                        SmolStr::new_static("b"),
-                        SmolStr::new_static("a"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("r"), SmolStr::new_static("g"),
+                            SmolStr::new_static("b"), SmolStr::new_static("a")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -504,7 +500,7 @@ fn lexicon_doc_site_standard_theme_color() -> LexiconDoc<'static> {
 
 pub mod rgba_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -711,4 +707,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica.rs b/crates/jacquard-api/src/social_arabica.rs
index c61eb6fd5..562ddb654 100644
--- a/crates/jacquard-api/src/social_arabica.rs
+++ b/crates/jacquard-api/src/social_arabica.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `social.arabica` Lexicon namespace/module.
-pub mod alpha;
+pub mod alpha;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha.rs b/crates/jacquard-api/src/social_arabica/alpha.rs
index 6dfa048fb..8721162a8 100644
--- a/crates/jacquard-api/src/social_arabica/alpha.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha.rs
@@ -11,4 +11,4 @@ pub mod comment;
 pub mod grinder;
 pub mod like;
 pub mod recipe;
-pub mod roaster;
+pub mod roaster;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/bean.rs b/crates/jacquard-api/src/social_arabica/alpha/bean.rs
index b0f289fe2..2edf02fc2 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/bean.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/bean.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A coffee bean variety tracked by the user
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -225,7 +225,7 @@ impl LexiconSchema for Bean {
 
 pub mod bean_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -307,7 +307,18 @@ impl BeanBuilder {
         BeanBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -320,7 +331,18 @@ impl BeanBuilder {
         BeanBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -391,7 +413,10 @@ where
     St::Name: bean_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> BeanBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> BeanBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         BeanBuilder {
             _state: PhantomData,
@@ -537,10 +562,10 @@ where
 }
 
 fn lexicon_doc_social_arabica_alpha_bean() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.bean"),
@@ -707,4 +732,4 @@ fn lexicon_doc_social_arabica_alpha_bean() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/brew.rs b/crates/jacquard-api/src/social_arabica/alpha/brew.rs
index 050836fdc..0a7338bef 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/brew.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/brew.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::social_arabica::alpha::brew;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_arabica::alpha::brew;
 /// Parameters specific to espresso brewing
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct EspressoParams {
     ///Pre-infusion time in seconds
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -123,10 +120,7 @@ pub struct BrewGetRecordOutput {
 /// Information about a single pour in a multi-pour brewing method
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Pour {
     ///Time of this pour relative to brew start (seconds)
     pub time_seconds: i64,
@@ -139,10 +133,7 @@ pub struct Pour {
 /// Parameters specific to pour-over brewing
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PouroverParams {
     ///Bloom wait time in seconds
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -443,10 +434,10 @@ impl LexiconSchema for PouroverParams {
 }
 
 fn lexicon_doc_social_arabica_alpha_brew() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.brew"),
@@ -455,9 +446,9 @@ fn lexicon_doc_social_arabica_alpha_brew() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("espressoParams"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Parameters specific to espresso brewing",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Parameters specific to espresso brewing"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -674,13 +665,17 @@ fn lexicon_doc_social_arabica_alpha_brew() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pour"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Information about a single pour in a multi-pour brewing method",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("waterAmount"),
-                        SmolStr::new_static("timeSeconds"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Information about a single pour in a multi-pour brewing method",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("waterAmount"),
+                            SmolStr::new_static("timeSeconds")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -706,9 +701,9 @@ fn lexicon_doc_social_arabica_alpha_brew() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pouroverParams"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Parameters specific to pour-over brewing",
-                    )),
+                    description: Some(
+                        CowStr::new_static("Parameters specific to pour-over brewing"),
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -743,9 +738,11 @@ fn lexicon_doc_social_arabica_alpha_brew() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("filter"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "Type of filter used (e.g. paper, metal, cloth)",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "Type of filter used (e.g. paper, metal, cloth)",
+                                    ),
+                                ),
                                 max_length: Some(100usize),
                                 ..Default::default()
                             }),
@@ -763,7 +760,7 @@ fn lexicon_doc_social_arabica_alpha_brew() -> LexiconDoc<'static> {
 
 pub mod brew_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -849,8 +846,22 @@ impl BrewBuilder {
         BrewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -863,8 +874,22 @@ impl BrewBuilder {
         BrewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -937,12 +962,18 @@ where
 
 impl BrewBuilder {
     /// Set the `espressoParams` field (optional)
-    pub fn espresso_params(mut self, value: impl Into>>) -> Self {
+    pub fn espresso_params(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
     /// Set the `espressoParams` field to an Option value (optional)
-    pub fn maybe_espresso_params(mut self, value: Option>) -> Self {
+    pub fn maybe_espresso_params(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -989,12 +1020,18 @@ impl BrewBuilder {
 
 impl BrewBuilder {
     /// Set the `pouroverParams` field (optional)
-    pub fn pourover_params(mut self, value: impl Into>>) -> Self {
+    pub fn pourover_params(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.8 = value.into();
         self
     }
     /// Set the `pouroverParams` field to an Option value (optional)
-    pub fn maybe_pourover_params(mut self, value: Option>) -> Self {
+    pub fn maybe_pourover_params(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -1145,7 +1182,7 @@ where
 
 pub mod pour_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -1290,4 +1327,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/brewer.rs b/crates/jacquard-api/src/social_arabica/alpha/brewer.rs
index eece0cf37..3918c145e 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/brewer.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/brewer.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A coffee brewing device or method
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -151,7 +151,9 @@ where
             BrewerBrewerType::Coldbrew => BrewerBrewerType::Coldbrew,
             BrewerBrewerType::Cupping => BrewerBrewerType::Cupping,
             BrewerBrewerType::Other => BrewerBrewerType::Other,
-            BrewerBrewerType::UnknownValue(v) => BrewerBrewerType::UnknownValue(v.into_static()),
+            BrewerBrewerType::UnknownValue(v) => {
+                BrewerBrewerType::UnknownValue(v.into_static())
+            }
         }
     }
 }
@@ -258,7 +260,7 @@ impl LexiconSchema for Brewer {
 
 pub mod brewer_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -414,7 +416,10 @@ where
     St::Name: brewer_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> BrewerBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> BrewerBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         BrewerBuilder {
             _state: PhantomData,
@@ -470,10 +475,10 @@ where
 }
 
 fn lexicon_doc_social_arabica_alpha_brewer() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.brewer"),
@@ -578,4 +583,4 @@ fn lexicon_doc_social_arabica_alpha_brewer() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/comment.rs b/crates/jacquard-api/src/social_arabica/alpha/comment.rs
index e1977742a..62fa3885a 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/comment.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/comment.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A comment on an Arabica record (brew, bean, roaster, grinder, brewer, or another comment)
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -136,7 +136,7 @@ impl LexiconSchema for Comment {
 
 pub mod comment_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -195,12 +195,7 @@ pub mod comment_state {
 /// Builder for constructing an instance of this type.
 pub struct CommentBuilder {
     _state: PhantomData St>,
-    _fields: (
-        Option,
-        Option>,
-        Option>,
-        Option,
-    ),
+    _fields: (Option, Option>, Option>, Option),
     _type: PhantomData S>,
 }
 
@@ -297,7 +292,10 @@ where
     St::Text: comment_state::IsUnset,
 {
     /// Set the `text` field (required)
-    pub fn text(mut self, value: impl Into) -> CommentBuilder, S> {
+    pub fn text(
+        mut self,
+        value: impl Into,
+    ) -> CommentBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         CommentBuilder {
             _state: PhantomData,
@@ -337,10 +335,10 @@ where
 }
 
 fn lexicon_doc_social_arabica_alpha_comment() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.comment"),
@@ -411,4 +409,4 @@ fn lexicon_doc_social_arabica_alpha_comment() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/grinder.rs b/crates/jacquard-api/src/social_arabica/alpha/grinder.rs
index 116cc7dc9..4f9f0cc19 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/grinder.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/grinder.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A coffee grinder used for grinding beans
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -172,7 +172,7 @@ impl LexiconSchema for Grinder {
 
 pub mod grinder_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -329,7 +329,10 @@ where
     St::Name: grinder_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> GrinderBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> GrinderBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         GrinderBuilder {
             _state: PhantomData,
@@ -400,10 +403,10 @@ where
 }
 
 fn lexicon_doc_social_arabica_alpha_grinder() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.grinder"),
@@ -518,4 +521,4 @@ fn lexicon_doc_social_arabica_alpha_grinder() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/like.rs b/crates/jacquard-api/src/social_arabica/alpha/like.rs
index 6596021a8..dd7f57472 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/like.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/like.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// A like on an Arabica record (brew, bean, roaster, grinder, or brewer)
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -107,7 +107,7 @@ impl LexiconSchema for Like {
 
 pub mod like_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -255,10 +255,10 @@ where
 }
 
 fn lexicon_doc_social_arabica_alpha_like() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.like"),
@@ -267,24 +267,28 @@ fn lexicon_doc_social_arabica_alpha_like() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A like on an Arabica record (brew, bean, roaster, grinder, or brewer)",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A like on an Arabica record (brew, bean, roaster, grinder, or brewer)",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("subject"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("subject"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when the like was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when the like was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -307,4 +311,4 @@ fn lexicon_doc_social_arabica_alpha_like() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/recipe.rs b/crates/jacquard-api/src/social_arabica/alpha/recipe.rs
index 5ee2135bf..b7925d103 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/recipe.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/recipe.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::social_arabica::alpha::recipe;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_arabica::alpha::recipe;
 /// A reusable brewing recipe with parameters for repeatable coffee preparation
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -81,10 +81,7 @@ pub struct RecipeGetRecordOutput {
 /// Information about a single pour in a multi-pour brewing method
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Pour {
     ///Time of this pour relative to brew start (seconds)
     pub time_seconds: i64,
@@ -228,7 +225,7 @@ impl LexiconSchema for Pour {
 
 pub mod recipe_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -387,7 +384,10 @@ where
     St::Name: recipe_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> RecipeBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> RecipeBuilder, S> {
         self._fields.4 = Option::Some(value.into());
         RecipeBuilder {
             _state: PhantomData,
@@ -488,10 +488,10 @@ where
 }
 
 fn lexicon_doc_social_arabica_alpha_recipe() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.recipe"),
@@ -625,13 +625,17 @@ fn lexicon_doc_social_arabica_alpha_recipe() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("pour"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Information about a single pour in a multi-pour brewing method",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("waterAmount"),
-                        SmolStr::new_static("timeSeconds"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static(
+                            "Information about a single pour in a multi-pour brewing method",
+                        ),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("waterAmount"),
+                            SmolStr::new_static("timeSeconds")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
@@ -662,7 +666,7 @@ fn lexicon_doc_social_arabica_alpha_recipe() -> LexiconDoc<'static> {
 
 pub mod pour_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -807,4 +811,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_arabica/alpha/roaster.rs b/crates/jacquard-api/src/social_arabica/alpha/roaster.rs
index 49923e27b..986e02be1 100644
--- a/crates/jacquard-api/src/social_arabica/alpha/roaster.rs
+++ b/crates/jacquard-api/src/social_arabica/alpha/roaster.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A coffee roaster company
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -146,7 +146,7 @@ impl LexiconSchema for Roaster {
 
 pub mod roaster_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -275,7 +275,10 @@ where
     St::Name: roaster_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> RoasterBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> RoasterBuilder, S> {
         self._fields.2 = Option::Some(value.into());
         RoasterBuilder {
             _state: PhantomData,
@@ -342,10 +345,10 @@ where
 }
 
 fn lexicon_doc_social_arabica_alpha_roaster() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.arabica.alpha.roaster"),
@@ -436,4 +439,4 @@ fn lexicon_doc_social_arabica_alpha_roaster() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr.rs b/crates/jacquard-api/src/social_clippr.rs
index 5c05fb061..6fd555c04 100644
--- a/crates/jacquard-api/src/social_clippr.rs
+++ b/crates/jacquard-api/src/social_clippr.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `social.clippr` Lexicon namespace/module.
 pub mod actor;
-pub mod feed;
+pub mod feed;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor.rs b/crates/jacquard-api/src/social_clippr/actor.rs
index ade753a56..453248b51 100644
--- a/crates/jacquard-api/src/social_clippr/actor.rs
+++ b/crates/jacquard-api/src/social_clippr/actor.rs
@@ -14,26 +14,27 @@ pub mod search_clips;
 pub mod search_profiles;
 pub mod search_tags;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
 use jacquard_common::deps::smol_str::SmolStr;
-use jacquard_common::types::string::{Datetime, Did, Handle, UriValue};
+use jacquard_common::types::string::{Did, Handle, Datetime, UriValue};
 use jacquard_common::types::value::Data;
 use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::social_clippr::actor;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::actor;
 
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -48,10 +49,7 @@ pub type Preferences = Vec>;
 /// A view of an actor's profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ProfileView {
     ///A link to the profile's avatar
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -75,10 +73,7 @@ pub struct ProfileView {
 /// Preferences for an user's publishing scopes.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PublishingScopesPref {
     ///What publishing scope to mark a clip as by default
     pub default_scope: PublishingScopesPrefDefaultScope,
@@ -134,7 +129,8 @@ impl Serialize for PublishingScopesPrefDefaultScope {
     }
 }
 
-impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for PublishingScopesPrefDefaultScope {
+impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
+for PublishingScopesPrefDefaultScope {
     fn deserialize(deserializer: D) -> Result
     where
         D: serde::Deserializer<'de>,
@@ -158,7 +154,9 @@ where
     type Output = PublishingScopesPrefDefaultScope;
     fn into_static(self) -> Self::Output {
         match self {
-            PublishingScopesPrefDefaultScope::Public => PublishingScopesPrefDefaultScope::Public,
+            PublishingScopesPrefDefaultScope::Public => {
+                PublishingScopesPrefDefaultScope::Public
+            }
             PublishingScopesPrefDefaultScope::Unlisted => {
                 PublishingScopesPrefDefaultScope::Unlisted
             }
@@ -247,7 +245,7 @@ impl LexiconSchema for PublishingScopesPref {
 
 pub mod profile_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -469,7 +467,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileView {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ProfileView {
         ProfileView {
             avatar: self._fields.0,
             created_at: self._fields.1,
@@ -483,10 +484,10 @@ where
 }
 
 fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.clippr.actor.defs"),
@@ -505,21 +506,24 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("profileView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static("A view of an actor's profile.")),
-                    required: Some(vec![
-                        SmolStr::new_static("did"),
-                        SmolStr::new_static("handle"),
-                        SmolStr::new_static("displayName"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A view of an actor's profile."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("did"), SmolStr::new_static("handle"),
+                            SmolStr::new_static("displayName")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("avatar"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "A link to the profile's avatar",
-                                )),
+                                description: Some(
+                                    CowStr::new_static("A link to the profile's avatar"),
+                                ),
                                 format: Some(LexStringFormat::Uri),
                                 ..Default::default()
                             }),
@@ -527,9 +531,11 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("createdAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the profile record was first created",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "When the profile record was first created",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -537,9 +543,11 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("description"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The biography associated to the profile",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The biography associated to the profile",
+                                    ),
+                                ),
                                 max_length: Some(5000usize),
                                 max_graphemes: Some(500usize),
                                 ..Default::default()
@@ -548,7 +556,9 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("did"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The DID of the profile")),
+                                description: Some(
+                                    CowStr::new_static("The DID of the profile"),
+                                ),
                                 format: Some(LexStringFormat::Did),
                                 ..Default::default()
                             }),
@@ -556,9 +566,11 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("displayName"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "The display name associated to the profile",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "The display name associated to the profile",
+                                    ),
+                                ),
                                 max_length: Some(640usize),
                                 max_graphemes: Some(64usize),
                                 ..Default::default()
@@ -567,7 +579,9 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("handle"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The handle of the profile")),
+                                description: Some(
+                                    CowStr::new_static("The handle of the profile"),
+                                ),
                                 format: Some(LexStringFormat::Handle),
                                 ..Default::default()
                             }),
@@ -580,9 +594,11 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("publishingScopesPref"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "Preferences for an user's publishing scopes.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "Preferences for an user's publishing scopes.",
+                        ),
+                    ),
                     required: Some(vec![SmolStr::new_static("defaultScope")]),
                     properties: {
                         #[allow(unused_mut)]
@@ -590,9 +606,11 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("defaultScope"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "What publishing scope to mark a clip as by default",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "What publishing scope to mark a clip as by default",
+                                    ),
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -605,4 +623,4 @@ fn lexicon_doc_social_clippr_actor_defs() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor/get_preferences.rs b/crates/jacquard-api/src/social_clippr/actor/get_preferences.rs
index 969db7cff..ed7e99998 100644
--- a/crates/jacquard-api/src/social_clippr/actor/get_preferences.rs
+++ b/crates/jacquard-api/src/social_clippr/actor/get_preferences.rs
@@ -8,24 +8,21 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::actor::Preferences;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::actor::Preferences;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(rename_all = "camelCase")]
 pub struct GetPreferences;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetPreferencesOutput {
     ///A ref to the user's preferences
     pub preferences: Preferences,
@@ -59,4 +56,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetPreferencesRequest {
     const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
     type Request = GetPreferences;
     type Response = GetPreferencesResponse;
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor/get_profile.rs b/crates/jacquard-api/src/social_clippr/actor/get_profile.rs
index 068695a72..c6370dd1e 100644
--- a/crates/jacquard-api/src/social_clippr/actor/get_profile.rs
+++ b/crates/jacquard-api/src/social_clippr/actor/get_profile.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::actor::ProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::actor::ProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfile {
     pub actor: AtIdentifier,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileOutput {
     #[serde(flatten)]
     pub value: ProfileView,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest {
 
 pub mod get_profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -172,4 +167,4 @@ where
             actor: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor/profile.rs b/crates/jacquard-api/src/social_clippr/actor/profile.rs
index 9bcdc7076..69df91c16 100644
--- a/crates/jacquard-api/src/social_clippr/actor/profile.rs
+++ b/crates/jacquard-api/src/social_clippr/actor/profile.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A declaration of a Clippr account's profile.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -123,20 +123,25 @@ impl LexiconSchema for Profile {
             {
                 let mime = value.blob().mime_type.as_str();
                 let accepted: &[&str] = &["image/png", "image/jpeg"];
-                let matched = accepted.iter().any(|pattern| {
-                    if *pattern == "*/*" {
-                        true
-                    } else if pattern.ends_with("/*") {
-                        let prefix = &pattern[..pattern.len() - 2];
-                        mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/')
-                    } else {
-                        mime == *pattern
-                    }
-                });
+                let matched = accepted
+                    .iter()
+                    .any(|pattern| {
+                        if *pattern == "*/*" {
+                            true
+                        } else if pattern.ends_with("/*") {
+                            let prefix = &pattern[..pattern.len() - 2];
+                            mime.starts_with(prefix)
+                                && mime.as_bytes().get(prefix.len()) == Some(&b'/')
+                        } else {
+                            mime == *pattern
+                        }
+                    });
                 if !matched {
                     return Err(ConstraintError::BlobMimeTypeNotAccepted {
                         path: ValidationPath::from_field("avatar"),
-                        accepted: vec!["image/png".to_string(), "image/jpeg".to_string()],
+                        accepted: vec![
+                            "image/png".to_string(), "image/jpeg".to_string()
+                        ],
                         actual: mime.to_string(),
                     });
                 }
@@ -194,7 +199,7 @@ impl LexiconSchema for Profile {
 
 pub mod profile_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -372,10 +377,10 @@ where
 }
 
 fn lexicon_doc_social_clippr_actor_profile() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.clippr.actor.profile"),
@@ -384,30 +389,32 @@ fn lexicon_doc_social_clippr_actor_profile() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A declaration of a Clippr account's profile.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A declaration of a Clippr account's profile.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("literal:self")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("createdAt"),
-                            SmolStr::new_static("displayName"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("createdAt"),
+                                SmolStr::new_static("displayName")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("avatar"),
-                                LexObjectProperty::Blob(LexBlob {
-                                    ..Default::default()
-                                }),
+                                LexObjectProperty::Blob(LexBlob { ..Default::default() }),
                             );
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "The creation date of the profile",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("The creation date of the profile"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -415,9 +422,9 @@ fn lexicon_doc_social_clippr_actor_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Text for user to describe themselves",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Text for user to describe themselves"),
+                                    ),
                                     max_length: Some(5000usize),
                                     max_graphemes: Some(500usize),
                                     ..Default::default()
@@ -426,9 +433,11 @@ fn lexicon_doc_social_clippr_actor_profile() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("displayName"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A display name to be shown on a profile",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "A display name to be shown on a profile",
+                                        ),
+                                    ),
                                     max_length: Some(640usize),
                                     max_graphemes: Some(64usize),
                                     ..Default::default()
@@ -445,4 +454,4 @@ fn lexicon_doc_social_clippr_actor_profile() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor/put_preferences.rs b/crates/jacquard-api/src/social_clippr/actor/put_preferences.rs
index 090f51463..fa431a57f 100644
--- a/crates/jacquard-api/src/social_clippr/actor/put_preferences.rs
+++ b/crates/jacquard-api/src/social_clippr/actor/put_preferences.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::actor::Preferences;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::actor::Preferences;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct PutPreferences {
     ///A ref to the user's preferences
     pub preferences: Preferences,
@@ -42,8 +39,9 @@ impl jacquard_common::xrpc::XrpcResp for PutPreferencesResponse {
 
 impl jacquard_common::xrpc::XrpcRequest for PutPreferences {
     const NSID: &'static str = "social.clippr.actor.putPreferences";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Response = PutPreferencesResponse;
 }
 
@@ -53,15 +51,16 @@ Path: `/xrpc/social.clippr.actor.putPreferences`. The request payload type is `P
 pub struct PutPreferencesRequest;
 impl jacquard_common::xrpc::XrpcEndpoint for PutPreferencesRequest {
     const PATH: &'static str = "/xrpc/social.clippr.actor.putPreferences";
-    const METHOD: jacquard_common::xrpc::XrpcMethod =
-        jacquard_common::xrpc::XrpcMethod::Procedure("application/json");
+    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
+        "application/json",
+    );
     type Request = PutPreferences;
     type Response = PutPreferencesResponse;
 }
 
 pub mod put_preferences_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -92,7 +91,10 @@ pub mod put_preferences_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct PutPreferencesBuilder {
+pub struct PutPreferencesBuilder<
+    St: put_preferences_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>,),
     _type: PhantomData S>,
@@ -166,10 +168,13 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> PutPreferences {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> PutPreferences {
         PutPreferences {
             preferences: self._fields.0.unwrap(),
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor/search_clips.rs b/crates/jacquard-api/src/social_clippr/actor/search_clips.rs
index bb3b315e4..1487c3b21 100644
--- a/crates/jacquard-api/src/social_clippr/actor/search_clips.rs
+++ b/crates/jacquard-api/src/social_clippr/actor/search_clips.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::feed::ClipView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::feed::ClipView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchClips {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub actor: Option>,
@@ -35,11 +32,9 @@ pub struct SearchClips {
     pub q: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchClipsOutput {
     ///A list of clips and their associated details
     pub clips: Vec>,
@@ -84,7 +79,7 @@ fn _default_limit() -> Option {
 
 pub mod search_clips_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -202,7 +197,10 @@ where
     St::Q: search_clips_state::IsUnset,
 {
     /// Set the `q` field (required)
-    pub fn q(mut self, value: impl Into) -> SearchClipsBuilder, S> {
+    pub fn q(
+        mut self,
+        value: impl Into,
+    ) -> SearchClipsBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         SearchClipsBuilder {
             _state: PhantomData,
@@ -226,4 +224,4 @@ where
             q: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor/search_profiles.rs b/crates/jacquard-api/src/social_clippr/actor/search_profiles.rs
index 87cf733c8..7602239d7 100644
--- a/crates/jacquard-api/src/social_clippr/actor/search_profiles.rs
+++ b/crates/jacquard-api/src/social_clippr/actor/search_profiles.rs
@@ -8,20 +8,17 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::actor::ProfileView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::actor::ProfileView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchProfiles {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -33,11 +30,9 @@ pub struct SearchProfiles {
     pub q: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchProfilesOutput {
     pub actors: Vec>,
     ///A parameter used for pagination
@@ -81,7 +76,7 @@ fn _default_limit() -> Option {
 
 pub mod search_profiles_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -99,7 +94,10 @@ pub mod search_profiles_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct SearchProfilesBuilder {
+pub struct SearchProfilesBuilder<
+    St: search_profiles_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option, Option, Option),
     _type: PhantomData S>,
@@ -192,4 +190,4 @@ where
             q: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/actor/search_tags.rs b/crates/jacquard-api/src/social_clippr/actor/search_tags.rs
index b462ceef6..1a396b3f9 100644
--- a/crates/jacquard-api/src/social_clippr/actor/search_tags.rs
+++ b/crates/jacquard-api/src/social_clippr/actor/search_tags.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::feed::TagView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::feed::TagView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchTags {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub actor: Option>,
@@ -35,11 +32,9 @@ pub struct SearchTags {
     pub q: S,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct SearchTagsOutput {
     ///A parameter to paginate results
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -84,7 +79,7 @@ fn _default_limit() -> Option {
 
 pub mod search_tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -202,7 +197,10 @@ where
     St::Q: search_tags_state::IsUnset,
 {
     /// Set the `q` field (required)
-    pub fn q(mut self, value: impl Into) -> SearchTagsBuilder, S> {
+    pub fn q(
+        mut self,
+        value: impl Into,
+    ) -> SearchTagsBuilder, S> {
         self._fields.3 = Option::Some(value.into());
         SearchTagsBuilder {
             _state: PhantomData,
@@ -226,4 +224,4 @@ where
             q: self._fields.3.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed.rs b/crates/jacquard-api/src/social_clippr/feed.rs
index 9140aea41..e7ca1d333 100644
--- a/crates/jacquard-api/src/social_clippr/feed.rs
+++ b/crates/jacquard-api/src/social_clippr/feed.rs
@@ -14,6 +14,7 @@ pub mod get_tag_list;
 pub mod get_tags;
 pub mod tag;
 
+
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
@@ -30,17 +31,14 @@ use jacquard_derive::IntoStatic;
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::social_clippr::actor::ProfileView;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::actor::ProfileView;
 /// A view of a single bookmark (or 'clip').
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct ClipView {
     ///A reference to the actor's profile
     pub author: ProfileView,
@@ -59,10 +57,7 @@ pub struct ClipView {
 /// A view of a single tag.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct TagView {
     ///A reference to the actor's profile
     pub author: ProfileView,
@@ -110,7 +105,7 @@ impl LexiconSchema for TagView {
 
 pub mod clip_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -378,10 +373,10 @@ where
 }
 
 fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.clippr.feed.defs"),
@@ -390,30 +385,34 @@ fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("clipView"),
                 LexUserType::Object(LexObject {
-                    description: Some(CowStr::new_static(
-                        "A view of a single bookmark (or 'clip').",
-                    )),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    description: Some(
+                        CowStr::new_static("A view of a single bookmark (or 'clip')."),
+                    ),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("social.clippr.actor.defs#profileView"),
+                                r#ref: CowStr::new_static(
+                                    "social.clippr.actor.defs#profileView",
+                                ),
                                 ..Default::default()
                             }),
                         );
                         map.insert(
                             SmolStr::new_static("cid"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The CID of the clip")),
+                                description: Some(
+                                    CowStr::new_static("The CID of the clip"),
+                                ),
                                 format: Some(LexStringFormat::Cid),
                                 ..Default::default()
                             }),
@@ -421,9 +420,11 @@ fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("indexedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the tag was first indexed by the AppView",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "When the tag was first indexed by the AppView",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -437,7 +438,9 @@ fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The AT-URI of the clip")),
+                                description: Some(
+                                    CowStr::new_static("The AT-URI of the clip"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -451,20 +454,22 @@ fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
                 SmolStr::new_static("tagView"),
                 LexUserType::Object(LexObject {
                     description: Some(CowStr::new_static("A view of a single tag.")),
-                    required: Some(vec![
-                        SmolStr::new_static("uri"),
-                        SmolStr::new_static("cid"),
-                        SmolStr::new_static("author"),
-                        SmolStr::new_static("record"),
-                        SmolStr::new_static("indexedAt"),
-                    ]),
+                    required: Some(
+                        vec![
+                            SmolStr::new_static("uri"), SmolStr::new_static("cid"),
+                            SmolStr::new_static("author"), SmolStr::new_static("record"),
+                            SmolStr::new_static("indexedAt")
+                        ],
+                    ),
                     properties: {
                         #[allow(unused_mut)]
                         let mut map = BTreeMap::new();
                         map.insert(
                             SmolStr::new_static("author"),
                             LexObjectProperty::Ref(LexRef {
-                                r#ref: CowStr::new_static("social.clippr.actor.defs#profileView"),
+                                r#ref: CowStr::new_static(
+                                    "social.clippr.actor.defs#profileView",
+                                ),
                                 ..Default::default()
                             }),
                         );
@@ -479,9 +484,11 @@ fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("indexedAt"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static(
-                                    "When the tag was first indexed by the AppView",
-                                )),
+                                description: Some(
+                                    CowStr::new_static(
+                                        "When the tag was first indexed by the AppView",
+                                    ),
+                                ),
                                 format: Some(LexStringFormat::Datetime),
                                 ..Default::default()
                             }),
@@ -495,7 +502,9 @@ fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
                         map.insert(
                             SmolStr::new_static("uri"),
                             LexObjectProperty::String(LexString {
-                                description: Some(CowStr::new_static("The AT-URI to the tag")),
+                                description: Some(
+                                    CowStr::new_static("The AT-URI to the tag"),
+                                ),
                                 format: Some(LexStringFormat::AtUri),
                                 ..Default::default()
                             }),
@@ -513,7 +522,7 @@ fn lexicon_doc_social_clippr_feed_defs() -> LexiconDoc<'static> {
 
 pub mod tag_view_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -778,4 +787,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed/clip.rs b/crates/jacquard-api/src/social_clippr/feed/clip.rs
index 9f6771de2..1cb13422f 100644
--- a/crates/jacquard-api/src/social_clippr/feed/clip.rs
+++ b/crates/jacquard-api/src/social_clippr/feed/clip.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::com_atproto::repo::strong_ref::StrongRef;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::com_atproto::repo::strong_ref::StrongRef;
 /// Record containing a bookmarked item, or 'clip'.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -239,7 +239,7 @@ fn _default_clip_unread() -> Option {
 
 pub mod clip_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -465,7 +465,10 @@ where
     St::Title: clip_state::IsUnset,
 {
     /// Set the `title` field (required)
-    pub fn title(mut self, value: impl Into) -> ClipBuilder, S> {
+    pub fn title(
+        mut self,
+        value: impl Into,
+    ) -> ClipBuilder, S> {
         self._fields.5 = Option::Some(value.into());
         ClipBuilder {
             _state: PhantomData,
@@ -513,7 +516,10 @@ where
     St::Url: clip_state::IsUnset,
 {
     /// Set the `url` field (required)
-    pub fn url(mut self, value: impl Into>) -> ClipBuilder, S> {
+    pub fn url(
+        mut self,
+        value: impl Into>,
+    ) -> ClipBuilder, S> {
         self._fields.8 = Option::Some(value.into());
         ClipBuilder {
             _state: PhantomData,
@@ -565,10 +571,10 @@ where
 }
 
 fn lexicon_doc_social_clippr_feed_clip() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.clippr.feed.clip"),
@@ -714,4 +720,4 @@ fn lexicon_doc_social_clippr_feed_clip() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed/get_clips.rs b/crates/jacquard-api/src/social_clippr/feed/get_clips.rs
index 5b88d5f8e..ea5f42490 100644
--- a/crates/jacquard-api/src/social_clippr/feed/get_clips.rs
+++ b/crates/jacquard-api/src/social_clippr/feed/get_clips.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::feed::ClipView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::feed::ClipView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetClips {
     pub uris: Vec>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetClipsOutput {
     ///An array of hydrated clip views
     pub clips: Vec>,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetClipsRequest {
 
 pub mod get_clips_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -172,4 +167,4 @@ where
             uris: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed/get_profile_clips.rs b/crates/jacquard-api/src/social_clippr/feed/get_profile_clips.rs
index 0bcb3ab60..4f499b30e 100644
--- a/crates/jacquard-api/src/social_clippr/feed/get_profile_clips.rs
+++ b/crates/jacquard-api/src/social_clippr/feed/get_profile_clips.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::feed::ClipView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::feed::ClipView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileClips {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -37,11 +34,9 @@ pub struct GetProfileClips {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileClipsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -88,7 +83,7 @@ fn _default_limit() -> Option {
 
 pub mod get_profile_clips_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -119,7 +114,10 @@ pub mod get_profile_clips_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetProfileClipsBuilder {
+pub struct GetProfileClipsBuilder<
+    St: get_profile_clips_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option, Option),
     _type: PhantomData S>,
@@ -233,4 +231,4 @@ where
             limit: self._fields.3,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed/get_profile_tags.rs b/crates/jacquard-api/src/social_clippr/feed/get_profile_tags.rs
index 21ac0314f..784ae1752 100644
--- a/crates/jacquard-api/src/social_clippr/feed/get_profile_tags.rs
+++ b/crates/jacquard-api/src/social_clippr/feed/get_profile_tags.rs
@@ -8,21 +8,18 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::feed::TagView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::feed::TagView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileTags {
     pub actor: AtIdentifier,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -33,11 +30,9 @@ pub struct GetProfileTags {
     pub limit: Option,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetProfileTagsOutput {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub cursor: Option,
@@ -80,7 +75,7 @@ fn _default_limit() -> Option {
 
 pub mod get_profile_tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -111,7 +106,10 @@ pub mod get_profile_tags_state {
 }
 
 /// Builder for constructing an instance of this type.
-pub struct GetProfileTagsBuilder {
+pub struct GetProfileTagsBuilder<
+    St: get_profile_tags_state::State,
+    S: BosStr = DefaultStr,
+> {
     _state: PhantomData St>,
     _fields: (Option>, Option, Option),
     _type: PhantomData S>,
@@ -211,4 +209,4 @@ where
             limit: self._fields.2,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed/get_tag_list.rs b/crates/jacquard-api/src/social_clippr/feed/get_tag_list.rs
index 509ed1c93..be5494a98 100644
--- a/crates/jacquard-api/src/social_clippr/feed/get_tag_list.rs
+++ b/crates/jacquard-api/src/social_clippr/feed/get_tag_list.rs
@@ -8,31 +8,26 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::feed::TagView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::ident::AtIdentifier;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::feed::TagView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTagList {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub actor: Option>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTagListOutput {
     ///A list of tags and their associated details
     pub tags: Vec>,
@@ -70,7 +65,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTagListRequest {
 
 pub mod get_tag_list_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -153,4 +148,4 @@ where
             actor: self._fields.0,
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed/get_tags.rs b/crates/jacquard-api/src/social_clippr/feed/get_tags.rs
index ec3009554..f96c0129a 100644
--- a/crates/jacquard-api/src/social_clippr/feed/get_tags.rs
+++ b/crates/jacquard-api/src/social_clippr/feed/get_tags.rs
@@ -8,30 +8,25 @@
 #[allow(unused_imports)]
 use alloc::collections::BTreeMap;
 
-use crate::social_clippr::feed::TagView;
 #[allow(unused_imports)]
 use core::marker::PhantomData;
+use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_common::deps::smol_str::SmolStr;
 use jacquard_common::types::string::AtUri;
 use jacquard_common::types::value::Data;
-use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
 use jacquard_derive::IntoStatic;
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_clippr::feed::TagView;
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTags {
     pub uris: Vec>,
 }
 
+
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct GetTagsOutput {
     ///An array of hydrated tag views
     pub tags: Vec>,
@@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetTagsRequest {
 
 pub mod get_tags_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -172,4 +167,4 @@ where
             uris: self._fields.0.unwrap(),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_clippr/feed/tag.rs b/crates/jacquard-api/src/social_clippr/feed/tag.rs
index db2fea393..fce89db48 100644
--- a/crates/jacquard-api/src/social_clippr/feed/tag.rs
+++ b/crates/jacquard-api/src/social_clippr/feed/tag.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A record containing a bookmark tag for organization.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -180,7 +180,7 @@ impl LexiconSchema for Tag {
 
 pub mod tag_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -355,10 +355,10 @@ where
 }
 
 fn lexicon_doc_social_clippr_feed_tag() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.clippr.feed.tag"),
@@ -367,24 +367,28 @@ fn lexicon_doc_social_clippr_feed_tag() -> LexiconDoc<'static> {
             map.insert(
                 SmolStr::new_static("main"),
                 LexUserType::Record(LexRecord {
-                    description: Some(CowStr::new_static(
-                        "A record containing a bookmark tag for organization.",
-                    )),
+                    description: Some(
+                        CowStr::new_static(
+                            "A record containing a bookmark tag for organization.",
+                        ),
+                    ),
                     key: Some(CowStr::new_static("any")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("color"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A hexadecimal color code",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("A hexadecimal color code"),
+                                    ),
                                     max_length: Some(70usize),
                                     max_graphemes: Some(7usize),
                                     ..Default::default()
@@ -393,9 +397,11 @@ fn lexicon_doc_social_clippr_feed_tag() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A client-defined timestamp for the creation of the tag",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "A client-defined timestamp for the creation of the tag",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -403,9 +409,11 @@ fn lexicon_doc_social_clippr_feed_tag() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("description"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A description of the tag for additional context",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "A description of the tag for additional context",
+                                        ),
+                                    ),
                                     max_length: Some(50000usize),
                                     max_graphemes: Some(5000usize),
                                     ..Default::default()
@@ -414,9 +422,11 @@ fn lexicon_doc_social_clippr_feed_tag() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "A de-duplicated string containing the name of the tag",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "A de-duplicated string containing the name of the tag",
+                                        ),
+                                    ),
                                     max_length: Some(640usize),
                                     max_graphemes: Some(64usize),
                                     ..Default::default()
@@ -433,4 +443,4 @@ fn lexicon_doc_social_clippr_feed_tag() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_colibri.rs b/crates/jacquard-api/src/social_colibri.rs
index ad017b4db..23b4cc0f2 100644
--- a/crates/jacquard-api/src/social_colibri.rs
+++ b/crates/jacquard-api/src/social_colibri.rs
@@ -5,4 +5,4 @@
 
 //! Generated bindings for the `social.colibri` Lexicon namespace/module.
 pub mod approval;
-pub mod membership;
+pub mod membership;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_colibri/approval.rs b/crates/jacquard-api/src/social_colibri/approval.rs
index 356d68036..44fe6ec63 100644
--- a/crates/jacquard-api/src/social_colibri/approval.rs
+++ b/crates/jacquard-api/src/social_colibri/approval.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -106,7 +106,7 @@ impl LexiconSchema for Approval {
 
 pub mod approval_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -290,10 +290,10 @@ where
 }
 
 fn lexicon_doc_social_colibri_approval() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.colibri.approval"),
@@ -304,20 +304,24 @@ fn lexicon_doc_social_colibri_approval() -> LexiconDoc<'static> {
                 LexUserType::Record(LexRecord {
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("membership"),
-                            SmolStr::new_static("community"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("membership"),
+                                SmolStr::new_static("community"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("community"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT-URI of the social.colibri.community record",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "AT-URI of the social.colibri.community record",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -332,9 +336,11 @@ fn lexicon_doc_social_colibri_approval() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("membership"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "AT-URI of the user's social.colibri.membership record",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "AT-URI of the user's social.colibri.membership record",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::AtUri),
                                     ..Default::default()
                                 }),
@@ -350,4 +356,4 @@ fn lexicon_doc_social_colibri_approval() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_colibri/membership.rs b/crates/jacquard-api/src/social_colibri/membership.rs
index b71d63d44..dccd835bf 100644
--- a/crates/jacquard-api/src/social_colibri/membership.rs
+++ b/crates/jacquard-api/src/social_colibri/membership.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(
@@ -104,7 +104,7 @@ impl LexiconSchema for Membership {
 
 pub mod membership_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -242,7 +242,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Membership {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Membership {
         Membership {
             community: self._fields.0.unwrap(),
             created_at: self._fields.1.unwrap(),
@@ -252,10 +255,10 @@ where
 }
 
 fn lexicon_doc_social_colibri_membership() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.colibri.membership"),
@@ -305,4 +308,4 @@ fn lexicon_doc_social_colibri_membership() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_drydown.rs b/crates/jacquard-api/src/social_drydown.rs
index bf4bb1933..77970d9d7 100644
--- a/crates/jacquard-api/src/social_drydown.rs
+++ b/crates/jacquard-api/src/social_drydown.rs
@@ -7,4 +7,4 @@
 pub mod fragrance;
 pub mod house;
 pub mod review;
-pub mod settings;
+pub mod settings;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_drydown/fragrance.rs b/crates/jacquard-api/src/social_drydown/fragrance.rs
index ff78c08bf..4ce14b32d 100644
--- a/crates/jacquard-api/src/social_drydown/fragrance.rs
+++ b/crates/jacquard-api/src/social_drydown/fragrance.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// An individual fragrance with house reference
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -154,7 +154,7 @@ impl LexiconSchema for Fragrance {
 
 pub mod fragrance_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -361,7 +361,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> Fragrance {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> Fragrance {
         Fragrance {
             created_at: self._fields.0.unwrap(),
             house: self._fields.1.unwrap(),
@@ -374,10 +377,10 @@ where
 }
 
 fn lexicon_doc_social_drydown_fragrance() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.drydown.fragrance"),
@@ -462,4 +465,4 @@ fn lexicon_doc_social_drydown_fragrance() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_drydown/house.rs b/crates/jacquard-api/src/social_drydown/house.rs
index 98717bce8..b9eea0ccf 100644
--- a/crates/jacquard-api/src/social_drydown/house.rs
+++ b/crates/jacquard-api/src/social_drydown/house.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A fragrance house or brand
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -131,7 +131,7 @@ impl LexiconSchema for House {
 
 pub mod house_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -241,7 +241,10 @@ where
     St::Name: house_state::IsUnset,
 {
     /// Set the `name` field (required)
-    pub fn name(mut self, value: impl Into) -> HouseBuilder, S> {
+    pub fn name(
+        mut self,
+        value: impl Into,
+    ) -> HouseBuilder, S> {
         self._fields.1 = Option::Some(value.into());
         HouseBuilder {
             _state: PhantomData,
@@ -291,10 +294,10 @@ where
 }
 
 fn lexicon_doc_social_drydown_house() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.drydown.house"),
@@ -306,19 +309,21 @@ fn lexicon_doc_social_drydown_house() -> LexiconDoc<'static> {
                     description: Some(CowStr::new_static("A fragrance house or brand")),
                     key: Some(CowStr::new_static("tid")),
                     record: LexRecordRecord::Object(LexObject {
-                        required: Some(vec![
-                            SmolStr::new_static("name"),
-                            SmolStr::new_static("createdAt"),
-                        ]),
+                        required: Some(
+                            vec![
+                                SmolStr::new_static("name"),
+                                SmolStr::new_static("createdAt")
+                            ],
+                        ),
                         properties: {
                             #[allow(unused_mut)]
                             let mut map = BTreeMap::new();
                             map.insert(
                                 SmolStr::new_static("createdAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp when house was created",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static("Timestamp when house was created"),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -326,9 +331,11 @@ fn lexicon_doc_social_drydown_house() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("name"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "House/brand name (must be unique per user)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "House/brand name (must be unique per user)",
+                                        ),
+                                    ),
                                     min_length: Some(1usize),
                                     max_length: Some(100usize),
                                     ..Default::default()
@@ -337,9 +344,11 @@ fn lexicon_doc_social_drydown_house() -> LexiconDoc<'static> {
                             map.insert(
                                 SmolStr::new_static("updatedAt"),
                                 LexObjectProperty::String(LexString {
-                                    description: Some(CowStr::new_static(
-                                        "Timestamp of last update (for name corrections)",
-                                    )),
+                                    description: Some(
+                                        CowStr::new_static(
+                                            "Timestamp of last update (for name corrections)",
+                                        ),
+                                    ),
                                     format: Some(LexStringFormat::Datetime),
                                     ..Default::default()
                                 }),
@@ -355,4 +364,4 @@ fn lexicon_doc_social_drydown_house() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_drydown/review.rs b/crates/jacquard-api/src/social_drydown/review.rs
index 9dec8eef6..663dc1c83 100644
--- a/crates/jacquard-api/src/social_drydown/review.rs
+++ b/crates/jacquard-api/src/social_drydown/review.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// A single wearing review of a fragrance
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -362,7 +362,7 @@ impl LexiconSchema for Review {
 
 pub mod review_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -452,8 +452,26 @@ impl ReviewBuilder {
         ReviewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -466,8 +484,26 @@ impl ReviewBuilder {
         ReviewBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -807,10 +843,10 @@ where
 }
 
 fn lexicon_doc_social_drydown_review() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.drydown.review"),
@@ -1005,4 +1041,4 @@ fn lexicon_doc_social_drydown_review() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_drydown/settings.rs b/crates/jacquard-api/src/social_drydown/settings.rs
index 651565eb7..5b9d88b79 100644
--- a/crates/jacquard-api/src/social_drydown/settings.rs
+++ b/crates/jacquard-api/src/social_drydown/settings.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema;
 
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
 /// User preferences for fragrance review scoring
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
@@ -283,7 +283,7 @@ impl LexiconSchema for Settings {
 
 pub mod settings_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -495,10 +495,10 @@ where
 }
 
 fn lexicon_doc_social_drydown_settings() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.drydown.settings"),
@@ -597,4 +597,4 @@ fn lexicon_doc_social_drydown_settings() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds.rs b/crates/jacquard-api/src/social_flockfeeds.rs
index e1289ad44..44d6b28d8 100644
--- a/crates/jacquard-api/src/social_flockfeeds.rs
+++ b/crates/jacquard-api/src/social_flockfeeds.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `social.flockfeeds` Lexicon namespace/module.
-pub mod lexical;
+pub mod lexical;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical.rs b/crates/jacquard-api/src/social_flockfeeds/lexical.rs
index e35f6ee8b..a756e94cc 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical.rs
@@ -4,4 +4,4 @@
 // Any manual changes will be overwritten on the next regeneration.
 
 //! Generated bindings for the `social.flockfeeds.lexical` Lexicon namespace/module.
-pub mod r#type;
+pub mod r#type;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type.rs
index 8bb9e98ee..63821c8bc 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type.rs
@@ -28,4 +28,4 @@ pub mod store;
 pub mod tv_episode;
 pub mod tv_season;
 pub mod tv_series;
-pub mod web_site;
+pub mod web_site;
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/api_reference.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/api_reference.rs
index 171af3358..6500108d8 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/api_reference.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/api_reference.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::social_flockfeeds::lexical::r#type::event;
 use crate::social_flockfeeds::lexical::r#type::image_object;
 use crate::social_flockfeeds::lexical::r#type::offer;
 use crate::social_flockfeeds::lexical::r#type::organization;
 use crate::social_flockfeeds::lexical::r#type::person;
 use crate::social_flockfeeds::lexical::r#type::product;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// Reference documentation for application programming interfaces (APIs).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Embedded {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub about: Option>,
@@ -327,6 +324,7 @@ pub struct Embedded {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -380,6 +378,7 @@ pub enum EmbeddedAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -460,6 +459,7 @@ pub enum EmbeddedAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -483,6 +483,7 @@ pub enum EmbeddedCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -528,6 +529,7 @@ pub enum EmbeddedContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -538,6 +540,7 @@ pub enum EmbeddedCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -573,6 +576,7 @@ pub enum EmbeddedCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -631,6 +635,7 @@ pub enum EmbeddedEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -691,6 +696,7 @@ pub enum EmbeddedFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -724,6 +730,7 @@ pub enum EmbeddedImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -757,6 +764,7 @@ pub enum EmbeddedIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -765,6 +773,7 @@ pub enum EmbeddedIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -815,6 +824,7 @@ pub enum EmbeddedMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -823,6 +833,7 @@ pub enum EmbeddedMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -846,6 +857,7 @@ pub enum EmbeddedOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -886,6 +898,7 @@ pub enum EmbeddedProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -906,6 +919,7 @@ pub enum EmbeddedProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -921,6 +935,7 @@ pub enum EmbeddedPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -929,6 +944,7 @@ pub enum EmbeddedPublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -942,6 +958,7 @@ pub enum EmbeddedRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -987,6 +1004,7 @@ pub enum EmbeddedSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1000,6 +1018,7 @@ pub enum EmbeddedSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1025,6 +1044,7 @@ pub enum EmbeddedSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1033,6 +1053,7 @@ pub enum EmbeddedSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1066,6 +1087,7 @@ pub enum EmbeddedThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1091,6 +1113,7 @@ pub enum EmbeddedTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1425,6 +1448,7 @@ pub struct ApiReference {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1478,6 +1502,7 @@ pub enum ApiReferenceAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1558,6 +1583,7 @@ pub enum ApiReferenceAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1581,6 +1607,7 @@ pub enum ApiReferenceCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1626,6 +1653,7 @@ pub enum ApiReferenceContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1636,6 +1664,7 @@ pub enum ApiReferenceCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1671,6 +1700,7 @@ pub enum ApiReferenceCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1729,6 +1759,7 @@ pub enum ApiReferenceEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1789,6 +1820,7 @@ pub enum ApiReferenceFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1822,6 +1854,7 @@ pub enum ApiReferenceImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1855,6 +1888,7 @@ pub enum ApiReferenceIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1863,6 +1897,7 @@ pub enum ApiReferenceIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1913,6 +1948,7 @@ pub enum ApiReferenceMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1921,6 +1957,7 @@ pub enum ApiReferenceMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1944,6 +1981,7 @@ pub enum ApiReferenceOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1984,6 +2022,7 @@ pub enum ApiReferenceProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2004,6 +2043,7 @@ pub enum ApiReferenceProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2019,6 +2059,7 @@ pub enum ApiReferencePublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2027,6 +2068,7 @@ pub enum ApiReferencePublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2040,6 +2082,7 @@ pub enum ApiReferenceRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2085,6 +2128,7 @@ pub enum ApiReferenceSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2098,6 +2142,7 @@ pub enum ApiReferenceSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2123,6 +2168,7 @@ pub enum ApiReferenceSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2131,6 +2177,7 @@ pub enum ApiReferenceSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2164,6 +2211,7 @@ pub enum ApiReferenceThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2189,6 +2237,7 @@ pub enum ApiReferenceTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2303,10 +2352,10 @@ impl LexiconSchema for ApiReference {
 }
 
 fn lexicon_doc_social_flockfeeds_lexical_type_APIReference() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.flockfeeds.lexical.type.APIReference"),
@@ -5280,7 +5329,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_APIReference() -> LexiconDoc<'stat
 
 pub mod api_reference_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5466,16 +5515,146 @@ impl ApiReferenceBuilder {
         ApiReferenceBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
                 None,
             ),
             _type: PhantomData,
@@ -5489,74 +5668,213 @@ impl ApiReferenceBuilder {
         ApiReferenceBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
                 None,
-            ),
-            _type: PhantomData,
-        }
-    }
-}
-
-impl ApiReferenceBuilder {
-    /// Set the `about` field (optional)
-    pub fn about(mut self, value: impl Into>>) -> Self {
-        self._fields.0 = value.into();
-        self
-    }
-    /// Set the `about` field to an Option value (optional)
-    pub fn maybe_about(mut self, value: Option>) -> Self {
-        self._fields.0 = value;
-        self
-    }
-}
-
-impl ApiReferenceBuilder {
-    /// Set the `abstract` field (optional)
-    pub fn r#abstract(mut self, value: impl Into>>) -> Self {
-        self._fields.1 = value.into();
-        self
-    }
-    /// Set the `abstract` field to an Option value (optional)
-    pub fn maybe_abstract(mut self, value: Option>) -> Self {
-        self._fields.1 = value;
-        self
-    }
-}
-
-impl ApiReferenceBuilder {
-    /// Set the `accessMode` field (optional)
-    pub fn access_mode(mut self, value: impl Into>>) -> Self {
-        self._fields.2 = value.into();
-        self
-    }
-    /// Set the `accessMode` field to an Option value (optional)
-    pub fn maybe_access_mode(mut self, value: Option>) -> Self {
-        self._fields.2 = value;
-        self
-    }
-}
-
-impl ApiReferenceBuilder {
-    /// Set the `accessModeSufficient` field (optional)
-    pub fn access_mode_sufficient(
-        mut self,
-        value: impl Into>>,
-    ) -> Self {
-        self._fields.3 = value.into();
-        self
-    }
-    /// Set the `accessModeSufficient` field to an Option value (optional)
-    pub fn maybe_access_mode_sufficient(
-        mut self,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+            ),
+            _type: PhantomData,
+        }
+    }
+}
+
+impl ApiReferenceBuilder {
+    /// Set the `about` field (optional)
+    pub fn about(mut self, value: impl Into>>) -> Self {
+        self._fields.0 = value.into();
+        self
+    }
+    /// Set the `about` field to an Option value (optional)
+    pub fn maybe_about(mut self, value: Option>) -> Self {
+        self._fields.0 = value;
+        self
+    }
+}
+
+impl ApiReferenceBuilder {
+    /// Set the `abstract` field (optional)
+    pub fn r#abstract(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
+        self._fields.1 = value.into();
+        self
+    }
+    /// Set the `abstract` field to an Option value (optional)
+    pub fn maybe_abstract(mut self, value: Option>) -> Self {
+        self._fields.1 = value;
+        self
+    }
+}
+
+impl ApiReferenceBuilder {
+    /// Set the `accessMode` field (optional)
+    pub fn access_mode(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
+        self._fields.2 = value.into();
+        self
+    }
+    /// Set the `accessMode` field to an Option value (optional)
+    pub fn maybe_access_mode(
+        mut self,
+        value: Option>,
+    ) -> Self {
+        self._fields.2 = value;
+        self
+    }
+}
+
+impl ApiReferenceBuilder {
+    /// Set the `accessModeSufficient` field (optional)
+    pub fn access_mode_sufficient(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
+        self._fields.3 = value.into();
+        self
+    }
+    /// Set the `accessModeSufficient` field to an Option value (optional)
+    pub fn maybe_access_mode_sufficient(
+        mut self,
         value: Option>,
     ) -> Self {
         self._fields.3 = value;
@@ -5707,7 +6025,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `additionalType` field to an Option value (optional)
-    pub fn maybe_additional_type(mut self, value: Option>) -> Self {
+    pub fn maybe_additional_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.11 = value;
         self
     }
@@ -5723,7 +6044,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `aggregateRating` field to an Option value (optional)
-    pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self {
+    pub fn maybe_aggregate_rating(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.12 = value;
         self
     }
@@ -5739,7 +6063,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `alternateName` field to an Option value (optional)
-    pub fn maybe_alternate_name(mut self, value: Option>) -> Self {
+    pub fn maybe_alternate_name(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.13 = value;
         self
     }
@@ -5766,12 +6093,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `archivedAt` field (optional)
-    pub fn archived_at(mut self, value: impl Into>>) -> Self {
+    pub fn archived_at(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.15 = value.into();
         self
     }
     /// Set the `archivedAt` field to an Option value (optional)
-    pub fn maybe_archived_at(mut self, value: Option>) -> Self {
+    pub fn maybe_archived_at(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.15 = value;
         self
     }
@@ -5779,12 +6112,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `articleBody` field (optional)
-    pub fn article_body(mut self, value: impl Into>>) -> Self {
+    pub fn article_body(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.16 = value.into();
         self
     }
     /// Set the `articleBody` field to an Option value (optional)
-    pub fn maybe_article_body(mut self, value: Option>) -> Self {
+    pub fn maybe_article_body(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.16 = value;
         self
     }
@@ -5800,7 +6139,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `articleSection` field to an Option value (optional)
-    pub fn maybe_article_section(mut self, value: Option>) -> Self {
+    pub fn maybe_article_section(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.17 = value;
         self
     }
@@ -5808,7 +6150,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `assembly` field (optional)
-    pub fn assembly(mut self, value: impl Into>>) -> Self {
+    pub fn assembly(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.18 = value.into();
         self
     }
@@ -5829,7 +6174,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `assemblyVersion` field to an Option value (optional)
-    pub fn maybe_assembly_version(mut self, value: Option>) -> Self {
+    pub fn maybe_assembly_version(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.19 = value;
         self
     }
@@ -5837,7 +6185,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `assesses` field (optional)
-    pub fn assesses(mut self, value: impl Into>>) -> Self {
+    pub fn assesses(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.20 = value.into();
         self
     }
@@ -5858,7 +6209,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `associatedMedia` field to an Option value (optional)
-    pub fn maybe_associated_media(mut self, value: Option>) -> Self {
+    pub fn maybe_associated_media(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.21 = value;
         self
     }
@@ -5866,7 +6220,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `audience` field (optional)
-    pub fn audience(mut self, value: impl Into>>) -> Self {
+    pub fn audience(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.22 = value.into();
         self
     }
@@ -5931,7 +6288,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `backstory` field (optional)
-    pub fn backstory(mut self, value: impl Into>>) -> Self {
+    pub fn backstory(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.27 = value.into();
         self
     }
@@ -5944,7 +6304,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `character` field (optional)
-    pub fn character(mut self, value: impl Into>>) -> Self {
+    pub fn character(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.28 = value.into();
         self
     }
@@ -5957,7 +6320,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `citation` field (optional)
-    pub fn citation(mut self, value: impl Into>>) -> Self {
+    pub fn citation(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.29 = value.into();
         self
     }
@@ -5983,12 +6349,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `commentCount` field (optional)
-    pub fn comment_count(mut self, value: impl Into>>) -> Self {
+    pub fn comment_count(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.31 = value.into();
         self
     }
     /// Set the `commentCount` field to an Option value (optional)
-    pub fn maybe_comment_count(mut self, value: Option>) -> Self {
+    pub fn maybe_comment_count(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.31 = value;
         self
     }
@@ -6023,7 +6395,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `contentLocation` field to an Option value (optional)
-    pub fn maybe_content_location(mut self, value: Option>) -> Self {
+    pub fn maybe_content_location(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.33 = value;
         self
     }
@@ -6039,7 +6414,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `contentRating` field to an Option value (optional)
-    pub fn maybe_content_rating(mut self, value: Option>) -> Self {
+    pub fn maybe_content_rating(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.34 = value;
         self
     }
@@ -6066,12 +6444,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `contributor` field (optional)
-    pub fn contributor(mut self, value: impl Into>>) -> Self {
+    pub fn contributor(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.36 = value.into();
         self
     }
     /// Set the `contributor` field to an Option value (optional)
-    pub fn maybe_contributor(mut self, value: Option>) -> Self {
+    pub fn maybe_contributor(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.36 = value;
         self
     }
@@ -6087,7 +6471,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `copyrightHolder` field to an Option value (optional)
-    pub fn maybe_copyright_holder(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_holder(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.37 = value;
         self
     }
@@ -6103,7 +6490,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `copyrightNotice` field to an Option value (optional)
-    pub fn maybe_copyright_notice(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_notice(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.38 = value;
         self
     }
@@ -6119,7 +6509,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `copyrightYear` field to an Option value (optional)
-    pub fn maybe_copyright_year(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_year(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.39 = value;
         self
     }
@@ -6127,7 +6520,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `correction` field (optional)
-    pub fn correction(mut self, value: impl Into>>) -> Self {
+    pub fn correction(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.40 = value.into();
         self
     }
@@ -6191,12 +6587,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `creditText` field (optional)
-    pub fn credit_text(mut self, value: impl Into>>) -> Self {
+    pub fn credit_text(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.44 = value.into();
         self
     }
     /// Set the `creditText` field to an Option value (optional)
-    pub fn maybe_credit_text(mut self, value: Option>) -> Self {
+    pub fn maybe_credit_text(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.44 = value;
         self
     }
@@ -6204,12 +6606,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `dateCreated` field (optional)
-    pub fn date_created(mut self, value: impl Into>>) -> Self {
+    pub fn date_created(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.45 = value.into();
         self
     }
     /// Set the `dateCreated` field to an Option value (optional)
-    pub fn maybe_date_created(mut self, value: Option>) -> Self {
+    pub fn maybe_date_created(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.45 = value;
         self
     }
@@ -6217,12 +6625,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `dateModified` field (optional)
-    pub fn date_modified(mut self, value: impl Into>>) -> Self {
+    pub fn date_modified(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.46 = value.into();
         self
     }
     /// Set the `dateModified` field to an Option value (optional)
-    pub fn maybe_date_modified(mut self, value: Option>) -> Self {
+    pub fn maybe_date_modified(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.46 = value;
         self
     }
@@ -6238,7 +6652,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `datePublished` field to an Option value (optional)
-    pub fn maybe_date_published(mut self, value: Option>) -> Self {
+    pub fn maybe_date_published(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.47 = value;
         self
     }
@@ -6246,12 +6663,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `dependencies` field (optional)
-    pub fn dependencies(mut self, value: impl Into>>) -> Self {
+    pub fn dependencies(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.48 = value.into();
         self
     }
     /// Set the `dependencies` field to an Option value (optional)
-    pub fn maybe_dependencies(mut self, value: Option>) -> Self {
+    pub fn maybe_dependencies(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.48 = value;
         self
     }
@@ -6259,12 +6682,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `description` field (optional)
-    pub fn description(mut self, value: impl Into>>) -> Self {
+    pub fn description(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.49 = value.into();
         self
     }
     /// Set the `description` field to an Option value (optional)
-    pub fn maybe_description(mut self, value: Option>) -> Self {
+    pub fn maybe_description(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.49 = value;
         self
     }
@@ -6318,7 +6747,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `discussionUrl` field to an Option value (optional)
-    pub fn maybe_discussion_url(mut self, value: Option>) -> Self {
+    pub fn maybe_discussion_url(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.52 = value;
         self
     }
@@ -6326,7 +6758,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `editEIDR` field (optional)
-    pub fn edit_eidr(mut self, value: impl Into>>) -> Self {
+    pub fn edit_eidr(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.53 = value.into();
         self
     }
@@ -6398,7 +6833,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `educationalUse` field to an Option value (optional)
-    pub fn maybe_educational_use(mut self, value: Option>) -> Self {
+    pub fn maybe_educational_use(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.57 = value;
         self
     }
@@ -6406,7 +6844,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `encoding` field (optional)
-    pub fn encoding(mut self, value: impl Into>>) -> Self {
+    pub fn encoding(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.58 = value.into();
         self
     }
@@ -6427,7 +6868,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `encodingFormat` field to an Option value (optional)
-    pub fn maybe_encoding_format(mut self, value: Option>) -> Self {
+    pub fn maybe_encoding_format(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.59 = value;
         self
     }
@@ -6435,7 +6879,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `encodings` field (optional)
-    pub fn encodings(mut self, value: impl Into>>) -> Self {
+    pub fn encodings(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.60 = value.into();
         self
     }
@@ -6456,7 +6903,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `exampleOfWork` field to an Option value (optional)
-    pub fn maybe_example_of_work(mut self, value: Option>) -> Self {
+    pub fn maybe_example_of_work(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.61 = value;
         self
     }
@@ -6496,12 +6946,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `fileFormat` field (optional)
-    pub fn file_format(mut self, value: impl Into>>) -> Self {
+    pub fn file_format(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.64 = value.into();
         self
     }
     /// Set the `fileFormat` field to an Option value (optional)
-    pub fn maybe_file_format(mut self, value: Option>) -> Self {
+    pub fn maybe_file_format(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.64 = value;
         self
     }
@@ -6561,7 +7017,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `headline` field (optional)
-    pub fn headline(mut self, value: impl Into>>) -> Self {
+    pub fn headline(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.69 = value.into();
         self
     }
@@ -6574,7 +7033,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `identifier` field (optional)
-    pub fn identifier(mut self, value: impl Into>>) -> Self {
+    pub fn identifier(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.70 = value.into();
         self
     }
@@ -6600,12 +7062,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `inLanguage` field (optional)
-    pub fn in_language(mut self, value: impl Into>>) -> Self {
+    pub fn in_language(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.72 = value.into();
         self
     }
     /// Set the `inLanguage` field to an Option value (optional)
-    pub fn maybe_in_language(mut self, value: Option>) -> Self {
+    pub fn maybe_in_language(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.72 = value;
         self
     }
@@ -6689,7 +7157,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `isBasedOn` field (optional)
-    pub fn is_based_on(mut self, value: impl Into>>) -> Self {
+    pub fn is_based_on(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.77 = value.into();
         self
     }
@@ -6710,7 +7181,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `isBasedOnUrl` field to an Option value (optional)
-    pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self {
+    pub fn maybe_is_based_on_url(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.78 = value;
         self
     }
@@ -6737,7 +7211,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `isPartOf` field (optional)
-    pub fn is_part_of(mut self, value: impl Into>>) -> Self {
+    pub fn is_part_of(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.80 = value.into();
         self
     }
@@ -6750,7 +7227,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `keywords` field (optional)
-    pub fn keywords(mut self, value: impl Into>>) -> Self {
+    pub fn keywords(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.81 = value.into();
         self
     }
@@ -6803,7 +7283,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `locationCreated` field to an Option value (optional)
-    pub fn maybe_location_created(mut self, value: Option>) -> Self {
+    pub fn maybe_location_created(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.84 = value;
         self
     }
@@ -6811,12 +7294,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `mainEntity` field (optional)
-    pub fn main_entity(mut self, value: impl Into>>) -> Self {
+    pub fn main_entity(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.85 = value.into();
         self
     }
     /// Set the `mainEntity` field to an Option value (optional)
-    pub fn maybe_main_entity(mut self, value: Option>) -> Self {
+    pub fn maybe_main_entity(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.85 = value;
         self
     }
@@ -6843,7 +7332,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `maintainer` field (optional)
-    pub fn maintainer(mut self, value: impl Into>>) -> Self {
+    pub fn maintainer(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.87 = value.into();
         self
     }
@@ -6856,7 +7348,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `material` field (optional)
-    pub fn material(mut self, value: impl Into>>) -> Self {
+    pub fn material(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.88 = value.into();
         self
     }
@@ -6877,7 +7372,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `materialExtent` field to an Option value (optional)
-    pub fn maybe_material_extent(mut self, value: Option>) -> Self {
+    pub fn maybe_material_extent(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.89 = value;
         self
     }
@@ -6885,7 +7383,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `mentions` field (optional)
-    pub fn mentions(mut self, value: impl Into>>) -> Self {
+    pub fn mentions(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.90 = value.into();
         self
     }
@@ -6937,7 +7438,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `pageStart` field (optional)
-    pub fn page_start(mut self, value: impl Into>>) -> Self {
+    pub fn page_start(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.94 = value.into();
         self
     }
@@ -6950,7 +7454,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `pagination` field (optional)
-    pub fn pagination(mut self, value: impl Into>>) -> Self {
+    pub fn pagination(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.95 = value.into();
         self
     }
@@ -6976,7 +7483,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `position` field (optional)
-    pub fn position(mut self, value: impl Into>>) -> Self {
+    pub fn position(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.97 = value.into();
         self
     }
@@ -6997,7 +7507,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `potentialAction` field to an Option value (optional)
-    pub fn maybe_potential_action(mut self, value: Option>) -> Self {
+    pub fn maybe_potential_action(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.98 = value;
         self
     }
@@ -7005,7 +7518,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `producer` field (optional)
-    pub fn producer(mut self, value: impl Into>>) -> Self {
+    pub fn producer(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.99 = value.into();
         self
     }
@@ -7056,7 +7572,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `provider` field (optional)
-    pub fn provider(mut self, value: impl Into>>) -> Self {
+    pub fn provider(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.102 = value.into();
         self
     }
@@ -7069,12 +7588,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `publication` field (optional)
-    pub fn publication(mut self, value: impl Into>>) -> Self {
+    pub fn publication(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.103 = value.into();
         self
     }
     /// Set the `publication` field to an Option value (optional)
-    pub fn maybe_publication(mut self, value: Option>) -> Self {
+    pub fn maybe_publication(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.103 = value;
         self
     }
@@ -7082,7 +7607,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `publisher` field (optional)
-    pub fn publisher(mut self, value: impl Into>>) -> Self {
+    pub fn publisher(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.104 = value.into();
         self
     }
@@ -7133,12 +7661,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `recordedAt` field (optional)
-    pub fn recorded_at(mut self, value: impl Into>>) -> Self {
+    pub fn recorded_at(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.107 = value.into();
         self
     }
     /// Set the `recordedAt` field to an Option value (optional)
-    pub fn maybe_recorded_at(mut self, value: Option>) -> Self {
+    pub fn maybe_recorded_at(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.107 = value;
         self
     }
@@ -7154,7 +7688,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `releasedEvent` field to an Option value (optional)
-    pub fn maybe_released_event(mut self, value: Option>) -> Self {
+    pub fn maybe_released_event(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.108 = value;
         self
     }
@@ -7209,7 +7746,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `schemaVersion` field to an Option value (optional)
-    pub fn maybe_schema_version(mut self, value: Option>) -> Self {
+    pub fn maybe_schema_version(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.112 = value;
         self
     }
@@ -7236,7 +7776,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `sdLicense` field (optional)
-    pub fn sd_license(mut self, value: impl Into>>) -> Self {
+    pub fn sd_license(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.114 = value.into();
         self
     }
@@ -7249,12 +7792,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `sdPublisher` field (optional)
-    pub fn sd_publisher(mut self, value: impl Into>>) -> Self {
+    pub fn sd_publisher(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.115 = value.into();
         self
     }
     /// Set the `sdPublisher` field to an Option value (optional)
-    pub fn maybe_sd_publisher(mut self, value: Option>) -> Self {
+    pub fn maybe_sd_publisher(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.115 = value;
         self
     }
@@ -7315,7 +7864,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `spatialCoverage` field to an Option value (optional)
-    pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self {
+    pub fn maybe_spatial_coverage(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.119 = value;
         self
     }
@@ -7323,7 +7875,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `speakable` field (optional)
-    pub fn speakable(mut self, value: impl Into>>) -> Self {
+    pub fn speakable(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.120 = value.into();
         self
     }
@@ -7349,7 +7904,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `subjectOf` field (optional)
-    pub fn subject_of(mut self, value: impl Into>>) -> Self {
+    pub fn subject_of(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.122 = value.into();
         self
     }
@@ -7370,7 +7928,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `targetPlatform` field to an Option value (optional)
-    pub fn maybe_target_platform(mut self, value: Option>) -> Self {
+    pub fn maybe_target_platform(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.123 = value;
         self
     }
@@ -7391,7 +7952,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `temporal` field (optional)
-    pub fn temporal(mut self, value: impl Into>>) -> Self {
+    pub fn temporal(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.125 = value.into();
         self
     }
@@ -7436,7 +8000,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `thumbnail` field (optional)
-    pub fn thumbnail(mut self, value: impl Into>>) -> Self {
+    pub fn thumbnail(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.128 = value.into();
         self
     }
@@ -7449,12 +8016,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `thumbnailUrl` field (optional)
-    pub fn thumbnail_url(mut self, value: impl Into>>) -> Self {
+    pub fn thumbnail_url(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.129 = value.into();
         self
     }
     /// Set the `thumbnailUrl` field to an Option value (optional)
-    pub fn maybe_thumbnail_url(mut self, value: Option>) -> Self {
+    pub fn maybe_thumbnail_url(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.129 = value;
         self
     }
@@ -7462,12 +8035,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `timeRequired` field (optional)
-    pub fn time_required(mut self, value: impl Into>>) -> Self {
+    pub fn time_required(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.130 = value.into();
         self
     }
     /// Set the `timeRequired` field to an Option value (optional)
-    pub fn maybe_time_required(mut self, value: Option>) -> Self {
+    pub fn maybe_time_required(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.130 = value;
         self
     }
@@ -7494,7 +8073,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `translator` field (optional)
-    pub fn translator(mut self, value: impl Into>>) -> Self {
+    pub fn translator(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.132 = value.into();
         self
     }
@@ -7539,7 +8121,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `usageInfo` field (optional)
-    pub fn usage_info(mut self, value: impl Into>>) -> Self {
+    pub fn usage_info(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.135 = value.into();
         self
     }
@@ -7578,7 +8163,10 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `wordCount` field (optional)
-    pub fn word_count(mut self, value: impl Into>>) -> Self {
+    pub fn word_count(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.138 = value.into();
         self
     }
@@ -7591,12 +8179,18 @@ impl ApiReferenceBuilder {
 
 impl ApiReferenceBuilder {
     /// Set the `workExample` field (optional)
-    pub fn work_example(mut self, value: impl Into>>) -> Self {
+    pub fn work_example(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.139 = value.into();
         self
     }
     /// Set the `workExample` field to an Option value (optional)
-    pub fn maybe_work_example(mut self, value: Option>) -> Self {
+    pub fn maybe_work_example(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.139 = value;
         self
     }
@@ -7612,7 +8206,10 @@ impl ApiReferenceBuilder {
         self
     }
     /// Set the `workTranslation` field to an Option value (optional)
-    pub fn maybe_work_translation(mut self, value: Option>) -> Self {
+    pub fn maybe_work_translation(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.140 = value;
         self
     }
@@ -7770,7 +8367,10 @@ where
         }
     }
     /// Build the final struct with custom extra_data.
-    pub fn build_with_data(self, extra_data: BTreeMap>) -> ApiReference {
+    pub fn build_with_data(
+        self,
+        extra_data: BTreeMap>,
+    ) -> ApiReference {
         ApiReference {
             about: self._fields.0,
             r#abstract: self._fields.1,
@@ -7916,4 +8516,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/article.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/article.rs
index ff404bcd2..5f14e7e2c 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/article.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/article.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::social_flockfeeds::lexical::r#type::event;
 use crate::social_flockfeeds::lexical::r#type::image_object;
 use crate::social_flockfeeds::lexical::r#type::offer;
 use crate::social_flockfeeds::lexical::r#type::organization;
 use crate::social_flockfeeds::lexical::r#type::person;
 use crate::social_flockfeeds::lexical::r#type::product;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// An article, such as a news article or piece of investigative report. Newspapers and magazines have articles of many different types and this is intended to cover them all.\n\nSee also [blog post](https://blog.schema.org/2014/09/02/schema-org-support-for-bibliographic-relationships-and-periodicals/).
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Embedded {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub about: Option>,
@@ -313,6 +310,7 @@ pub struct Embedded {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -366,6 +364,7 @@ pub enum EmbeddedAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -436,6 +435,7 @@ pub enum EmbeddedAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -459,6 +459,7 @@ pub enum EmbeddedCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -504,6 +505,7 @@ pub enum EmbeddedContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -514,6 +516,7 @@ pub enum EmbeddedCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -549,6 +552,7 @@ pub enum EmbeddedCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -602,6 +606,7 @@ pub enum EmbeddedEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -657,6 +662,7 @@ pub enum EmbeddedFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -690,6 +696,7 @@ pub enum EmbeddedImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -723,6 +730,7 @@ pub enum EmbeddedIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -731,6 +739,7 @@ pub enum EmbeddedIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -781,6 +790,7 @@ pub enum EmbeddedMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -789,6 +799,7 @@ pub enum EmbeddedMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -812,6 +823,7 @@ pub enum EmbeddedOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -852,6 +864,7 @@ pub enum EmbeddedProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -862,6 +875,7 @@ pub enum EmbeddedProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -877,6 +891,7 @@ pub enum EmbeddedPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -885,6 +900,7 @@ pub enum EmbeddedPublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -898,6 +914,7 @@ pub enum EmbeddedRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -943,6 +960,7 @@ pub enum EmbeddedSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -956,6 +974,7 @@ pub enum EmbeddedSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -981,6 +1000,7 @@ pub enum EmbeddedSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -989,6 +1009,7 @@ pub enum EmbeddedSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1017,6 +1038,7 @@ pub enum EmbeddedThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1042,6 +1064,7 @@ pub enum EmbeddedTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1362,6 +1385,7 @@ pub struct Article {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1415,6 +1439,7 @@ pub enum ArticleAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1485,6 +1510,7 @@ pub enum ArticleAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1508,6 +1534,7 @@ pub enum ArticleCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1553,6 +1580,7 @@ pub enum ArticleContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1563,6 +1591,7 @@ pub enum ArticleCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1598,6 +1627,7 @@ pub enum ArticleCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1651,6 +1681,7 @@ pub enum ArticleEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1706,6 +1737,7 @@ pub enum ArticleFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1739,6 +1771,7 @@ pub enum ArticleImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1772,6 +1805,7 @@ pub enum ArticleIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1780,6 +1814,7 @@ pub enum ArticleIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1830,6 +1865,7 @@ pub enum ArticleMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1838,6 +1874,7 @@ pub enum ArticleMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1861,6 +1898,7 @@ pub enum ArticleOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1901,6 +1939,7 @@ pub enum ArticleProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1911,6 +1950,7 @@ pub enum ArticleProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1926,6 +1966,7 @@ pub enum ArticlePublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1934,6 +1975,7 @@ pub enum ArticlePublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1947,6 +1989,7 @@ pub enum ArticleRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1992,6 +2035,7 @@ pub enum ArticleSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2005,6 +2049,7 @@ pub enum ArticleSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2030,6 +2075,7 @@ pub enum ArticleSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2038,6 +2084,7 @@ pub enum ArticleSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2066,6 +2113,7 @@ pub enum ArticleThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2091,6 +2139,7 @@ pub enum ArticleTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2205,10 +2254,10 @@ impl LexiconSchema for Article {
 }
 
 fn lexicon_doc_social_flockfeeds_lexical_type_Article() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.flockfeeds.lexical.type.Article"),
@@ -5042,7 +5091,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Article() -> LexiconDoc<'static> {
 
 pub mod article_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5221,16 +5270,140 @@ impl ArticleBuilder {
         ArticleBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -5243,16 +5416,140 @@ impl ArticleBuilder {
         ArticleBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -5287,7 +5584,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `accessMode` field (optional)
-    pub fn access_mode(mut self, value: impl Into>>) -> Self {
+    pub fn access_mode(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -5327,7 +5627,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `accessibilityAPI` field to an Option value (optional)
-    pub fn maybe_accessibility_api(mut self, value: Option>) -> Self {
+    pub fn maybe_accessibility_api(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.4 = value;
         self
     }
@@ -5419,7 +5722,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `accountablePerson` field to an Option value (optional)
-    pub fn maybe_accountable_person(mut self, value: Option>) -> Self {
+    pub fn maybe_accountable_person(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.9 = value;
         self
     }
@@ -5446,12 +5752,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `additionalType` field (optional)
-    pub fn additional_type(mut self, value: impl Into>>) -> Self {
+    pub fn additional_type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.11 = value.into();
         self
     }
     /// Set the `additionalType` field to an Option value (optional)
-    pub fn maybe_additional_type(mut self, value: Option>) -> Self {
+    pub fn maybe_additional_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.11 = value;
         self
     }
@@ -5459,12 +5771,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `aggregateRating` field (optional)
-    pub fn aggregate_rating(mut self, value: impl Into>>) -> Self {
+    pub fn aggregate_rating(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.12 = value.into();
         self
     }
     /// Set the `aggregateRating` field to an Option value (optional)
-    pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self {
+    pub fn maybe_aggregate_rating(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.12 = value;
         self
     }
@@ -5472,12 +5790,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `alternateName` field (optional)
-    pub fn alternate_name(mut self, value: impl Into>>) -> Self {
+    pub fn alternate_name(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.13 = value.into();
         self
     }
     /// Set the `alternateName` field to an Option value (optional)
-    pub fn maybe_alternate_name(mut self, value: Option>) -> Self {
+    pub fn maybe_alternate_name(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.13 = value;
         self
     }
@@ -5504,7 +5828,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `archivedAt` field (optional)
-    pub fn archived_at(mut self, value: impl Into>>) -> Self {
+    pub fn archived_at(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.15 = value.into();
         self
     }
@@ -5517,7 +5844,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `articleBody` field (optional)
-    pub fn article_body(mut self, value: impl Into>>) -> Self {
+    pub fn article_body(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.16 = value.into();
         self
     }
@@ -5530,12 +5860,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `articleSection` field (optional)
-    pub fn article_section(mut self, value: impl Into>>) -> Self {
+    pub fn article_section(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.17 = value.into();
         self
     }
     /// Set the `articleSection` field to an Option value (optional)
-    pub fn maybe_article_section(mut self, value: Option>) -> Self {
+    pub fn maybe_article_section(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.17 = value;
         self
     }
@@ -5556,12 +5892,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `associatedMedia` field (optional)
-    pub fn associated_media(mut self, value: impl Into>>) -> Self {
+    pub fn associated_media(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.19 = value.into();
         self
     }
     /// Set the `associatedMedia` field to an Option value (optional)
-    pub fn maybe_associated_media(mut self, value: Option>) -> Self {
+    pub fn maybe_associated_media(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.19 = value;
         self
     }
@@ -5686,7 +6028,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `commentCount` field (optional)
-    pub fn comment_count(mut self, value: impl Into>>) -> Self {
+    pub fn comment_count(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.29 = value.into();
         self
     }
@@ -5718,12 +6063,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `contentLocation` field (optional)
-    pub fn content_location(mut self, value: impl Into>>) -> Self {
+    pub fn content_location(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.31 = value.into();
         self
     }
     /// Set the `contentLocation` field to an Option value (optional)
-    pub fn maybe_content_location(mut self, value: Option>) -> Self {
+    pub fn maybe_content_location(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.31 = value;
         self
     }
@@ -5731,12 +6082,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `contentRating` field (optional)
-    pub fn content_rating(mut self, value: impl Into>>) -> Self {
+    pub fn content_rating(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.32 = value.into();
         self
     }
     /// Set the `contentRating` field to an Option value (optional)
-    pub fn maybe_content_rating(mut self, value: Option>) -> Self {
+    pub fn maybe_content_rating(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.32 = value;
         self
     }
@@ -5763,7 +6120,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `contributor` field (optional)
-    pub fn contributor(mut self, value: impl Into>>) -> Self {
+    pub fn contributor(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.34 = value.into();
         self
     }
@@ -5776,12 +6136,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `copyrightHolder` field (optional)
-    pub fn copyright_holder(mut self, value: impl Into>>) -> Self {
+    pub fn copyright_holder(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.35 = value.into();
         self
     }
     /// Set the `copyrightHolder` field to an Option value (optional)
-    pub fn maybe_copyright_holder(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_holder(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.35 = value;
         self
     }
@@ -5789,12 +6155,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `copyrightNotice` field (optional)
-    pub fn copyright_notice(mut self, value: impl Into>>) -> Self {
+    pub fn copyright_notice(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.36 = value.into();
         self
     }
     /// Set the `copyrightNotice` field to an Option value (optional)
-    pub fn maybe_copyright_notice(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_notice(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.36 = value;
         self
     }
@@ -5802,12 +6174,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `copyrightYear` field (optional)
-    pub fn copyright_year(mut self, value: impl Into>>) -> Self {
+    pub fn copyright_year(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.37 = value.into();
         self
     }
     /// Set the `copyrightYear` field to an Option value (optional)
-    pub fn maybe_copyright_year(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_year(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.37 = value;
         self
     }
@@ -5836,7 +6214,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `countryOfOrigin` field to an Option value (optional)
-    pub fn maybe_country_of_origin(mut self, value: Option>) -> Self {
+    pub fn maybe_country_of_origin(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.39 = value;
         self
     }
@@ -5876,7 +6257,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `creditText` field (optional)
-    pub fn credit_text(mut self, value: impl Into>>) -> Self {
+    pub fn credit_text(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.42 = value.into();
         self
     }
@@ -5889,7 +6273,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `dateCreated` field (optional)
-    pub fn date_created(mut self, value: impl Into>>) -> Self {
+    pub fn date_created(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.43 = value.into();
         self
     }
@@ -5902,7 +6289,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `dateModified` field (optional)
-    pub fn date_modified(mut self, value: impl Into>>) -> Self {
+    pub fn date_modified(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.44 = value.into();
         self
     }
@@ -5915,12 +6305,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `datePublished` field (optional)
-    pub fn date_published(mut self, value: impl Into>>) -> Self {
+    pub fn date_published(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.45 = value.into();
         self
     }
     /// Set the `datePublished` field to an Option value (optional)
-    pub fn maybe_date_published(mut self, value: Option>) -> Self {
+    pub fn maybe_date_published(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.45 = value;
         self
     }
@@ -5928,7 +6324,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `description` field (optional)
-    pub fn description(mut self, value: impl Into>>) -> Self {
+    pub fn description(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.46 = value.into();
         self
     }
@@ -5949,7 +6348,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `digitalSourceType` field to an Option value (optional)
-    pub fn maybe_digital_source_type(mut self, value: Option>) -> Self {
+    pub fn maybe_digital_source_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.47 = value;
         self
     }
@@ -5976,12 +6378,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `discussionUrl` field (optional)
-    pub fn discussion_url(mut self, value: impl Into>>) -> Self {
+    pub fn discussion_url(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.49 = value.into();
         self
     }
     /// Set the `discussionUrl` field to an Option value (optional)
-    pub fn maybe_discussion_url(mut self, value: Option>) -> Self {
+    pub fn maybe_discussion_url(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.49 = value;
         self
     }
@@ -6042,7 +6450,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `educationalLevel` field to an Option value (optional)
-    pub fn maybe_educational_level(mut self, value: Option>) -> Self {
+    pub fn maybe_educational_level(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.53 = value;
         self
     }
@@ -6050,12 +6461,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `educationalUse` field (optional)
-    pub fn educational_use(mut self, value: impl Into>>) -> Self {
+    pub fn educational_use(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.54 = value.into();
         self
     }
     /// Set the `educationalUse` field to an Option value (optional)
-    pub fn maybe_educational_use(mut self, value: Option>) -> Self {
+    pub fn maybe_educational_use(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.54 = value;
         self
     }
@@ -6076,12 +6493,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `encodingFormat` field (optional)
-    pub fn encoding_format(mut self, value: impl Into>>) -> Self {
+    pub fn encoding_format(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.56 = value.into();
         self
     }
     /// Set the `encodingFormat` field to an Option value (optional)
-    pub fn maybe_encoding_format(mut self, value: Option>) -> Self {
+    pub fn maybe_encoding_format(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.56 = value;
         self
     }
@@ -6102,12 +6525,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `exampleOfWork` field (optional)
-    pub fn example_of_work(mut self, value: impl Into>>) -> Self {
+    pub fn example_of_work(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.58 = value.into();
         self
     }
     /// Set the `exampleOfWork` field to an Option value (optional)
-    pub fn maybe_example_of_work(mut self, value: Option>) -> Self {
+    pub fn maybe_example_of_work(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.58 = value;
         self
     }
@@ -6128,7 +6557,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `fileFormat` field (optional)
-    pub fn file_format(mut self, value: impl Into>>) -> Self {
+    pub fn file_format(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.60 = value.into();
         self
     }
@@ -6232,7 +6664,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `inLanguage` field (optional)
-    pub fn in_language(mut self, value: impl Into>>) -> Self {
+    pub fn in_language(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.68 = value.into();
         self
     }
@@ -6272,7 +6707,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `interactivityType` field to an Option value (optional)
-    pub fn maybe_interactivity_type(mut self, value: Option>) -> Self {
+    pub fn maybe_interactivity_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.70 = value;
         self
     }
@@ -6331,12 +6769,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `isBasedOnUrl` field (optional)
-    pub fn is_based_on_url(mut self, value: impl Into>>) -> Self {
+    pub fn is_based_on_url(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.74 = value.into();
         self
     }
     /// Set the `isBasedOnUrl` field to an Option value (optional)
-    pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self {
+    pub fn maybe_is_based_on_url(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.74 = value;
         self
     }
@@ -6352,7 +6796,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `isFamilyFriendly` field to an Option value (optional)
-    pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self {
+    pub fn maybe_is_family_friendly(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.75 = value;
         self
     }
@@ -6418,12 +6865,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `locationCreated` field (optional)
-    pub fn location_created(mut self, value: impl Into>>) -> Self {
+    pub fn location_created(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.80 = value.into();
         self
     }
     /// Set the `locationCreated` field to an Option value (optional)
-    pub fn maybe_location_created(mut self, value: Option>) -> Self {
+    pub fn maybe_location_created(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.80 = value;
         self
     }
@@ -6431,7 +6884,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `mainEntity` field (optional)
-    pub fn main_entity(mut self, value: impl Into>>) -> Self {
+    pub fn main_entity(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.81 = value.into();
         self
     }
@@ -6452,7 +6908,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `mainEntityOfPage` field to an Option value (optional)
-    pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self {
+    pub fn maybe_main_entity_of_page(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.82 = value;
         self
     }
@@ -6486,12 +6945,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `materialExtent` field (optional)
-    pub fn material_extent(mut self, value: impl Into>>) -> Self {
+    pub fn material_extent(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.85 = value.into();
         self
     }
     /// Set the `materialExtent` field to an Option value (optional)
-    pub fn maybe_material_extent(mut self, value: Option>) -> Self {
+    pub fn maybe_material_extent(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.85 = value;
         self
     }
@@ -6603,12 +7068,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `potentialAction` field (optional)
-    pub fn potential_action(mut self, value: impl Into>>) -> Self {
+    pub fn potential_action(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.94 = value.into();
         self
     }
     /// Set the `potentialAction` field to an Option value (optional)
-    pub fn maybe_potential_action(mut self, value: Option>) -> Self {
+    pub fn maybe_potential_action(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.94 = value;
         self
     }
@@ -6642,7 +7113,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `publication` field (optional)
-    pub fn publication(mut self, value: impl Into>>) -> Self {
+    pub fn publication(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.97 = value.into();
         self
     }
@@ -6676,7 +7150,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `publisherImprint` field to an Option value (optional)
-    pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self {
+    pub fn maybe_publisher_imprint(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.99 = value;
         self
     }
@@ -6703,7 +7180,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `recordedAt` field (optional)
-    pub fn recorded_at(mut self, value: impl Into>>) -> Self {
+    pub fn recorded_at(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.101 = value.into();
         self
     }
@@ -6716,12 +7196,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `releasedEvent` field (optional)
-    pub fn released_event(mut self, value: impl Into>>) -> Self {
+    pub fn released_event(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.102 = value.into();
         self
     }
     /// Set the `releasedEvent` field to an Option value (optional)
-    pub fn maybe_released_event(mut self, value: Option>) -> Self {
+    pub fn maybe_released_event(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.102 = value;
         self
     }
@@ -6768,12 +7254,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `schemaVersion` field (optional)
-    pub fn schema_version(mut self, value: impl Into>>) -> Self {
+    pub fn schema_version(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.106 = value.into();
         self
     }
     /// Set the `schemaVersion` field to an Option value (optional)
-    pub fn maybe_schema_version(mut self, value: Option>) -> Self {
+    pub fn maybe_schema_version(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.106 = value;
         self
     }
@@ -6789,7 +7281,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `sdDatePublished` field to an Option value (optional)
-    pub fn maybe_sd_date_published(mut self, value: Option>) -> Self {
+    pub fn maybe_sd_date_published(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.107 = value;
         self
     }
@@ -6810,7 +7305,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `sdPublisher` field (optional)
-    pub fn sd_publisher(mut self, value: impl Into>>) -> Self {
+    pub fn sd_publisher(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.109 = value.into();
         self
     }
@@ -6868,12 +7366,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `spatialCoverage` field (optional)
-    pub fn spatial_coverage(mut self, value: impl Into>>) -> Self {
+    pub fn spatial_coverage(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.113 = value.into();
         self
     }
     /// Set the `spatialCoverage` field to an Option value (optional)
-    pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self {
+    pub fn maybe_spatial_coverage(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.113 = value;
         self
     }
@@ -6954,7 +7458,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `temporalCoverage` field to an Option value (optional)
-    pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self {
+    pub fn maybe_temporal_coverage(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.119 = value;
         self
     }
@@ -6988,7 +7495,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `thumbnailUrl` field (optional)
-    pub fn thumbnail_url(mut self, value: impl Into>>) -> Self {
+    pub fn thumbnail_url(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.122 = value.into();
         self
     }
@@ -7001,7 +7511,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `timeRequired` field (optional)
-    pub fn time_required(mut self, value: impl Into>>) -> Self {
+    pub fn time_required(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.123 = value.into();
         self
     }
@@ -7022,7 +7535,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `translationOfWork` field to an Option value (optional)
-    pub fn maybe_translation_of_work(mut self, value: Option>) -> Self {
+    pub fn maybe_translation_of_work(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.124 = value;
         self
     }
@@ -7051,7 +7567,10 @@ impl ArticleBuilder {
         self
     }
     /// Set the `typicalAgeRange` field to an Option value (optional)
-    pub fn maybe_typical_age_range(mut self, value: Option>) -> Self {
+    pub fn maybe_typical_age_range(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.126 = value;
         self
     }
@@ -7124,7 +7643,10 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `workExample` field (optional)
-    pub fn work_example(mut self, value: impl Into>>) -> Self {
+    pub fn work_example(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.132 = value.into();
         self
     }
@@ -7137,12 +7659,18 @@ impl ArticleBuilder {
 
 impl ArticleBuilder {
     /// Set the `workTranslation` field (optional)
-    pub fn work_translation(mut self, value: impl Into>>) -> Self {
+    pub fn work_translation(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.133 = value.into();
         self
     }
     /// Set the `workTranslation` field to an Option value (optional)
-    pub fn maybe_work_translation(mut self, value: Option>) -> Self {
+    pub fn maybe_work_translation(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.133 = value;
         self
     }
@@ -7432,4 +7960,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/book.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/book.rs
index 0ae9b3a6c..c37bf1d21 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/book.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/book.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::social_flockfeeds::lexical::r#type::event;
 use crate::social_flockfeeds::lexical::r#type::image_object;
 use crate::social_flockfeeds::lexical::r#type::offer;
 use crate::social_flockfeeds::lexical::r#type::organization;
 use crate::social_flockfeeds::lexical::r#type::person;
 use crate::social_flockfeeds::lexical::r#type::product;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A book.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Embedded {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub about: Option>,
@@ -311,6 +308,7 @@ pub struct Embedded {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -369,6 +367,7 @@ pub enum EmbeddedAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -429,6 +428,7 @@ pub enum EmbeddedAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -457,6 +457,7 @@ pub enum EmbeddedCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -502,6 +503,7 @@ pub enum EmbeddedContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -512,6 +514,7 @@ pub enum EmbeddedCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -547,6 +550,7 @@ pub enum EmbeddedCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -600,6 +604,7 @@ pub enum EmbeddedEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -655,6 +660,7 @@ pub enum EmbeddedFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -688,6 +694,7 @@ pub enum EmbeddedIllustrator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -696,6 +703,7 @@ pub enum EmbeddedImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -729,6 +737,7 @@ pub enum EmbeddedIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -737,6 +746,7 @@ pub enum EmbeddedIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -792,6 +802,7 @@ pub enum EmbeddedMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -800,6 +811,7 @@ pub enum EmbeddedMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -828,6 +840,7 @@ pub enum EmbeddedOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -853,6 +866,7 @@ pub enum EmbeddedProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -863,6 +877,7 @@ pub enum EmbeddedProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -878,6 +893,7 @@ pub enum EmbeddedPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -886,6 +902,7 @@ pub enum EmbeddedPublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -899,6 +916,7 @@ pub enum EmbeddedRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -944,6 +962,7 @@ pub enum EmbeddedSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -957,6 +976,7 @@ pub enum EmbeddedSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -977,6 +997,7 @@ pub enum EmbeddedSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -985,6 +1006,7 @@ pub enum EmbeddedSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1013,6 +1035,7 @@ pub enum EmbeddedThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1038,6 +1061,7 @@ pub enum EmbeddedTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1356,6 +1380,7 @@ pub struct Book {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1414,6 +1439,7 @@ pub enum BookAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1474,6 +1500,7 @@ pub enum BookAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1502,6 +1529,7 @@ pub enum BookCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1547,6 +1575,7 @@ pub enum BookContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1557,6 +1586,7 @@ pub enum BookCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1592,6 +1622,7 @@ pub enum BookCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1645,6 +1676,7 @@ pub enum BookEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1700,6 +1732,7 @@ pub enum BookFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1733,6 +1766,7 @@ pub enum BookIllustrator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1741,6 +1775,7 @@ pub enum BookImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1774,6 +1809,7 @@ pub enum BookIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1782,6 +1818,7 @@ pub enum BookIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1837,6 +1874,7 @@ pub enum BookMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1845,6 +1883,7 @@ pub enum BookMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1873,6 +1912,7 @@ pub enum BookOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1898,6 +1938,7 @@ pub enum BookProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1908,6 +1949,7 @@ pub enum BookProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1923,6 +1965,7 @@ pub enum BookPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1931,6 +1974,7 @@ pub enum BookPublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1944,6 +1988,7 @@ pub enum BookRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1989,6 +2034,7 @@ pub enum BookSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2002,6 +2048,7 @@ pub enum BookSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2022,6 +2069,7 @@ pub enum BookSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2030,6 +2078,7 @@ pub enum BookSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2058,6 +2107,7 @@ pub enum BookThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2083,6 +2133,7 @@ pub enum BookTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2197,10 +2248,10 @@ impl LexiconSchema for Book {
 }
 
 fn lexicon_doc_social_flockfeeds_lexical_type_Book() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.flockfeeds.lexical.type.Book"),
@@ -5004,7 +5055,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Book() -> LexiconDoc<'static> {
 
 pub mod book_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -5182,16 +5233,139 @@ impl BookBuilder {
         BookBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -5204,16 +5378,139 @@ impl BookBuilder {
         BookBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -5293,12 +5590,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `accessibilityAPI` field (optional)
-    pub fn accessibility_api(mut self, value: impl Into>>) -> Self {
+    pub fn accessibility_api(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.5 = value.into();
         self
     }
     /// Set the `accessibilityAPI` field to an Option value (optional)
-    pub fn maybe_accessibility_api(mut self, value: Option>) -> Self {
+    pub fn maybe_accessibility_api(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.5 = value;
         self
     }
@@ -5352,7 +5655,10 @@ impl BookBuilder {
         self
     }
     /// Set the `accessibilityHazard` field to an Option value (optional)
-    pub fn maybe_accessibility_hazard(mut self, value: Option>) -> Self {
+    pub fn maybe_accessibility_hazard(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -5387,7 +5693,10 @@ impl BookBuilder {
         self
     }
     /// Set the `accountablePerson` field to an Option value (optional)
-    pub fn maybe_accountable_person(mut self, value: Option>) -> Self {
+    pub fn maybe_accountable_person(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.10 = value;
         self
     }
@@ -5403,7 +5712,10 @@ impl BookBuilder {
         self
     }
     /// Set the `acquireLicensePage` field to an Option value (optional)
-    pub fn maybe_acquire_license_page(mut self, value: Option>) -> Self {
+    pub fn maybe_acquire_license_page(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.11 = value;
         self
     }
@@ -5411,12 +5723,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `additionalType` field (optional)
-    pub fn additional_type(mut self, value: impl Into>>) -> Self {
+    pub fn additional_type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.12 = value.into();
         self
     }
     /// Set the `additionalType` field to an Option value (optional)
-    pub fn maybe_additional_type(mut self, value: Option>) -> Self {
+    pub fn maybe_additional_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.12 = value;
         self
     }
@@ -5424,12 +5742,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `aggregateRating` field (optional)
-    pub fn aggregate_rating(mut self, value: impl Into>>) -> Self {
+    pub fn aggregate_rating(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.13 = value.into();
         self
     }
     /// Set the `aggregateRating` field to an Option value (optional)
-    pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self {
+    pub fn maybe_aggregate_rating(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.13 = value;
         self
     }
@@ -5437,7 +5761,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `alternateName` field (optional)
-    pub fn alternate_name(mut self, value: impl Into>>) -> Self {
+    pub fn alternate_name(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.14 = value.into();
         self
     }
@@ -5458,7 +5785,10 @@ impl BookBuilder {
         self
     }
     /// Set the `alternativeHeadline` field to an Option value (optional)
-    pub fn maybe_alternative_headline(mut self, value: Option>) -> Self {
+    pub fn maybe_alternative_headline(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.15 = value;
         self
     }
@@ -5492,12 +5822,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `associatedMedia` field (optional)
-    pub fn associated_media(mut self, value: impl Into>>) -> Self {
+    pub fn associated_media(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.18 = value.into();
         self
     }
     /// Set the `associatedMedia` field to an Option value (optional)
-    pub fn maybe_associated_media(mut self, value: Option>) -> Self {
+    pub fn maybe_associated_media(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.18 = value;
         self
     }
@@ -5635,7 +5971,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `commentCount` field (optional)
-    pub fn comment_count(mut self, value: impl Into>>) -> Self {
+    pub fn comment_count(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.29 = value.into();
         self
     }
@@ -5656,7 +5995,10 @@ impl BookBuilder {
         self
     }
     /// Set the `conditionsOfAccess` field to an Option value (optional)
-    pub fn maybe_conditions_of_access(mut self, value: Option>) -> Self {
+    pub fn maybe_conditions_of_access(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.30 = value;
         self
     }
@@ -5664,12 +6006,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `contentLocation` field (optional)
-    pub fn content_location(mut self, value: impl Into>>) -> Self {
+    pub fn content_location(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.31 = value.into();
         self
     }
     /// Set the `contentLocation` field to an Option value (optional)
-    pub fn maybe_content_location(mut self, value: Option>) -> Self {
+    pub fn maybe_content_location(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.31 = value;
         self
     }
@@ -5677,7 +6025,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `contentRating` field (optional)
-    pub fn content_rating(mut self, value: impl Into>>) -> Self {
+    pub fn content_rating(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.32 = value.into();
         self
     }
@@ -5722,12 +6073,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `copyrightHolder` field (optional)
-    pub fn copyright_holder(mut self, value: impl Into>>) -> Self {
+    pub fn copyright_holder(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.35 = value.into();
         self
     }
     /// Set the `copyrightHolder` field to an Option value (optional)
-    pub fn maybe_copyright_holder(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_holder(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.35 = value;
         self
     }
@@ -5735,12 +6092,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `copyrightNotice` field (optional)
-    pub fn copyright_notice(mut self, value: impl Into>>) -> Self {
+    pub fn copyright_notice(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.36 = value.into();
         self
     }
     /// Set the `copyrightNotice` field to an Option value (optional)
-    pub fn maybe_copyright_notice(mut self, value: Option>) -> Self {
+    pub fn maybe_copyright_notice(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.36 = value;
         self
     }
@@ -5748,7 +6111,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `copyrightYear` field (optional)
-    pub fn copyright_year(mut self, value: impl Into>>) -> Self {
+    pub fn copyright_year(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.37 = value.into();
         self
     }
@@ -5774,12 +6140,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `countryOfOrigin` field (optional)
-    pub fn country_of_origin(mut self, value: impl Into>>) -> Self {
+    pub fn country_of_origin(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.39 = value.into();
         self
     }
     /// Set the `countryOfOrigin` field to an Option value (optional)
-    pub fn maybe_country_of_origin(mut self, value: Option>) -> Self {
+    pub fn maybe_country_of_origin(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.39 = value;
         self
     }
@@ -5795,7 +6167,10 @@ impl BookBuilder {
         self
     }
     /// Set the `creativeWorkStatus` field to an Option value (optional)
-    pub fn maybe_creative_work_status(mut self, value: Option>) -> Self {
+    pub fn maybe_creative_work_status(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.40 = value;
         self
     }
@@ -5842,7 +6217,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `dateModified` field (optional)
-    pub fn date_modified(mut self, value: impl Into>>) -> Self {
+    pub fn date_modified(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.44 = value.into();
         self
     }
@@ -5855,7 +6233,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `datePublished` field (optional)
-    pub fn date_published(mut self, value: impl Into>>) -> Self {
+    pub fn date_published(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.45 = value.into();
         self
     }
@@ -5889,7 +6270,10 @@ impl BookBuilder {
         self
     }
     /// Set the `digitalSourceType` field to an Option value (optional)
-    pub fn maybe_digital_source_type(mut self, value: Option>) -> Self {
+    pub fn maybe_digital_source_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.47 = value;
         self
     }
@@ -5916,7 +6300,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `discussionUrl` field (optional)
-    pub fn discussion_url(mut self, value: impl Into>>) -> Self {
+    pub fn discussion_url(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.49 = value.into();
         self
     }
@@ -5974,12 +6361,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `educationalLevel` field (optional)
-    pub fn educational_level(mut self, value: impl Into>>) -> Self {
+    pub fn educational_level(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.53 = value.into();
         self
     }
     /// Set the `educationalLevel` field to an Option value (optional)
-    pub fn maybe_educational_level(mut self, value: Option>) -> Self {
+    pub fn maybe_educational_level(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.53 = value;
         self
     }
@@ -5987,12 +6380,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `educationalUse` field (optional)
-    pub fn educational_use(mut self, value: impl Into>>) -> Self {
+    pub fn educational_use(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.54 = value.into();
         self
     }
     /// Set the `educationalUse` field to an Option value (optional)
-    pub fn maybe_educational_use(mut self, value: Option>) -> Self {
+    pub fn maybe_educational_use(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.54 = value;
         self
     }
@@ -6013,12 +6412,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `encodingFormat` field (optional)
-    pub fn encoding_format(mut self, value: impl Into>>) -> Self {
+    pub fn encoding_format(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.56 = value.into();
         self
     }
     /// Set the `encodingFormat` field to an Option value (optional)
-    pub fn maybe_encoding_format(mut self, value: Option>) -> Self {
+    pub fn maybe_encoding_format(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.56 = value;
         self
     }
@@ -6039,7 +6444,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `exampleOfWork` field (optional)
-    pub fn example_of_work(mut self, value: impl Into>>) -> Self {
+    pub fn example_of_work(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.58 = value.into();
         self
     }
@@ -6222,7 +6630,10 @@ impl BookBuilder {
         self
     }
     /// Set the `interactivityType` field to an Option value (optional)
-    pub fn maybe_interactivity_type(mut self, value: Option>) -> Self {
+    pub fn maybe_interactivity_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.71 = value;
         self
     }
@@ -6238,7 +6649,10 @@ impl BookBuilder {
         self
     }
     /// Set the `interpretedAsClaim` field to an Option value (optional)
-    pub fn maybe_interpreted_as_claim(mut self, value: Option>) -> Self {
+    pub fn maybe_interpreted_as_claim(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.72 = value;
         self
     }
@@ -6278,7 +6692,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `isBasedOnUrl` field (optional)
-    pub fn is_based_on_url(mut self, value: impl Into>>) -> Self {
+    pub fn is_based_on_url(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.75 = value.into();
         self
     }
@@ -6291,12 +6708,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `isFamilyFriendly` field (optional)
-    pub fn is_family_friendly(mut self, value: impl Into>>) -> Self {
+    pub fn is_family_friendly(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.76 = value.into();
         self
     }
     /// Set the `isFamilyFriendly` field to an Option value (optional)
-    pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self {
+    pub fn maybe_is_family_friendly(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.76 = value;
         self
     }
@@ -6375,12 +6798,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `locationCreated` field (optional)
-    pub fn location_created(mut self, value: impl Into>>) -> Self {
+    pub fn location_created(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.82 = value.into();
         self
     }
     /// Set the `locationCreated` field to an Option value (optional)
-    pub fn maybe_location_created(mut self, value: Option>) -> Self {
+    pub fn maybe_location_created(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.82 = value;
         self
     }
@@ -6409,7 +6838,10 @@ impl BookBuilder {
         self
     }
     /// Set the `mainEntityOfPage` field to an Option value (optional)
-    pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self {
+    pub fn maybe_main_entity_of_page(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.84 = value;
         self
     }
@@ -6443,12 +6875,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `materialExtent` field (optional)
-    pub fn material_extent(mut self, value: impl Into>>) -> Self {
+    pub fn material_extent(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.87 = value.into();
         self
     }
     /// Set the `materialExtent` field to an Option value (optional)
-    pub fn maybe_material_extent(mut self, value: Option>) -> Self {
+    pub fn maybe_material_extent(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.87 = value;
         self
     }
@@ -6482,7 +6920,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `numberOfPages` field (optional)
-    pub fn number_of_pages(mut self, value: impl Into>>) -> Self {
+    pub fn number_of_pages(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.90 = value.into();
         self
     }
@@ -6534,12 +6975,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `potentialAction` field (optional)
-    pub fn potential_action(mut self, value: impl Into>>) -> Self {
+    pub fn potential_action(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.94 = value.into();
         self
     }
     /// Set the `potentialAction` field to an Option value (optional)
-    pub fn maybe_potential_action(mut self, value: Option>) -> Self {
+    pub fn maybe_potential_action(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.94 = value;
         self
     }
@@ -6599,12 +7046,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `publisherImprint` field (optional)
-    pub fn publisher_imprint(mut self, value: impl Into>>) -> Self {
+    pub fn publisher_imprint(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.99 = value.into();
         self
     }
     /// Set the `publisherImprint` field to an Option value (optional)
-    pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self {
+    pub fn maybe_publisher_imprint(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.99 = value;
         self
     }
@@ -6644,7 +7097,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `releasedEvent` field (optional)
-    pub fn released_event(mut self, value: impl Into>>) -> Self {
+    pub fn released_event(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.102 = value.into();
         self
     }
@@ -6696,7 +7152,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `schemaVersion` field (optional)
-    pub fn schema_version(mut self, value: impl Into>>) -> Self {
+    pub fn schema_version(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.106 = value.into();
         self
     }
@@ -6709,12 +7168,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `sdDatePublished` field (optional)
-    pub fn sd_date_published(mut self, value: impl Into>>) -> Self {
+    pub fn sd_date_published(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.107 = value.into();
         self
     }
     /// Set the `sdDatePublished` field to an Option value (optional)
-    pub fn maybe_sd_date_published(mut self, value: Option>) -> Self {
+    pub fn maybe_sd_date_published(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.107 = value;
         self
     }
@@ -6769,7 +7234,10 @@ impl BookBuilder {
         self
     }
     /// Set the `sourceOrganization` field to an Option value (optional)
-    pub fn maybe_source_organization(mut self, value: Option>) -> Self {
+    pub fn maybe_source_organization(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.111 = value;
         self
     }
@@ -6790,12 +7258,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `spatialCoverage` field (optional)
-    pub fn spatial_coverage(mut self, value: impl Into>>) -> Self {
+    pub fn spatial_coverage(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.113 = value.into();
         self
     }
     /// Set the `spatialCoverage` field to an Option value (optional)
-    pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self {
+    pub fn maybe_spatial_coverage(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.113 = value;
         self
     }
@@ -6855,12 +7329,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `temporalCoverage` field (optional)
-    pub fn temporal_coverage(mut self, value: impl Into>>) -> Self {
+    pub fn temporal_coverage(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.118 = value.into();
         self
     }
     /// Set the `temporalCoverage` field to an Option value (optional)
-    pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self {
+    pub fn maybe_temporal_coverage(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.118 = value;
         self
     }
@@ -6894,7 +7374,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `thumbnailUrl` field (optional)
-    pub fn thumbnail_url(mut self, value: impl Into>>) -> Self {
+    pub fn thumbnail_url(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.121 = value.into();
         self
     }
@@ -6907,7 +7390,10 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `timeRequired` field (optional)
-    pub fn time_required(mut self, value: impl Into>>) -> Self {
+    pub fn time_required(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.122 = value.into();
         self
     }
@@ -6928,7 +7414,10 @@ impl BookBuilder {
         self
     }
     /// Set the `translationOfWork` field to an Option value (optional)
-    pub fn maybe_translation_of_work(mut self, value: Option>) -> Self {
+    pub fn maybe_translation_of_work(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.123 = value;
         self
     }
@@ -6949,12 +7438,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `typicalAgeRange` field (optional)
-    pub fn typical_age_range(mut self, value: impl Into>>) -> Self {
+    pub fn typical_age_range(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.125 = value.into();
         self
     }
     /// Set the `typicalAgeRange` field to an Option value (optional)
-    pub fn maybe_typical_age_range(mut self, value: Option>) -> Self {
+    pub fn maybe_typical_age_range(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.125 = value;
         self
     }
@@ -7040,12 +7535,18 @@ impl BookBuilder {
 
 impl BookBuilder {
     /// Set the `workTranslation` field (optional)
-    pub fn work_translation(mut self, value: impl Into>>) -> Self {
+    pub fn work_translation(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.132 = value.into();
         self
     }
     /// Set the `workTranslation` field to an Option value (optional)
-    pub fn maybe_work_translation(mut self, value: Option>) -> Self {
+    pub fn maybe_work_translation(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.132 = value;
         self
     }
@@ -7333,4 +7834,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/brand.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/brand.rs
index d0e2e05fd..49f0789b4 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/brand.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/brand.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,18 +24,15 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
-use crate::social_flockfeeds::lexical::r#type::event;
-use crate::social_flockfeeds::lexical::r#type::image_object;
 #[allow(unused_imports)]
 use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
+use serde::{Serialize, Deserialize};
+use crate::social_flockfeeds::lexical::r#type::event;
+use crate::social_flockfeeds::lexical::r#type::image_object;
 /// A brand is a name used by an organization or business person for labeling a product, product group, or similar.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Embedded {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub additional_type: Option>,
@@ -73,6 +70,7 @@ pub struct Embedded {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -111,6 +109,7 @@ pub enum EmbeddedImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -119,6 +118,7 @@ pub enum EmbeddedLogo {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -157,6 +157,7 @@ pub enum EmbeddedSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -206,6 +207,7 @@ pub struct Brand {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -244,6 +246,7 @@ pub enum BrandImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -252,6 +255,7 @@ pub enum BrandLogo {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -290,6 +294,7 @@ pub enum BrandSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -369,10 +374,10 @@ impl LexiconSchema for Brand {
 }
 
 fn lexicon_doc_social_flockfeeds_lexical_type_Brand() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.flockfeeds.lexical.type.Brand"),
@@ -754,7 +759,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Brand() -> LexiconDoc<'static> {
 
 pub mod brand_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -815,8 +820,22 @@ impl BrandBuilder {
         BrandBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -829,8 +848,22 @@ impl BrandBuilder {
         BrandBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -839,12 +872,18 @@ impl BrandBuilder {
 
 impl BrandBuilder {
     /// Set the `additionalType` field (optional)
-    pub fn additional_type(mut self, value: impl Into>>) -> Self {
+    pub fn additional_type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.0 = value.into();
         self
     }
     /// Set the `additionalType` field to an Option value (optional)
-    pub fn maybe_additional_type(mut self, value: Option>) -> Self {
+    pub fn maybe_additional_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.0 = value;
         self
     }
@@ -852,12 +891,18 @@ impl BrandBuilder {
 
 impl BrandBuilder {
     /// Set the `aggregateRating` field (optional)
-    pub fn aggregate_rating(mut self, value: impl Into>>) -> Self {
+    pub fn aggregate_rating(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.1 = value.into();
         self
     }
     /// Set the `aggregateRating` field to an Option value (optional)
-    pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self {
+    pub fn maybe_aggregate_rating(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.1 = value;
         self
     }
@@ -865,7 +910,10 @@ impl BrandBuilder {
 
 impl BrandBuilder {
     /// Set the `alternateName` field (optional)
-    pub fn alternate_name(mut self, value: impl Into>>) -> Self {
+    pub fn alternate_name(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
@@ -957,7 +1005,10 @@ impl BrandBuilder {
         self
     }
     /// Set the `mainEntityOfPage` field to an Option value (optional)
-    pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self {
+    pub fn maybe_main_entity_of_page(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.8 = value;
         self
     }
@@ -978,12 +1029,18 @@ impl BrandBuilder {
 
 impl BrandBuilder {
     /// Set the `potentialAction` field (optional)
-    pub fn potential_action(mut self, value: impl Into>>) -> Self {
+    pub fn potential_action(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.10 = value.into();
         self
     }
     /// Set the `potentialAction` field to an Option value (optional)
-    pub fn maybe_potential_action(mut self, value: Option>) -> Self {
+    pub fn maybe_potential_action(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.10 = value;
         self
     }
@@ -1102,4 +1159,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/episode.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/episode.rs
index 6f76db473..b47cb88fa 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/episode.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/episode.rs
@@ -17,6 +17,9 @@ use jacquard_derive::{IntoStatic, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::social_flockfeeds::lexical::r#type::event;
 use crate::social_flockfeeds::lexical::r#type::image_object;
 use crate::social_flockfeeds::lexical::r#type::music_group;
@@ -24,16 +27,10 @@ use crate::social_flockfeeds::lexical::r#type::offer;
 use crate::social_flockfeeds::lexical::r#type::organization;
 use crate::social_flockfeeds::lexical::r#type::person;
 use crate::social_flockfeeds::lexical::r#type::product;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// A media episode (e.g. TV, radio, video game) which can be part of a series or season.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Embedded {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub about: Option>,
@@ -315,6 +312,7 @@ pub struct Embedded {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -368,6 +366,7 @@ pub enum EmbeddedAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -381,6 +380,7 @@ pub enum EmbeddedActor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -389,6 +389,7 @@ pub enum EmbeddedActors {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -444,6 +445,7 @@ pub enum EmbeddedAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -462,6 +464,7 @@ pub enum EmbeddedCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -507,6 +510,7 @@ pub enum EmbeddedContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -517,6 +521,7 @@ pub enum EmbeddedCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -552,6 +557,7 @@ pub enum EmbeddedCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -590,6 +596,7 @@ pub enum EmbeddedDirector {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -598,6 +605,7 @@ pub enum EmbeddedDirectors {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -626,6 +634,7 @@ pub enum EmbeddedEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -686,6 +695,7 @@ pub enum EmbeddedFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -719,6 +729,7 @@ pub enum EmbeddedImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -752,6 +763,7 @@ pub enum EmbeddedIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -760,6 +772,7 @@ pub enum EmbeddedIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -810,6 +823,7 @@ pub enum EmbeddedMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -818,6 +832,7 @@ pub enum EmbeddedMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -838,6 +853,7 @@ pub enum EmbeddedMusicBy {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -851,6 +867,7 @@ pub enum EmbeddedOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -886,6 +903,7 @@ pub enum EmbeddedProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -894,6 +912,7 @@ pub enum EmbeddedProductionCompany {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -904,6 +923,7 @@ pub enum EmbeddedProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -919,6 +939,7 @@ pub enum EmbeddedPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -927,6 +948,7 @@ pub enum EmbeddedPublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -940,6 +962,7 @@ pub enum EmbeddedRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -985,6 +1008,7 @@ pub enum EmbeddedSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -998,6 +1022,7 @@ pub enum EmbeddedSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1018,6 +1043,7 @@ pub enum EmbeddedSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1026,6 +1052,7 @@ pub enum EmbeddedSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1054,6 +1081,7 @@ pub enum EmbeddedThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1084,6 +1112,7 @@ pub enum EmbeddedTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1126,10 +1155,7 @@ pub enum EmbeddedWorkTranslation {}
 /// A media episode (e.g. TV, radio, video game) which can be part of a series or season.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Episode {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub about: Option>,
@@ -1411,6 +1437,7 @@ pub struct Episode {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1464,6 +1491,7 @@ pub enum EpisodeAccountablePerson {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1477,6 +1505,7 @@ pub enum EpisodeActor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1485,6 +1514,7 @@ pub enum EpisodeActors {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1540,6 +1570,7 @@ pub enum EpisodeAuthor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1558,6 +1589,7 @@ pub enum EpisodeCharacter {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1603,6 +1635,7 @@ pub enum EpisodeContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1613,6 +1646,7 @@ pub enum EpisodeCopyrightHolder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1648,6 +1682,7 @@ pub enum EpisodeCreator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1686,6 +1721,7 @@ pub enum EpisodeDirector {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1694,6 +1730,7 @@ pub enum EpisodeDirectors {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1722,6 +1759,7 @@ pub enum EpisodeEditor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1782,6 +1820,7 @@ pub enum EpisodeFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1815,6 +1854,7 @@ pub enum EpisodeImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1848,6 +1888,7 @@ pub enum EpisodeIsBasedOn {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1856,6 +1897,7 @@ pub enum EpisodeIsBasedOnUrl {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1906,6 +1948,7 @@ pub enum EpisodeMaintainer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1914,6 +1957,7 @@ pub enum EpisodeMaterial {
     ProductEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1934,6 +1978,7 @@ pub enum EpisodeMusicBy {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1947,6 +1992,7 @@ pub enum EpisodeOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1982,6 +2028,7 @@ pub enum EpisodeProducer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1990,6 +2037,7 @@ pub enum EpisodeProductionCompany {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2000,6 +2048,7 @@ pub enum EpisodeProvider {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2015,6 +2064,7 @@ pub enum EpisodePublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2023,6 +2073,7 @@ pub enum EpisodePublisherImprint {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2036,6 +2087,7 @@ pub enum EpisodeRecordedAt {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2081,6 +2133,7 @@ pub enum EpisodeSdPublisher {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2094,6 +2147,7 @@ pub enum EpisodeSourceOrganization {
     OrganizationEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2114,6 +2168,7 @@ pub enum EpisodeSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2122,6 +2177,7 @@ pub enum EpisodeSubjectOf {
     EventEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2150,6 +2206,7 @@ pub enum EpisodeThumbnail {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2180,6 +2237,7 @@ pub enum EpisodeTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -2250,10 +2308,10 @@ impl LexiconSchema for Episode {
 }
 
 fn lexicon_doc_social_flockfeeds_lexical_type_Episode() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.flockfeeds.lexical.type.Episode"),
@@ -5161,4 +5219,4 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Episode() -> LexiconDoc<'static> {
         },
         ..Default::default()
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/event.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/event.rs
index c3c6e385a..0a3559814 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/event.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/event.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,21 +24,18 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::social_flockfeeds::lexical::r#type::event;
 use crate::social_flockfeeds::lexical::r#type::image_object;
 use crate::social_flockfeeds::lexical::r#type::offer;
 use crate::social_flockfeeds::lexical::r#type::organization;
 use crate::social_flockfeeds::lexical::r#type::person;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
 /// An event happening at a certain time and location, such as a concert, lecture, or festival. Ticketing information may be added via the [[offers]] property. Repeated events may be structured as separate Event objects.
 
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
-#[serde(
-    rename_all = "camelCase",
-    bound(deserialize = "S: Deserialize<'de> + BosStr")
-)]
+#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
 pub struct Embedded {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub about: Option>,
@@ -99,9 +96,13 @@ pub struct Embedded {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub maximum_attendee_capacity: Option>,
     #[serde(skip_serializing_if = "Option::is_none")]
-    pub maximum_physical_attendee_capacity: Option>,
+    pub maximum_physical_attendee_capacity: Option<
+        EmbeddedMaximumPhysicalAttendeeCapacity,
+    >,
     #[serde(skip_serializing_if = "Option::is_none")]
-    pub maximum_virtual_attendee_capacity: Option>,
+    pub maximum_virtual_attendee_capacity: Option<
+        EmbeddedMaximumVirtualAttendeeCapacity,
+    >,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub name: Option>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -150,6 +151,7 @@ pub struct Embedded {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -163,6 +165,7 @@ pub enum EmbeddedActor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -188,6 +191,7 @@ pub enum EmbeddedAttendee {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -198,6 +202,7 @@ pub enum EmbeddedAttendees {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -213,6 +218,7 @@ pub enum EmbeddedComposer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -223,6 +229,7 @@ pub enum EmbeddedContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -236,6 +243,7 @@ pub enum EmbeddedDirector {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -281,6 +289,7 @@ pub enum EmbeddedFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -299,6 +308,7 @@ pub enum EmbeddedImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -352,6 +362,7 @@ pub enum EmbeddedOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -362,6 +373,7 @@ pub enum EmbeddedOrganizer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -372,6 +384,7 @@ pub enum EmbeddedPerformer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -382,6 +395,7 @@ pub enum EmbeddedPerformers {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -422,6 +436,7 @@ pub enum EmbeddedSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -435,6 +450,7 @@ pub enum EmbeddedSubEvent {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -443,6 +459,7 @@ pub enum EmbeddedSubEvents {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -451,6 +468,7 @@ pub enum EmbeddedSubjectOf {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -459,6 +477,7 @@ pub enum EmbeddedSuperEvent {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -469,6 +488,7 @@ pub enum EmbeddedTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -556,9 +576,13 @@ pub struct Event {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub maximum_attendee_capacity: Option>,
     #[serde(skip_serializing_if = "Option::is_none")]
-    pub maximum_physical_attendee_capacity: Option>,
+    pub maximum_physical_attendee_capacity: Option<
+        EventMaximumPhysicalAttendeeCapacity,
+    >,
     #[serde(skip_serializing_if = "Option::is_none")]
-    pub maximum_virtual_attendee_capacity: Option>,
+    pub maximum_virtual_attendee_capacity: Option<
+        EventMaximumVirtualAttendeeCapacity,
+    >,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub name: Option>,
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -607,6 +631,7 @@ pub struct Event {
     pub extra_data: Option>>,
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -620,6 +645,7 @@ pub enum EventActor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -645,6 +671,7 @@ pub enum EventAttendee {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -655,6 +682,7 @@ pub enum EventAttendees {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -670,6 +698,7 @@ pub enum EventComposer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -680,6 +709,7 @@ pub enum EventContributor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -693,6 +723,7 @@ pub enum EventDirector {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -738,6 +769,7 @@ pub enum EventFunder {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -756,6 +788,7 @@ pub enum EventImage {
     ImageObjectEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -809,6 +842,7 @@ pub enum EventOffers {
     OfferEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -819,6 +853,7 @@ pub enum EventOrganizer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -829,6 +864,7 @@ pub enum EventPerformer {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -839,6 +875,7 @@ pub enum EventPerformers {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -879,6 +916,7 @@ pub enum EventSponsor {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -892,6 +930,7 @@ pub enum EventSubEvent {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -900,6 +939,7 @@ pub enum EventSubEvents {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -908,6 +948,7 @@ pub enum EventSubjectOf {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -916,6 +957,7 @@ pub enum EventSuperEvent {
     Embedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -926,6 +968,7 @@ pub enum EventTranslator {
     PersonEmbedded(Box>),
 }
 
+
 #[open_union]
 #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
 #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
@@ -1020,10 +1063,10 @@ impl LexiconSchema for Event {
 }
 
 fn lexicon_doc_social_flockfeeds_lexical_type_Event() -> LexiconDoc<'static> {
-    use alloc::collections::BTreeMap;
     #[allow(unused_imports)]
     use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
     use jacquard_lexicon::lexicon::*;
+    use alloc::collections::BTreeMap;
     LexiconDoc {
         lexicon: Lexicon::Lexicon1,
         id: CowStr::new_static("social.flockfeeds.lexical.type.Event"),
@@ -2183,7 +2226,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Event() -> LexiconDoc<'static> {
 
 pub mod event_state {
 
-    pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
+    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
     #[allow(unused)]
     use ::core::marker::PhantomData;
     mod sealed {
@@ -2281,10 +2324,59 @@ impl EventBuilder {
         EventBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -2297,10 +2389,59 @@ impl EventBuilder {
         EventBuilder {
             _state: PhantomData,
             _fields: (
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None, None, None, None,
-                None, None, None, None, None, None, None, None, None, None, None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
+                None,
             ),
             _type: PhantomData,
         }
@@ -2335,12 +2476,18 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `additionalType` field (optional)
-    pub fn additional_type(mut self, value: impl Into>>) -> Self {
+    pub fn additional_type(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.2 = value.into();
         self
     }
     /// Set the `additionalType` field to an Option value (optional)
-    pub fn maybe_additional_type(mut self, value: Option>) -> Self {
+    pub fn maybe_additional_type(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.2 = value;
         self
     }
@@ -2348,12 +2495,18 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `aggregateRating` field (optional)
-    pub fn aggregate_rating(mut self, value: impl Into>>) -> Self {
+    pub fn aggregate_rating(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.3 = value.into();
         self
     }
     /// Set the `aggregateRating` field to an Option value (optional)
-    pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self {
+    pub fn maybe_aggregate_rating(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.3 = value;
         self
     }
@@ -2361,7 +2514,10 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `alternateName` field (optional)
-    pub fn alternate_name(mut self, value: impl Into>>) -> Self {
+    pub fn alternate_name(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.4 = value.into();
         self
     }
@@ -2542,7 +2698,10 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `eventSchedule` field (optional)
-    pub fn event_schedule(mut self, value: impl Into>>) -> Self {
+    pub fn event_schedule(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.17 = value.into();
         self
     }
@@ -2555,7 +2714,10 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `eventStatus` field (optional)
-    pub fn event_status(mut self, value: impl Into>>) -> Self {
+    pub fn event_status(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.18 = value.into();
         self
     }
@@ -2686,7 +2848,10 @@ impl EventBuilder {
         self
     }
     /// Set the `mainEntityOfPage` field to an Option value (optional)
-    pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self {
+    pub fn maybe_main_entity_of_page(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.27 = value;
         self
     }
@@ -2816,12 +2981,18 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `potentialAction` field (optional)
-    pub fn potential_action(mut self, value: impl Into>>) -> Self {
+    pub fn potential_action(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.36 = value.into();
         self
     }
     /// Set the `potentialAction` field to an Option value (optional)
-    pub fn maybe_potential_action(mut self, value: Option>) -> Self {
+    pub fn maybe_potential_action(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.36 = value;
         self
     }
@@ -2837,7 +3008,10 @@ impl EventBuilder {
         self
     }
     /// Set the `previousStartDate` field to an Option value (optional)
-    pub fn maybe_previous_start_date(mut self, value: Option>) -> Self {
+    pub fn maybe_previous_start_date(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.37 = value;
         self
     }
@@ -2994,12 +3168,18 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `typicalAgeRange` field (optional)
-    pub fn typical_age_range(mut self, value: impl Into>>) -> Self {
+    pub fn typical_age_range(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.49 = value.into();
         self
     }
     /// Set the `typicalAgeRange` field to an Option value (optional)
-    pub fn maybe_typical_age_range(mut self, value: Option>) -> Self {
+    pub fn maybe_typical_age_range(
+        mut self,
+        value: Option>,
+    ) -> Self {
         self._fields.49 = value;
         self
     }
@@ -3020,7 +3200,10 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `workFeatured` field (optional)
-    pub fn work_featured(mut self, value: impl Into>>) -> Self {
+    pub fn work_featured(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.51 = value.into();
         self
     }
@@ -3033,7 +3216,10 @@ impl EventBuilder {
 
 impl EventBuilder {
     /// Set the `workPerformed` field (optional)
-    pub fn work_performed(mut self, value: impl Into>>) -> Self {
+    pub fn work_performed(
+        mut self,
+        value: impl Into>>,
+    ) -> Self {
         self._fields.52 = value.into();
         self
     }
@@ -3166,4 +3352,4 @@ where
             extra_data: Some(extra_data),
         }
     }
-}
+}
\ No newline at end of file
diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/hotel.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/hotel.rs
index bd6770004..8515b3bfb 100644
--- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/hotel.rs
+++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/hotel.rs
@@ -10,7 +10,7 @@ use alloc::collections::BTreeMap;
 
 #[allow(unused_imports)]
 use core::marker::PhantomData;
-use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
+use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr};
 
 #[allow(unused_imports)]
 use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
@@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union};
 use jacquard_lexicon::lexicon::LexiconDoc;
 use jacquard_lexicon::schema::LexiconSchema;
 
+#[allow(unused_imports)]
+use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
+use serde::{Serialize, Deserialize};
 use crate::social_flockfeeds::lexical::r#type::article;
 use crate::social_flockfeeds::lexical::r#type::brand;
 use crate::social_flockfeeds::lexical::r#type::event;
@@ -32,18 +35,12 @@ use crate::social_flockfeeds::lexical::r#type::offer;
 use crate::social_flockfeeds::lexical::r#type::organization;
 use crate::social_flockfeeds::lexical::r#type::person;
 use crate::social_flockfeeds::lexical::r#type::product;
-#[allow(unused_imports)]
-use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
-use serde::{Deserialize, Serialize};
-/** A hotel is an establishment that provides lodging paid on a short-term basis (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel).
-

-See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations.*/ +/// A hotel is an establishment that provides lodging paid on a short-term basis (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel). +///

+/// See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub accepted_payment_method: Option>, @@ -290,7 +287,9 @@ pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub smoking_allowed: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub special_opening_hours_specification: Option>, + pub special_opening_hours_specification: Option< + EmbeddedSpecialOpeningHoursSpecification, + >, #[serde(skip_serializing_if = "Option::is_none")] pub sponsor: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -315,6 +314,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -363,6 +363,7 @@ pub enum EmbeddedAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -406,6 +407,7 @@ pub enum EmbeddedBranchOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -416,6 +418,7 @@ pub enum EmbeddedBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -474,6 +477,7 @@ pub enum EmbeddedDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -502,6 +506,7 @@ pub enum EmbeddedDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -520,6 +525,7 @@ pub enum EmbeddedEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -528,6 +534,7 @@ pub enum EmbeddedEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -541,6 +548,7 @@ pub enum EmbeddedEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -549,6 +557,7 @@ pub enum EmbeddedEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -564,6 +573,7 @@ pub enum EmbeddedFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -572,6 +582,7 @@ pub enum EmbeddedFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -592,6 +603,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -725,6 +737,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -783,6 +796,7 @@ pub enum EmbeddedLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -801,6 +815,7 @@ pub enum EmbeddedLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -819,6 +834,7 @@ pub enum EmbeddedMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -844,6 +860,7 @@ pub enum EmbeddedMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -852,6 +869,7 @@ pub enum EmbeddedMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -862,6 +880,7 @@ pub enum EmbeddedMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -910,6 +929,7 @@ pub enum EmbeddedOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -918,6 +938,7 @@ pub enum EmbeddedParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -936,6 +957,7 @@ pub enum EmbeddedPhoto { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -944,6 +966,7 @@ pub enum EmbeddedPhotos { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1019,6 +1042,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1032,6 +1056,7 @@ pub enum EmbeddedSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1040,6 +1065,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1323,7 +1349,9 @@ pub struct Hotel { #[serde(skip_serializing_if = "Option::is_none")] pub smoking_allowed: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub special_opening_hours_specification: Option>, + pub special_opening_hours_specification: Option< + HotelSpecialOpeningHoursSpecification, + >, #[serde(skip_serializing_if = "Option::is_none")] pub sponsor: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -1348,6 +1376,7 @@ pub struct Hotel { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1396,6 +1425,7 @@ pub enum HotelAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1439,6 +1469,7 @@ pub enum HotelBranchOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1449,6 +1480,7 @@ pub enum HotelBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1507,6 +1539,7 @@ pub enum HotelDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1535,6 +1568,7 @@ pub enum HotelDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1553,6 +1587,7 @@ pub enum HotelEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1561,6 +1596,7 @@ pub enum HotelEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1574,6 +1610,7 @@ pub enum HotelEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1582,6 +1619,7 @@ pub enum HotelEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1597,6 +1635,7 @@ pub enum HotelFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1605,6 +1644,7 @@ pub enum HotelFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1625,6 +1665,7 @@ pub enum HotelFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1758,6 +1799,7 @@ pub enum HotelImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1816,6 +1858,7 @@ pub enum HotelLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1834,6 +1877,7 @@ pub enum HotelLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1852,6 +1896,7 @@ pub enum HotelMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1877,6 +1922,7 @@ pub enum HotelMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1885,6 +1931,7 @@ pub enum HotelMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1895,6 +1942,7 @@ pub enum HotelMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1943,6 +1991,7 @@ pub enum HotelOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1951,6 +2000,7 @@ pub enum HotelParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1969,6 +2019,7 @@ pub enum HotelPhoto { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1977,6 +2028,7 @@ pub enum HotelPhotos { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2052,6 +2104,7 @@ pub enum HotelSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2065,6 +2118,7 @@ pub enum HotelSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2073,6 +2127,7 @@ pub enum HotelSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2177,10 +2232,10 @@ impl LexiconSchema for Hotel { } fn lexicon_doc_social_flockfeeds_lexical_type_Hotel() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Hotel"), @@ -5002,7 +5057,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Hotel() -> LexiconDoc<'static> { pub mod hotel_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5180,16 +5235,139 @@ impl HotelBuilder { HotelBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5202,16 +5380,139 @@ impl HotelBuilder { HotelBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5266,7 +5567,10 @@ impl HotelBuilder { self } /// Set the `additionalProperty` field to an Option value (optional) - pub fn maybe_additional_property(mut self, value: Option>) -> Self { + pub fn maybe_additional_property( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -5274,12 +5578,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -5319,12 +5629,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `aggregateRating` field (optional) - pub fn aggregate_rating(mut self, value: impl Into>>) -> Self { + pub fn aggregate_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -5332,7 +5648,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.7 = value.into(); self } @@ -5358,12 +5677,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `amenityFeature` field (optional) - pub fn amenity_feature(mut self, value: impl Into>>) -> Self { + pub fn amenity_feature( + mut self, + value: impl Into>>, + ) -> Self { self._fields.9 = value.into(); self } /// Set the `amenityFeature` field to an Option value (optional) - pub fn maybe_amenity_feature(mut self, value: Option>) -> Self { + pub fn maybe_amenity_feature( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5405,7 +5730,10 @@ impl HotelBuilder { self } /// Set the `availableLanguage` field to an Option value (optional) - pub fn maybe_available_language(mut self, value: Option>) -> Self { + pub fn maybe_available_language( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -5478,7 +5806,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `checkinTime` field (optional) - pub fn checkin_time(mut self, value: impl Into>>) -> Self { + pub fn checkin_time( + mut self, + value: impl Into>>, + ) -> Self { self._fields.18 = value.into(); self } @@ -5491,7 +5822,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `checkoutTime` field (optional) - pub fn checkout_time(mut self, value: impl Into>>) -> Self { + pub fn checkout_time( + mut self, + value: impl Into>>, + ) -> Self { self._fields.19 = value.into(); self } @@ -5523,7 +5857,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `contactPoint` field (optional) - pub fn contact_point(mut self, value: impl Into>>) -> Self { + pub fn contact_point( + mut self, + value: impl Into>>, + ) -> Self { self._fields.21 = value.into(); self } @@ -5536,7 +5873,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `contactPoints` field (optional) - pub fn contact_points(mut self, value: impl Into>>) -> Self { + pub fn contact_points( + mut self, + value: impl Into>>, + ) -> Self { self._fields.22 = value.into(); self } @@ -5549,7 +5889,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `containedIn` field (optional) - pub fn contained_in(mut self, value: impl Into>>) -> Self { + pub fn contained_in( + mut self, + value: impl Into>>, + ) -> Self { self._fields.23 = value.into(); self } @@ -5570,7 +5913,10 @@ impl HotelBuilder { self } /// Set the `containedInPlace` field to an Option value (optional) - pub fn maybe_contained_in_place(mut self, value: Option>) -> Self { + pub fn maybe_contained_in_place( + mut self, + value: Option>, + ) -> Self { self._fields.24 = value; self } @@ -5578,7 +5924,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `containsPlace` field (optional) - pub fn contains_place(mut self, value: impl Into>>) -> Self { + pub fn contains_place( + mut self, + value: impl Into>>, + ) -> Self { self._fields.25 = value.into(); self } @@ -5599,7 +5948,10 @@ impl HotelBuilder { self } /// Set the `correctionsPolicy` field to an Option value (optional) - pub fn maybe_corrections_policy(mut self, value: Option>) -> Self { + pub fn maybe_corrections_policy( + mut self, + value: Option>, + ) -> Self { self._fields.26 = value; self } @@ -5615,7 +5967,10 @@ impl HotelBuilder { self } /// Set the `currenciesAccepted` field to an Option value (optional) - pub fn maybe_currencies_accepted(mut self, value: Option>) -> Self { + pub fn maybe_currencies_accepted( + mut self, + value: Option>, + ) -> Self { self._fields.27 = value; self } @@ -5668,12 +6023,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `dissolutionDate` field (optional) - pub fn dissolution_date(mut self, value: impl Into>>) -> Self { + pub fn dissolution_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.31 = value.into(); self } /// Set the `dissolutionDate` field to an Option value (optional) - pub fn maybe_dissolution_date(mut self, value: Option>) -> Self { + pub fn maybe_dissolution_date( + mut self, + value: Option>, + ) -> Self { self._fields.31 = value; self } @@ -5681,12 +6042,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `diversityPolicy` field (optional) - pub fn diversity_policy(mut self, value: impl Into>>) -> Self { + pub fn diversity_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } /// Set the `diversityPolicy` field to an Option value (optional) - pub fn maybe_diversity_policy(mut self, value: Option>) -> Self { + pub fn maybe_diversity_policy( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -5765,7 +6132,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `ethicsPolicy` field (optional) - pub fn ethics_policy(mut self, value: impl Into>>) -> Self { + pub fn ethics_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } @@ -5843,7 +6213,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `foundingDate` field (optional) - pub fn founding_date(mut self, value: impl Into>>) -> Self { + pub fn founding_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } @@ -5856,12 +6229,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `foundingLocation` field (optional) - pub fn founding_location(mut self, value: impl Into>>) -> Self { + pub fn founding_location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } /// Set the `foundingLocation` field to an Option value (optional) - pub fn maybe_founding_location(mut self, value: Option>) -> Self { + pub fn maybe_founding_location( + mut self, + value: Option>, + ) -> Self { self._fields.45 = value; self } @@ -5908,7 +6287,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `geoContains` field (optional) - pub fn geo_contains(mut self, value: impl Into>>) -> Self { + pub fn geo_contains( + mut self, + value: impl Into>>, + ) -> Self { self._fields.49 = value.into(); self } @@ -5921,7 +6303,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `geoCoveredBy` field (optional) - pub fn geo_covered_by(mut self, value: impl Into>>) -> Self { + pub fn geo_covered_by( + mut self, + value: impl Into>>, + ) -> Self { self._fields.50 = value.into(); self } @@ -5960,7 +6345,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `geoDisjoint` field (optional) - pub fn geo_disjoint(mut self, value: impl Into>>) -> Self { + pub fn geo_disjoint( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } @@ -5986,7 +6374,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `geoIntersects` field (optional) - pub fn geo_intersects(mut self, value: impl Into>>) -> Self { + pub fn geo_intersects( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } @@ -5999,7 +6390,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `geoOverlaps` field (optional) - pub fn geo_overlaps(mut self, value: impl Into>>) -> Self { + pub fn geo_overlaps( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } @@ -6057,12 +6451,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `hasCertification` field (optional) - pub fn has_certification(mut self, value: impl Into>>) -> Self { + pub fn has_certification( + mut self, + value: impl Into>>, + ) -> Self { self._fields.60 = value.into(); self } /// Set the `hasCertification` field to an Option value (optional) - pub fn maybe_has_certification(mut self, value: Option>) -> Self { + pub fn maybe_has_certification( + mut self, + value: Option>, + ) -> Self { self._fields.60 = value; self } @@ -6070,7 +6470,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `hasCredential` field (optional) - pub fn has_credential(mut self, value: impl Into>>) -> Self { + pub fn has_credential( + mut self, + value: impl Into>>, + ) -> Self { self._fields.61 = value.into(); self } @@ -6110,7 +6513,10 @@ impl HotelBuilder { self } /// Set the `hasGS1DigitalLink` field to an Option value (optional) - pub fn maybe_has_gs1_digital_link(mut self, value: Option>) -> Self { + pub fn maybe_has_gs1_digital_link( + mut self, + value: Option>, + ) -> Self { self._fields.63 = value; self } @@ -6139,7 +6545,10 @@ impl HotelBuilder { self } /// Set the `hasMemberProgram` field to an Option value (optional) - pub fn maybe_has_member_program(mut self, value: Option>) -> Self { + pub fn maybe_has_member_program( + mut self, + value: Option>, + ) -> Self { self._fields.65 = value; self } @@ -6166,12 +6575,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `hasOfferCatalog` field (optional) - pub fn has_offer_catalog(mut self, value: impl Into>>) -> Self { + pub fn has_offer_catalog( + mut self, + value: impl Into>>, + ) -> Self { self._fields.67 = value.into(); self } /// Set the `hasOfferCatalog` field to an Option value (optional) - pub fn maybe_has_offer_catalog(mut self, value: Option>) -> Self { + pub fn maybe_has_offer_catalog( + mut self, + value: Option>, + ) -> Self { self._fields.67 = value; self } @@ -6219,7 +6634,10 @@ impl HotelBuilder { self } /// Set the `hasShippingService` field to an Option value (optional) - pub fn maybe_has_shipping_service(mut self, value: Option>) -> Self { + pub fn maybe_has_shipping_service( + mut self, + value: Option>, + ) -> Self { self._fields.70 = value; self } @@ -6304,7 +6722,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `iso6523Code` field (optional) - pub fn iso6523_code(mut self, value: impl Into>>) -> Self { + pub fn iso6523_code( + mut self, + value: impl Into>>, + ) -> Self { self._fields.76 = value.into(); self } @@ -6343,7 +6764,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `knowsLanguage` field (optional) - pub fn knows_language(mut self, value: impl Into>>) -> Self { + pub fn knows_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.79 = value.into(); self } @@ -6369,7 +6793,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `legalAddress` field (optional) - pub fn legal_address(mut self, value: impl Into>>) -> Self { + pub fn legal_address( + mut self, + value: impl Into>>, + ) -> Self { self._fields.81 = value.into(); self } @@ -6474,7 +6901,10 @@ impl HotelBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.88 = value; self } @@ -6605,12 +7035,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `nonprofitStatus` field (optional) - pub fn nonprofit_status(mut self, value: impl Into>>) -> Self { + pub fn nonprofit_status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.98 = value.into(); self } /// Set the `nonprofitStatus` field to an Option value (optional) - pub fn maybe_nonprofit_status(mut self, value: Option>) -> Self { + pub fn maybe_nonprofit_status( + mut self, + value: Option>, + ) -> Self { self._fields.98 = value; self } @@ -6626,7 +7062,10 @@ impl HotelBuilder { self } /// Set the `numberOfEmployees` field to an Option value (optional) - pub fn maybe_number_of_employees(mut self, value: Option>) -> Self { + pub fn maybe_number_of_employees( + mut self, + value: Option>, + ) -> Self { self._fields.99 = value; self } @@ -6634,12 +7073,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `numberOfRooms` field (optional) - pub fn number_of_rooms(mut self, value: impl Into>>) -> Self { + pub fn number_of_rooms( + mut self, + value: impl Into>>, + ) -> Self { self._fields.100 = value.into(); self } /// Set the `numberOfRooms` field to an Option value (optional) - pub fn maybe_number_of_rooms(mut self, value: Option>) -> Self { + pub fn maybe_number_of_rooms( + mut self, + value: Option>, + ) -> Self { self._fields.100 = value; self } @@ -6647,7 +7092,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `openingHours` field (optional) - pub fn opening_hours(mut self, value: impl Into>>) -> Self { + pub fn opening_hours( + mut self, + value: impl Into>>, + ) -> Self { self._fields.101 = value.into(); self } @@ -6719,7 +7167,10 @@ impl HotelBuilder { self } /// Set the `parentOrganization` field to an Option value (optional) - pub fn maybe_parent_organization(mut self, value: Option>) -> Self { + pub fn maybe_parent_organization( + mut self, + value: Option>, + ) -> Self { self._fields.105 = value; self } @@ -6727,12 +7178,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `paymentAccepted` field (optional) - pub fn payment_accepted(mut self, value: impl Into>>) -> Self { + pub fn payment_accepted( + mut self, + value: impl Into>>, + ) -> Self { self._fields.106 = value.into(); self } /// Set the `paymentAccepted` field to an Option value (optional) - pub fn maybe_payment_accepted(mut self, value: Option>) -> Self { + pub fn maybe_payment_accepted( + mut self, + value: Option>, + ) -> Self { self._fields.106 = value; self } @@ -6740,7 +7197,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `petsAllowed` field (optional) - pub fn pets_allowed(mut self, value: impl Into>>) -> Self { + pub fn pets_allowed( + mut self, + value: impl Into>>, + ) -> Self { self._fields.107 = value.into(); self } @@ -6779,12 +7239,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.110 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.110 = value; self } @@ -6805,7 +7271,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `publicAccess` field (optional) - pub fn public_access(mut self, value: impl Into>>) -> Self { + pub fn public_access( + mut self, + value: impl Into>>, + ) -> Self { self._fields.112 = value.into(); self } @@ -6889,7 +7358,10 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `serviceArea` field (optional) - pub fn service_area(mut self, value: impl Into>>) -> Self { + pub fn service_area( + mut self, + value: impl Into>>, + ) -> Self { self._fields.118 = value.into(); self } @@ -6928,12 +7400,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `smokingAllowed` field (optional) - pub fn smoking_allowed(mut self, value: impl Into>>) -> Self { + pub fn smoking_allowed( + mut self, + value: impl Into>>, + ) -> Self { self._fields.121 = value.into(); self } /// Set the `smokingAllowed` field to an Option value (optional) - pub fn maybe_smoking_allowed(mut self, value: Option>) -> Self { + pub fn maybe_smoking_allowed( + mut self, + value: Option>, + ) -> Self { self._fields.121 = value; self } @@ -6986,12 +7464,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `subOrganization` field (optional) - pub fn sub_organization(mut self, value: impl Into>>) -> Self { + pub fn sub_organization( + mut self, + value: impl Into>>, + ) -> Self { self._fields.125 = value.into(); self } /// Set the `subOrganization` field to an Option value (optional) - pub fn maybe_sub_organization(mut self, value: Option>) -> Self { + pub fn maybe_sub_organization( + mut self, + value: Option>, + ) -> Self { self._fields.125 = value; self } @@ -7038,12 +7522,18 @@ impl HotelBuilder { impl HotelBuilder { /// Set the `tourBookingPage` field (optional) - pub fn tour_booking_page(mut self, value: impl Into>>) -> Self { + pub fn tour_booking_page( + mut self, + value: impl Into>>, + ) -> Self { self._fields.129 = value.into(); self } /// Set the `tourBookingPage` field to an Option value (optional) - pub fn maybe_tour_booking_page(mut self, value: Option>) -> Self { + pub fn maybe_tour_booking_page( + mut self, + value: Option>, + ) -> Self { self._fields.129 = value; self } @@ -7376,4 +7866,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/image_object.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/image_object.rs index 43e8e5703..4e2314290 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/image_object.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/image_object.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::news_article; @@ -31,16 +34,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// An image file. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -344,6 +341,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -397,6 +395,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -440,6 +439,7 @@ pub enum EmbeddedAssociatedArticle { NewsArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -465,6 +465,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -493,6 +494,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -548,6 +550,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -558,6 +561,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -593,6 +597,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -651,6 +656,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -731,6 +737,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -769,6 +776,7 @@ pub enum EmbeddedImage { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -807,6 +815,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -815,6 +824,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -865,6 +875,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -873,6 +884,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -896,6 +908,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -926,6 +939,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -934,6 +948,7 @@ pub enum EmbeddedProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -944,6 +959,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -959,6 +975,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -967,6 +984,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -980,6 +998,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1040,6 +1059,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1058,6 +1078,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1078,6 +1099,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1091,6 +1113,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1119,6 +1142,7 @@ pub enum EmbeddedThumbnail { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1144,6 +1168,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1504,6 +1529,7 @@ pub struct ImageObject { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1557,6 +1583,7 @@ pub enum ImageObjectAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1600,6 +1627,7 @@ pub enum ImageObjectAssociatedArticle { NewsArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1625,6 +1653,7 @@ pub enum ImageObjectAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1653,6 +1682,7 @@ pub enum ImageObjectCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1708,6 +1738,7 @@ pub enum ImageObjectContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1718,6 +1749,7 @@ pub enum ImageObjectCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1753,6 +1785,7 @@ pub enum ImageObjectCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1811,6 +1844,7 @@ pub enum ImageObjectEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1891,6 +1925,7 @@ pub enum ImageObjectFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1929,6 +1964,7 @@ pub enum ImageObjectImage { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1967,6 +2003,7 @@ pub enum ImageObjectIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1975,6 +2012,7 @@ pub enum ImageObjectIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2025,6 +2063,7 @@ pub enum ImageObjectMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2033,6 +2072,7 @@ pub enum ImageObjectMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2056,6 +2096,7 @@ pub enum ImageObjectOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2086,6 +2127,7 @@ pub enum ImageObjectProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2094,6 +2136,7 @@ pub enum ImageObjectProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2104,6 +2147,7 @@ pub enum ImageObjectProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2119,6 +2163,7 @@ pub enum ImageObjectPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2127,6 +2172,7 @@ pub enum ImageObjectPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2140,6 +2186,7 @@ pub enum ImageObjectRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2200,6 +2247,7 @@ pub enum ImageObjectSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2218,6 +2266,7 @@ pub enum ImageObjectSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2238,6 +2287,7 @@ pub enum ImageObjectSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2251,6 +2301,7 @@ pub enum ImageObjectSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2279,6 +2330,7 @@ pub enum ImageObjectThumbnail { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2304,6 +2356,7 @@ pub enum ImageObjectTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2428,10 +2481,10 @@ impl LexiconSchema for ImageObject { } fn lexicon_doc_social_flockfeeds_lexical_type_ImageObject() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.ImageObject"), @@ -5573,7 +5626,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_ImageObject() -> LexiconDoc<'stati pub mod image_object_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5767,17 +5820,155 @@ impl ImageObjectBuilder { ImageObjectBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5790,17 +5981,155 @@ impl ImageObjectBuilder { ImageObjectBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5822,7 +6151,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `abstract` field (optional) - pub fn r#abstract(mut self, value: impl Into>>) -> Self { + pub fn r#abstract( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -5835,7 +6167,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `accessMode` field (optional) - pub fn access_mode(mut self, value: impl Into>>) -> Self { + pub fn access_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -6008,7 +6343,10 @@ impl ImageObjectBuilder { self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.11 = value; self } @@ -6024,7 +6362,10 @@ impl ImageObjectBuilder { self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -6032,12 +6373,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -6064,7 +6411,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `archivedAt` field (optional) - pub fn archived_at(mut self, value: impl Into>>) -> Self { + pub fn archived_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.15 = value.into(); self } @@ -6117,7 +6467,10 @@ impl ImageObjectBuilder { self } /// Set the `associatedMedia` field to an Option value (optional) - pub fn maybe_associated_media(mut self, value: Option>) -> Self { + pub fn maybe_associated_media( + mut self, + value: Option>, + ) -> Self { self._fields.18 = value; self } @@ -6216,7 +6569,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `character` field (optional) - pub fn character(mut self, value: impl Into>>) -> Self { + pub fn character( + mut self, + value: impl Into>>, + ) -> Self { self._fields.26 = value.into(); self } @@ -6255,12 +6611,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.29 = value.into(); self } /// Set the `commentCount` field to an Option value (optional) - pub fn maybe_comment_count(mut self, value: Option>) -> Self { + pub fn maybe_comment_count( + mut self, + value: Option>, + ) -> Self { self._fields.29 = value; self } @@ -6295,7 +6657,10 @@ impl ImageObjectBuilder { self } /// Set the `contentLocation` field to an Option value (optional) - pub fn maybe_content_location(mut self, value: Option>) -> Self { + pub fn maybe_content_location( + mut self, + value: Option>, + ) -> Self { self._fields.31 = value; self } @@ -6303,12 +6668,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `contentRating` field (optional) - pub fn content_rating(mut self, value: impl Into>>) -> Self { + pub fn content_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } /// Set the `contentRating` field to an Option value (optional) - pub fn maybe_content_rating(mut self, value: Option>) -> Self { + pub fn maybe_content_rating( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -6335,12 +6706,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `contentSize` field (optional) - pub fn content_size(mut self, value: impl Into>>) -> Self { + pub fn content_size( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } /// Set the `contentSize` field to an Option value (optional) - pub fn maybe_content_size(mut self, value: Option>) -> Self { + pub fn maybe_content_size( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -6348,7 +6725,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `contentUrl` field (optional) - pub fn content_url(mut self, value: impl Into>>) -> Self { + pub fn content_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.35 = value.into(); self } @@ -6361,12 +6741,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.36 = value.into(); self } /// Set the `contributor` field to an Option value (optional) - pub fn maybe_contributor(mut self, value: Option>) -> Self { + pub fn maybe_contributor( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -6382,7 +6768,10 @@ impl ImageObjectBuilder { self } /// Set the `copyrightHolder` field to an Option value (optional) - pub fn maybe_copyright_holder(mut self, value: Option>) -> Self { + pub fn maybe_copyright_holder( + mut self, + value: Option>, + ) -> Self { self._fields.37 = value; self } @@ -6398,7 +6787,10 @@ impl ImageObjectBuilder { self } /// Set the `copyrightNotice` field to an Option value (optional) - pub fn maybe_copyright_notice(mut self, value: Option>) -> Self { + pub fn maybe_copyright_notice( + mut self, + value: Option>, + ) -> Self { self._fields.38 = value; self } @@ -6406,12 +6798,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `copyrightYear` field (optional) - pub fn copyright_year(mut self, value: impl Into>>) -> Self { + pub fn copyright_year( + mut self, + value: impl Into>>, + ) -> Self { self._fields.39 = value.into(); self } /// Set the `copyrightYear` field to an Option value (optional) - pub fn maybe_copyright_year(mut self, value: Option>) -> Self { + pub fn maybe_copyright_year( + mut self, + value: Option>, + ) -> Self { self._fields.39 = value; self } @@ -6419,7 +6817,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `correction` field (optional) - pub fn correction(mut self, value: impl Into>>) -> Self { + pub fn correction( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } @@ -6440,7 +6841,10 @@ impl ImageObjectBuilder { self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.41 = value; self } @@ -6480,7 +6884,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `creditText` field (optional) - pub fn credit_text(mut self, value: impl Into>>) -> Self { + pub fn credit_text( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } @@ -6493,12 +6900,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } /// Set the `dateCreated` field to an Option value (optional) - pub fn maybe_date_created(mut self, value: Option>) -> Self { + pub fn maybe_date_created( + mut self, + value: Option>, + ) -> Self { self._fields.45 = value; self } @@ -6506,12 +6919,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.46 = value.into(); self } /// Set the `dateModified` field to an Option value (optional) - pub fn maybe_date_modified(mut self, value: Option>) -> Self { + pub fn maybe_date_modified( + mut self, + value: Option>, + ) -> Self { self._fields.46 = value; self } @@ -6519,12 +6938,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `datePublished` field (optional) - pub fn date_published(mut self, value: impl Into>>) -> Self { + pub fn date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.47 = value.into(); self } /// Set the `datePublished` field to an Option value (optional) - pub fn maybe_date_published(mut self, value: Option>) -> Self { + pub fn maybe_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.47 = value; self } @@ -6532,12 +6957,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } /// Set the `description` field to an Option value (optional) - pub fn maybe_description(mut self, value: Option>) -> Self { + pub fn maybe_description( + mut self, + value: Option>, + ) -> Self { self._fields.48 = value; self } @@ -6583,12 +7014,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `discussionUrl` field (optional) - pub fn discussion_url(mut self, value: impl Into>>) -> Self { + pub fn discussion_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } /// Set the `discussionUrl` field to an Option value (optional) - pub fn maybe_discussion_url(mut self, value: Option>) -> Self { + pub fn maybe_discussion_url( + mut self, + value: Option>, + ) -> Self { self._fields.51 = value; self } @@ -6609,7 +7046,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `editEIDR` field (optional) - pub fn edit_eidr(mut self, value: impl Into>>) -> Self { + pub fn edit_eidr( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } @@ -6681,7 +7121,10 @@ impl ImageObjectBuilder { self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.57 = value; self } @@ -6689,7 +7132,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `embedUrl` field (optional) - pub fn embed_url(mut self, value: impl Into>>) -> Self { + pub fn embed_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } @@ -6761,7 +7207,10 @@ impl ImageObjectBuilder { self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.62 = value; self } @@ -6769,7 +7218,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `encodings` field (optional) - pub fn encodings(mut self, value: impl Into>>) -> Self { + pub fn encodings( + mut self, + value: impl Into>>, + ) -> Self { self._fields.63 = value.into(); self } @@ -6803,7 +7255,10 @@ impl ImageObjectBuilder { self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.65 = value; self } @@ -6811,7 +7266,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `exifData` field (optional) - pub fn exif_data(mut self, value: impl Into>>) -> Self { + pub fn exif_data( + mut self, + value: impl Into>>, + ) -> Self { self._fields.66 = value.into(); self } @@ -6837,7 +7295,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `fileFormat` field (optional) - pub fn file_format(mut self, value: impl Into>>) -> Self { + pub fn file_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.68 = value.into(); self } @@ -6928,7 +7389,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.75 = value.into(); self } @@ -6954,7 +7418,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `inLanguage` field (optional) - pub fn in_language(mut self, value: impl Into>>) -> Self { + pub fn in_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.77 = value.into(); self } @@ -7062,7 +7529,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `isBasedOn` field (optional) - pub fn is_based_on(mut self, value: impl Into>>) -> Self { + pub fn is_based_on( + mut self, + value: impl Into>>, + ) -> Self { self._fields.83 = value.into(); self } @@ -7075,12 +7545,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `isBasedOnUrl` field (optional) - pub fn is_based_on_url(mut self, value: impl Into>>) -> Self { + pub fn is_based_on_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.84 = value.into(); self } /// Set the `isBasedOnUrl` field to an Option value (optional) - pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on_url( + mut self, + value: Option>, + ) -> Self { self._fields.84 = value; self } @@ -7107,7 +7583,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `isPartOf` field (optional) - pub fn is_part_of(mut self, value: impl Into>>) -> Self { + pub fn is_part_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.86 = value.into(); self } @@ -7173,7 +7652,10 @@ impl ImageObjectBuilder { self } /// Set the `locationCreated` field to an Option value (optional) - pub fn maybe_location_created(mut self, value: Option>) -> Self { + pub fn maybe_location_created( + mut self, + value: Option>, + ) -> Self { self._fields.90 = value; self } @@ -7181,7 +7663,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `mainEntity` field (optional) - pub fn main_entity(mut self, value: impl Into>>) -> Self { + pub fn main_entity( + mut self, + value: impl Into>>, + ) -> Self { self._fields.91 = value.into(); self } @@ -7213,7 +7698,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `maintainer` field (optional) - pub fn maintainer(mut self, value: impl Into>>) -> Self { + pub fn maintainer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.93 = value.into(); self } @@ -7247,7 +7735,10 @@ impl ImageObjectBuilder { self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.95 = value; self } @@ -7307,7 +7798,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `playerType` field (optional) - pub fn player_type(mut self, value: impl Into>>) -> Self { + pub fn player_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.100 = value.into(); self } @@ -7341,7 +7835,10 @@ impl ImageObjectBuilder { self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.102 = value; self } @@ -7394,12 +7891,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `publication` field (optional) - pub fn publication(mut self, value: impl Into>>) -> Self { + pub fn publication( + mut self, + value: impl Into>>, + ) -> Self { self._fields.106 = value.into(); self } /// Set the `publication` field to an Option value (optional) - pub fn maybe_publication(mut self, value: Option>) -> Self { + pub fn maybe_publication( + mut self, + value: Option>, + ) -> Self { self._fields.106 = value; self } @@ -7407,7 +7910,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `publisher` field (optional) - pub fn publisher(mut self, value: impl Into>>) -> Self { + pub fn publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.107 = value.into(); self } @@ -7458,7 +7964,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `recordedAt` field (optional) - pub fn recorded_at(mut self, value: impl Into>>) -> Self { + pub fn recorded_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.110 = value.into(); self } @@ -7479,7 +7988,10 @@ impl ImageObjectBuilder { self } /// Set the `regionsAllowed` field to an Option value (optional) - pub fn maybe_regions_allowed(mut self, value: Option>) -> Self { + pub fn maybe_regions_allowed( + mut self, + value: Option>, + ) -> Self { self._fields.111 = value; self } @@ -7487,12 +7999,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `releasedEvent` field (optional) - pub fn released_event(mut self, value: impl Into>>) -> Self { + pub fn released_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.112 = value.into(); self } /// Set the `releasedEvent` field to an Option value (optional) - pub fn maybe_released_event(mut self, value: Option>) -> Self { + pub fn maybe_released_event( + mut self, + value: Option>, + ) -> Self { self._fields.112 = value; self } @@ -7577,12 +8095,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `schemaVersion` field (optional) - pub fn schema_version(mut self, value: impl Into>>) -> Self { + pub fn schema_version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.118 = value.into(); self } /// Set the `schemaVersion` field to an Option value (optional) - pub fn maybe_schema_version(mut self, value: Option>) -> Self { + pub fn maybe_schema_version( + mut self, + value: Option>, + ) -> Self { self._fields.118 = value; self } @@ -7598,7 +8122,10 @@ impl ImageObjectBuilder { self } /// Set the `sdDatePublished` field to an Option value (optional) - pub fn maybe_sd_date_published(mut self, value: Option>) -> Self { + pub fn maybe_sd_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.119 = value; self } @@ -7606,7 +8133,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `sdLicense` field (optional) - pub fn sd_license(mut self, value: impl Into>>) -> Self { + pub fn sd_license( + mut self, + value: impl Into>>, + ) -> Self { self._fields.120 = value.into(); self } @@ -7619,12 +8149,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.121 = value.into(); self } /// Set the `sdPublisher` field to an Option value (optional) - pub fn maybe_sd_publisher(mut self, value: Option>) -> Self { + pub fn maybe_sd_publisher( + mut self, + value: Option>, + ) -> Self { self._fields.121 = value; self } @@ -7698,7 +8234,10 @@ impl ImageObjectBuilder { self } /// Set the `spatialCoverage` field to an Option value (optional) - pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self { + pub fn maybe_spatial_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.126 = value; self } @@ -7719,7 +8258,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `startTime` field (optional) - pub fn start_time(mut self, value: impl Into>>) -> Self { + pub fn start_time( + mut self, + value: impl Into>>, + ) -> Self { self._fields.128 = value.into(); self } @@ -7732,7 +8274,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.129 = value.into(); self } @@ -7803,7 +8348,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `thumbnail` field (optional) - pub fn thumbnail(mut self, value: impl Into>>) -> Self { + pub fn thumbnail( + mut self, + value: impl Into>>, + ) -> Self { self._fields.134 = value.into(); self } @@ -7816,12 +8364,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.135 = value.into(); self } /// Set the `thumbnailUrl` field to an Option value (optional) - pub fn maybe_thumbnail_url(mut self, value: Option>) -> Self { + pub fn maybe_thumbnail_url( + mut self, + value: Option>, + ) -> Self { self._fields.135 = value; self } @@ -7829,12 +8383,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.136 = value.into(); self } /// Set the `timeRequired` field to an Option value (optional) - pub fn maybe_time_required(mut self, value: Option>) -> Self { + pub fn maybe_time_required( + mut self, + value: Option>, + ) -> Self { self._fields.136 = value; self } @@ -7861,7 +8421,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `translator` field (optional) - pub fn translator(mut self, value: impl Into>>) -> Self { + pub fn translator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.138 = value.into(); self } @@ -7882,7 +8445,10 @@ impl ImageObjectBuilder { self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.139 = value; self } @@ -7890,7 +8456,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `uploadDate` field (optional) - pub fn upload_date(mut self, value: impl Into>>) -> Self { + pub fn upload_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.140 = value.into(); self } @@ -7916,7 +8485,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `usageInfo` field (optional) - pub fn usage_info(mut self, value: impl Into>>) -> Self { + pub fn usage_info( + mut self, + value: impl Into>>, + ) -> Self { self._fields.142 = value.into(); self } @@ -7968,7 +8540,10 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `wordCount` field (optional) - pub fn word_count(mut self, value: impl Into>>) -> Self { + pub fn word_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.146 = value.into(); self } @@ -7981,12 +8556,18 @@ impl ImageObjectBuilder { impl ImageObjectBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.147 = value.into(); self } /// Set the `workExample` field to an Option value (optional) - pub fn maybe_work_example(mut self, value: Option>) -> Self { + pub fn maybe_work_example( + mut self, + value: Option>, + ) -> Self { self._fields.147 = value; self } @@ -8002,7 +8583,10 @@ impl ImageObjectBuilder { self } /// Set the `workTranslation` field to an Option value (optional) - pub fn maybe_work_translation(mut self, value: Option>) -> Self { + pub fn maybe_work_translation( + mut self, + value: Option>, + ) -> Self { self._fields.148 = value; self } @@ -8168,7 +8752,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageObject { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageObject { ImageObject { about: self._fields.0, r#abstract: self._fields.1, @@ -8322,4 +8909,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/local_business.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/local_business.rs index 24a6ec562..a767d6b1e 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/local_business.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/local_business.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::article; use crate::social_flockfeeds::lexical::r#type::brand; use crate::social_flockfeeds::lexical::r#type::event; @@ -32,16 +35,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub accepted_payment_method: Option>, @@ -276,7 +273,9 @@ pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub smoking_allowed: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub special_opening_hours_specification: Option>, + pub special_opening_hours_specification: Option< + EmbeddedSpecialOpeningHoursSpecification, + >, #[serde(skip_serializing_if = "Option::is_none")] pub sponsor: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -299,6 +298,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -347,6 +347,7 @@ pub enum EmbeddedAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -380,6 +381,7 @@ pub enum EmbeddedBranchOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -390,6 +392,7 @@ pub enum EmbeddedBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -438,6 +441,7 @@ pub enum EmbeddedDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -466,6 +470,7 @@ pub enum EmbeddedDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -484,6 +489,7 @@ pub enum EmbeddedEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -492,6 +498,7 @@ pub enum EmbeddedEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -505,6 +512,7 @@ pub enum EmbeddedEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -513,6 +521,7 @@ pub enum EmbeddedEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -528,6 +537,7 @@ pub enum EmbeddedFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -536,6 +546,7 @@ pub enum EmbeddedFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -556,6 +567,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -689,6 +701,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -747,6 +760,7 @@ pub enum EmbeddedLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -765,6 +779,7 @@ pub enum EmbeddedLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -783,6 +798,7 @@ pub enum EmbeddedMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -808,6 +824,7 @@ pub enum EmbeddedMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -816,6 +833,7 @@ pub enum EmbeddedMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -826,6 +844,7 @@ pub enum EmbeddedMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -869,6 +888,7 @@ pub enum EmbeddedOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -877,6 +897,7 @@ pub enum EmbeddedParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -890,6 +911,7 @@ pub enum EmbeddedPhoto { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -898,6 +920,7 @@ pub enum EmbeddedPhotos { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -973,6 +996,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -981,6 +1005,7 @@ pub enum EmbeddedSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -989,6 +1014,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1260,8 +1286,9 @@ pub struct LocalBusiness { #[serde(skip_serializing_if = "Option::is_none")] pub smoking_allowed: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub special_opening_hours_specification: - Option>, + pub special_opening_hours_specification: Option< + LocalBusinessSpecialOpeningHoursSpecification, + >, #[serde(skip_serializing_if = "Option::is_none")] pub sponsor: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -1284,6 +1311,7 @@ pub struct LocalBusiness { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1332,6 +1360,7 @@ pub enum LocalBusinessAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1365,6 +1394,7 @@ pub enum LocalBusinessBranchOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1375,6 +1405,7 @@ pub enum LocalBusinessBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1423,6 +1454,7 @@ pub enum LocalBusinessDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1451,6 +1483,7 @@ pub enum LocalBusinessDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1469,6 +1502,7 @@ pub enum LocalBusinessEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1477,6 +1511,7 @@ pub enum LocalBusinessEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1490,6 +1525,7 @@ pub enum LocalBusinessEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1498,6 +1534,7 @@ pub enum LocalBusinessEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1513,6 +1550,7 @@ pub enum LocalBusinessFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1521,6 +1559,7 @@ pub enum LocalBusinessFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1541,6 +1580,7 @@ pub enum LocalBusinessFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1674,6 +1714,7 @@ pub enum LocalBusinessImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1732,6 +1773,7 @@ pub enum LocalBusinessLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1750,6 +1792,7 @@ pub enum LocalBusinessLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1768,6 +1811,7 @@ pub enum LocalBusinessMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1793,6 +1837,7 @@ pub enum LocalBusinessMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1801,6 +1846,7 @@ pub enum LocalBusinessMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1811,6 +1857,7 @@ pub enum LocalBusinessMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1854,6 +1901,7 @@ pub enum LocalBusinessOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1862,6 +1910,7 @@ pub enum LocalBusinessParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1875,6 +1924,7 @@ pub enum LocalBusinessPhoto { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1883,6 +1933,7 @@ pub enum LocalBusinessPhotos { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1958,6 +2009,7 @@ pub enum LocalBusinessSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1966,6 +2018,7 @@ pub enum LocalBusinessSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1974,6 +2027,7 @@ pub enum LocalBusinessSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2078,10 +2132,10 @@ impl LexiconSchema for LocalBusiness { } fn lexicon_doc_social_flockfeeds_lexical_type_LocalBusiness() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.LocalBusiness"), @@ -4759,7 +4813,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_LocalBusiness() -> LexiconDoc<'sta pub mod local_business_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4777,7 +4831,10 @@ pub mod local_business_state { } /// Builder for constructing an instance of this type. -pub struct LocalBusinessBuilder { +pub struct LocalBusinessBuilder< + St: local_business_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -4930,15 +4987,132 @@ impl LocalBusinessBuilder { LocalBusinessBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -4951,15 +5125,132 @@ impl LocalBusinessBuilder { LocalBusinessBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5033,7 +5324,10 @@ impl LocalBusinessBuilder { self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -5100,7 +5394,10 @@ impl LocalBusinessBuilder { self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.7 = value; self } @@ -5129,7 +5426,10 @@ impl LocalBusinessBuilder { self } /// Set the `amenityFeature` field to an Option value (optional) - pub fn maybe_amenity_feature(mut self, value: Option>) -> Self { + pub fn maybe_amenity_feature( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5137,12 +5437,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `areaServed` field (optional) - pub fn area_served(mut self, value: impl Into>>) -> Self { + pub fn area_served( + mut self, + value: impl Into>>, + ) -> Self { self._fields.10 = value.into(); self } /// Set the `areaServed` field to an Option value (optional) - pub fn maybe_area_served(mut self, value: Option>) -> Self { + pub fn maybe_area_served( + mut self, + value: Option>, + ) -> Self { self._fields.10 = value; self } @@ -5176,12 +5482,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `branchCode` field (optional) - pub fn branch_code(mut self, value: impl Into>>) -> Self { + pub fn branch_code( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `branchCode` field to an Option value (optional) - pub fn maybe_branch_code(mut self, value: Option>) -> Self { + pub fn maybe_branch_code( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -5189,7 +5501,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `branchOf` field (optional) - pub fn branch_of(mut self, value: impl Into>>) -> Self { + pub fn branch_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.14 = value.into(); self } @@ -5234,12 +5549,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `contactPoint` field (optional) - pub fn contact_point(mut self, value: impl Into>>) -> Self { + pub fn contact_point( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } /// Set the `contactPoint` field to an Option value (optional) - pub fn maybe_contact_point(mut self, value: Option>) -> Self { + pub fn maybe_contact_point( + mut self, + value: Option>, + ) -> Self { self._fields.17 = value; self } @@ -5255,7 +5576,10 @@ impl LocalBusinessBuilder { self } /// Set the `contactPoints` field to an Option value (optional) - pub fn maybe_contact_points(mut self, value: Option>) -> Self { + pub fn maybe_contact_points( + mut self, + value: Option>, + ) -> Self { self._fields.18 = value; self } @@ -5263,12 +5587,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `containedIn` field (optional) - pub fn contained_in(mut self, value: impl Into>>) -> Self { + pub fn contained_in( + mut self, + value: impl Into>>, + ) -> Self { self._fields.19 = value.into(); self } /// Set the `containedIn` field to an Option value (optional) - pub fn maybe_contained_in(mut self, value: Option>) -> Self { + pub fn maybe_contained_in( + mut self, + value: Option>, + ) -> Self { self._fields.19 = value; self } @@ -5303,7 +5633,10 @@ impl LocalBusinessBuilder { self } /// Set the `containsPlace` field to an Option value (optional) - pub fn maybe_contains_place(mut self, value: Option>) -> Self { + pub fn maybe_contains_place( + mut self, + value: Option>, + ) -> Self { self._fields.21 = value; self } @@ -5349,12 +5682,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `department` field (optional) - pub fn department(mut self, value: impl Into>>) -> Self { + pub fn department( + mut self, + value: impl Into>>, + ) -> Self { self._fields.24 = value.into(); self } /// Set the `department` field to an Option value (optional) - pub fn maybe_department(mut self, value: Option>) -> Self { + pub fn maybe_department( + mut self, + value: Option>, + ) -> Self { self._fields.24 = value; self } @@ -5362,12 +5701,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.25 = value.into(); self } /// Set the `description` field to an Option value (optional) - pub fn maybe_description(mut self, value: Option>) -> Self { + pub fn maybe_description( + mut self, + value: Option>, + ) -> Self { self._fields.25 = value; self } @@ -5477,7 +5822,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `employee` field (optional) - pub fn employee(mut self, value: impl Into>>) -> Self { + pub fn employee( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } @@ -5490,7 +5838,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `employees` field (optional) - pub fn employees(mut self, value: impl Into>>) -> Self { + pub fn employees( + mut self, + value: impl Into>>, + ) -> Self { self._fields.33 = value.into(); self } @@ -5503,12 +5854,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `ethicsPolicy` field (optional) - pub fn ethics_policy(mut self, value: impl Into>>) -> Self { + pub fn ethics_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } /// Set the `ethicsPolicy` field to an Option value (optional) - pub fn maybe_ethics_policy(mut self, value: Option>) -> Self { + pub fn maybe_ethics_policy( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -5542,7 +5899,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `faxNumber` field (optional) - pub fn fax_number(mut self, value: impl Into>>) -> Self { + pub fn fax_number( + mut self, + value: impl Into>>, + ) -> Self { self._fields.37 = value.into(); self } @@ -5568,7 +5928,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `founders` field (optional) - pub fn founders(mut self, value: impl Into>>) -> Self { + pub fn founders( + mut self, + value: impl Into>>, + ) -> Self { self._fields.39 = value.into(); self } @@ -5581,12 +5944,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `foundingDate` field (optional) - pub fn founding_date(mut self, value: impl Into>>) -> Self { + pub fn founding_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } /// Set the `foundingDate` field to an Option value (optional) - pub fn maybe_founding_date(mut self, value: Option>) -> Self { + pub fn maybe_founding_date( + mut self, + value: Option>, + ) -> Self { self._fields.40 = value; self } @@ -5652,12 +6021,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoContains` field (optional) - pub fn geo_contains(mut self, value: impl Into>>) -> Self { + pub fn geo_contains( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } /// Set the `geoContains` field to an Option value (optional) - pub fn maybe_geo_contains(mut self, value: Option>) -> Self { + pub fn maybe_geo_contains( + mut self, + value: Option>, + ) -> Self { self._fields.45 = value; self } @@ -5673,7 +6048,10 @@ impl LocalBusinessBuilder { self } /// Set the `geoCoveredBy` field to an Option value (optional) - pub fn maybe_geo_covered_by(mut self, value: Option>) -> Self { + pub fn maybe_geo_covered_by( + mut self, + value: Option>, + ) -> Self { self._fields.46 = value; self } @@ -5681,7 +6059,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoCovers` field (optional) - pub fn geo_covers(mut self, value: impl Into>>) -> Self { + pub fn geo_covers( + mut self, + value: impl Into>>, + ) -> Self { self._fields.47 = value.into(); self } @@ -5694,12 +6075,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoCrosses` field (optional) - pub fn geo_crosses(mut self, value: impl Into>>) -> Self { + pub fn geo_crosses( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } /// Set the `geoCrosses` field to an Option value (optional) - pub fn maybe_geo_crosses(mut self, value: Option>) -> Self { + pub fn maybe_geo_crosses( + mut self, + value: Option>, + ) -> Self { self._fields.48 = value; self } @@ -5707,12 +6094,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoDisjoint` field (optional) - pub fn geo_disjoint(mut self, value: impl Into>>) -> Self { + pub fn geo_disjoint( + mut self, + value: impl Into>>, + ) -> Self { self._fields.49 = value.into(); self } /// Set the `geoDisjoint` field to an Option value (optional) - pub fn maybe_geo_disjoint(mut self, value: Option>) -> Self { + pub fn maybe_geo_disjoint( + mut self, + value: Option>, + ) -> Self { self._fields.49 = value; self } @@ -5720,7 +6113,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoEquals` field (optional) - pub fn geo_equals(mut self, value: impl Into>>) -> Self { + pub fn geo_equals( + mut self, + value: impl Into>>, + ) -> Self { self._fields.50 = value.into(); self } @@ -5741,7 +6137,10 @@ impl LocalBusinessBuilder { self } /// Set the `geoIntersects` field to an Option value (optional) - pub fn maybe_geo_intersects(mut self, value: Option>) -> Self { + pub fn maybe_geo_intersects( + mut self, + value: Option>, + ) -> Self { self._fields.51 = value; self } @@ -5749,12 +6148,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoOverlaps` field (optional) - pub fn geo_overlaps(mut self, value: impl Into>>) -> Self { + pub fn geo_overlaps( + mut self, + value: impl Into>>, + ) -> Self { self._fields.52 = value.into(); self } /// Set the `geoOverlaps` field to an Option value (optional) - pub fn maybe_geo_overlaps(mut self, value: Option>) -> Self { + pub fn maybe_geo_overlaps( + mut self, + value: Option>, + ) -> Self { self._fields.52 = value; self } @@ -5762,12 +6167,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoTouches` field (optional) - pub fn geo_touches(mut self, value: impl Into>>) -> Self { + pub fn geo_touches( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } /// Set the `geoTouches` field to an Option value (optional) - pub fn maybe_geo_touches(mut self, value: Option>) -> Self { + pub fn maybe_geo_touches( + mut self, + value: Option>, + ) -> Self { self._fields.53 = value; self } @@ -5775,7 +6186,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `geoWithin` field (optional) - pub fn geo_within(mut self, value: impl Into>>) -> Self { + pub fn geo_within( + mut self, + value: impl Into>>, + ) -> Self { self._fields.54 = value.into(); self } @@ -5834,7 +6248,10 @@ impl LocalBusinessBuilder { self } /// Set the `hasCredential` field to an Option value (optional) - pub fn maybe_has_credential(mut self, value: Option>) -> Self { + pub fn maybe_has_credential( + mut self, + value: Option>, + ) -> Self { self._fields.57 = value; self } @@ -6001,12 +6418,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.67 = value.into(); self } /// Set the `identifier` field to an Option value (optional) - pub fn maybe_identifier(mut self, value: Option>) -> Self { + pub fn maybe_identifier( + mut self, + value: Option>, + ) -> Self { self._fields.67 = value; self } @@ -6078,12 +6501,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `iso6523Code` field (optional) - pub fn iso6523_code(mut self, value: impl Into>>) -> Self { + pub fn iso6523_code( + mut self, + value: impl Into>>, + ) -> Self { self._fields.72 = value.into(); self } /// Set the `iso6523Code` field to an Option value (optional) - pub fn maybe_iso6523_code(mut self, value: Option>) -> Self { + pub fn maybe_iso6523_code( + mut self, + value: Option>, + ) -> Self { self._fields.72 = value; self } @@ -6091,7 +6520,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `keywords` field (optional) - pub fn keywords(mut self, value: impl Into>>) -> Self { + pub fn keywords( + mut self, + value: impl Into>>, + ) -> Self { self._fields.73 = value.into(); self } @@ -6104,12 +6536,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `knowsAbout` field (optional) - pub fn knows_about(mut self, value: impl Into>>) -> Self { + pub fn knows_about( + mut self, + value: impl Into>>, + ) -> Self { self._fields.74 = value.into(); self } /// Set the `knowsAbout` field to an Option value (optional) - pub fn maybe_knows_about(mut self, value: Option>) -> Self { + pub fn maybe_knows_about( + mut self, + value: Option>, + ) -> Self { self._fields.74 = value; self } @@ -6125,7 +6563,10 @@ impl LocalBusinessBuilder { self } /// Set the `knowsLanguage` field to an Option value (optional) - pub fn maybe_knows_language(mut self, value: Option>) -> Self { + pub fn maybe_knows_language( + mut self, + value: Option>, + ) -> Self { self._fields.75 = value; self } @@ -6133,7 +6574,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `latitude` field (optional) - pub fn latitude(mut self, value: impl Into>>) -> Self { + pub fn latitude( + mut self, + value: impl Into>>, + ) -> Self { self._fields.76 = value.into(); self } @@ -6146,12 +6590,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `legalAddress` field (optional) - pub fn legal_address(mut self, value: impl Into>>) -> Self { + pub fn legal_address( + mut self, + value: impl Into>>, + ) -> Self { self._fields.77 = value.into(); self } /// Set the `legalAddress` field to an Option value (optional) - pub fn maybe_legal_address(mut self, value: Option>) -> Self { + pub fn maybe_legal_address( + mut self, + value: Option>, + ) -> Self { self._fields.77 = value; self } @@ -6159,7 +6609,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `legalName` field (optional) - pub fn legal_name(mut self, value: impl Into>>) -> Self { + pub fn legal_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.78 = value.into(); self } @@ -6191,7 +6644,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `leiCode` field (optional) - pub fn lei_code(mut self, value: impl Into>>) -> Self { + pub fn lei_code( + mut self, + value: impl Into>>, + ) -> Self { self._fields.80 = value.into(); self } @@ -6204,7 +6660,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `location` field (optional) - pub fn location(mut self, value: impl Into>>) -> Self { + pub fn location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.81 = value.into(); self } @@ -6230,7 +6689,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `longitude` field (optional) - pub fn longitude(mut self, value: impl Into>>) -> Self { + pub fn longitude( + mut self, + value: impl Into>>, + ) -> Self { self._fields.83 = value.into(); self } @@ -6262,12 +6724,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `makesOffer` field (optional) - pub fn makes_offer(mut self, value: impl Into>>) -> Self { + pub fn makes_offer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.85 = value.into(); self } /// Set the `makesOffer` field to an Option value (optional) - pub fn maybe_makes_offer(mut self, value: Option>) -> Self { + pub fn maybe_makes_offer( + mut self, + value: Option>, + ) -> Self { self._fields.85 = value; self } @@ -6333,7 +6801,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `memberOf` field (optional) - pub fn member_of(mut self, value: impl Into>>) -> Self { + pub fn member_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.90 = value.into(); self } @@ -6423,12 +6894,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `openingHours` field (optional) - pub fn opening_hours(mut self, value: impl Into>>) -> Self { + pub fn opening_hours( + mut self, + value: impl Into>>, + ) -> Self { self._fields.96 = value.into(); self } /// Set the `openingHours` field to an Option value (optional) - pub fn maybe_opening_hours(mut self, value: Option>) -> Self { + pub fn maybe_opening_hours( + mut self, + value: Option>, + ) -> Self { self._fields.96 = value; self } @@ -6570,12 +7047,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `priceRange` field (optional) - pub fn price_range(mut self, value: impl Into>>) -> Self { + pub fn price_range( + mut self, + value: impl Into>>, + ) -> Self { self._fields.105 = value.into(); self } /// Set the `priceRange` field to an Option value (optional) - pub fn maybe_price_range(mut self, value: Option>) -> Self { + pub fn maybe_price_range( + mut self, + value: Option>, + ) -> Self { self._fields.105 = value; self } @@ -6583,12 +7066,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `publicAccess` field (optional) - pub fn public_access(mut self, value: impl Into>>) -> Self { + pub fn public_access( + mut self, + value: impl Into>>, + ) -> Self { self._fields.106 = value.into(); self } /// Set the `publicAccess` field to an Option value (optional) - pub fn maybe_public_access(mut self, value: Option>) -> Self { + pub fn maybe_public_access( + mut self, + value: Option>, + ) -> Self { self._fields.106 = value; self } @@ -6667,12 +7156,18 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `serviceArea` field (optional) - pub fn service_area(mut self, value: impl Into>>) -> Self { + pub fn service_area( + mut self, + value: impl Into>>, + ) -> Self { self._fields.112 = value.into(); self } /// Set the `serviceArea` field to an Option value (optional) - pub fn maybe_service_area(mut self, value: Option>) -> Self { + pub fn maybe_service_area( + mut self, + value: Option>, + ) -> Self { self._fields.112 = value; self } @@ -6714,7 +7209,10 @@ impl LocalBusinessBuilder { self } /// Set the `smokingAllowed` field to an Option value (optional) - pub fn maybe_smoking_allowed(mut self, value: Option>) -> Self { + pub fn maybe_smoking_allowed( + mut self, + value: Option>, + ) -> Self { self._fields.115 = value; self } @@ -6773,7 +7271,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.119 = value.into(); self } @@ -6799,7 +7300,10 @@ impl LocalBusinessBuilder { impl LocalBusinessBuilder { /// Set the `telephone` field (optional) - pub fn telephone(mut self, value: impl Into>>) -> Self { + pub fn telephone( + mut self, + value: impl Into>>, + ) -> Self { self._fields.121 = value.into(); self } @@ -7011,7 +7515,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LocalBusiness { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LocalBusiness { LocalBusiness { accepted_payment_method: self._fields.0, actionable_feedback_policy: self._fields.1, @@ -7142,4 +7649,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/movie.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/movie.rs index 11a61e272..508ecc14e 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/movie.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/movie.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::music_group; @@ -31,16 +34,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A movie. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -320,6 +317,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -373,6 +371,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -386,6 +385,7 @@ pub enum EmbeddedActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -394,6 +394,7 @@ pub enum EmbeddedActors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -449,6 +450,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -467,6 +469,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -512,6 +515,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -522,6 +526,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -557,6 +562,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -595,6 +601,7 @@ pub enum EmbeddedDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -603,6 +610,7 @@ pub enum EmbeddedDirectors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -631,6 +639,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -686,6 +695,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -719,6 +729,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -752,6 +763,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -760,6 +772,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -810,6 +823,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -818,6 +832,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -838,6 +853,7 @@ pub enum EmbeddedMusicBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -851,6 +867,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -876,6 +893,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -884,6 +902,7 @@ pub enum EmbeddedProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -894,6 +913,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -909,6 +929,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -917,6 +938,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -930,6 +952,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -975,6 +998,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -988,6 +1012,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1008,6 +1033,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1016,6 +1042,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1049,6 +1076,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1084,6 +1112,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1410,6 +1439,7 @@ pub struct Movie { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1463,6 +1493,7 @@ pub enum MovieAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1476,6 +1507,7 @@ pub enum MovieActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1484,6 +1516,7 @@ pub enum MovieActors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1539,6 +1572,7 @@ pub enum MovieAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1557,6 +1591,7 @@ pub enum MovieCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1602,6 +1637,7 @@ pub enum MovieContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1612,6 +1648,7 @@ pub enum MovieCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1647,6 +1684,7 @@ pub enum MovieCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1685,6 +1723,7 @@ pub enum MovieDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1693,6 +1732,7 @@ pub enum MovieDirectors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1721,6 +1761,7 @@ pub enum MovieEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1776,6 +1817,7 @@ pub enum MovieFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1809,6 +1851,7 @@ pub enum MovieImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1842,6 +1885,7 @@ pub enum MovieIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1850,6 +1894,7 @@ pub enum MovieIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1900,6 +1945,7 @@ pub enum MovieMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1908,6 +1954,7 @@ pub enum MovieMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1928,6 +1975,7 @@ pub enum MovieMusicBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1941,6 +1989,7 @@ pub enum MovieOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1966,6 +2015,7 @@ pub enum MovieProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1974,6 +2024,7 @@ pub enum MovieProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1984,6 +2035,7 @@ pub enum MovieProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1999,6 +2051,7 @@ pub enum MoviePublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2007,6 +2060,7 @@ pub enum MoviePublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2020,6 +2074,7 @@ pub enum MovieRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2065,6 +2120,7 @@ pub enum MovieSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2078,6 +2134,7 @@ pub enum MovieSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2098,6 +2155,7 @@ pub enum MovieSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2106,6 +2164,7 @@ pub enum MovieSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2139,6 +2198,7 @@ pub enum MovieThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2174,6 +2234,7 @@ pub enum MovieTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2288,10 +2349,10 @@ impl LexiconSchema for Movie { } fn lexicon_doc_social_flockfeeds_lexical_type_Movie() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Movie"), @@ -5181,7 +5242,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Movie() -> LexiconDoc<'static> { pub mod movie_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5363,16 +5424,143 @@ impl MovieBuilder { MovieBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5385,16 +5573,143 @@ impl MovieBuilder { MovieBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5461,12 +5776,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `accessibilityAPI` field (optional) - pub fn accessibility_api(mut self, value: impl Into>>) -> Self { + pub fn accessibility_api( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } /// Set the `accessibilityAPI` field to an Option value (optional) - pub fn maybe_accessibility_api(mut self, value: Option>) -> Self { + pub fn maybe_accessibility_api( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -5558,7 +5879,10 @@ impl MovieBuilder { self } /// Set the `accountablePerson` field to an Option value (optional) - pub fn maybe_accountable_person(mut self, value: Option>) -> Self { + pub fn maybe_accountable_person( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5574,7 +5898,10 @@ impl MovieBuilder { self } /// Set the `acquireLicensePage` field to an Option value (optional) - pub fn maybe_acquire_license_page(mut self, value: Option>) -> Self { + pub fn maybe_acquire_license_page( + mut self, + value: Option>, + ) -> Self { self._fields.10 = value; self } @@ -5608,12 +5935,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -5621,12 +5954,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `aggregateRating` field (optional) - pub fn aggregate_rating(mut self, value: impl Into>>) -> Self { + pub fn aggregate_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.14 = value.into(); self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -5634,7 +5973,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.15 = value.into(); self } @@ -5692,12 +6034,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `associatedMedia` field (optional) - pub fn associated_media(mut self, value: impl Into>>) -> Self { + pub fn associated_media( + mut self, + value: impl Into>>, + ) -> Self { self._fields.19 = value.into(); self } /// Set the `associatedMedia` field to an Option value (optional) - pub fn maybe_associated_media(mut self, value: Option>) -> Self { + pub fn maybe_associated_media( + mut self, + value: Option>, + ) -> Self { self._fields.19 = value; self } @@ -5809,7 +6157,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } @@ -5830,7 +6181,10 @@ impl MovieBuilder { self } /// Set the `conditionsOfAccess` field to an Option value (optional) - pub fn maybe_conditions_of_access(mut self, value: Option>) -> Self { + pub fn maybe_conditions_of_access( + mut self, + value: Option>, + ) -> Self { self._fields.29 = value; self } @@ -5838,12 +6192,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `contentLocation` field (optional) - pub fn content_location(mut self, value: impl Into>>) -> Self { + pub fn content_location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.30 = value.into(); self } /// Set the `contentLocation` field to an Option value (optional) - pub fn maybe_content_location(mut self, value: Option>) -> Self { + pub fn maybe_content_location( + mut self, + value: Option>, + ) -> Self { self._fields.30 = value; self } @@ -5851,7 +6211,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `contentRating` field (optional) - pub fn content_rating(mut self, value: impl Into>>) -> Self { + pub fn content_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.31 = value.into(); self } @@ -5896,12 +6259,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `copyrightHolder` field (optional) - pub fn copyright_holder(mut self, value: impl Into>>) -> Self { + pub fn copyright_holder( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } /// Set the `copyrightHolder` field to an Option value (optional) - pub fn maybe_copyright_holder(mut self, value: Option>) -> Self { + pub fn maybe_copyright_holder( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -5909,12 +6278,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `copyrightNotice` field (optional) - pub fn copyright_notice(mut self, value: impl Into>>) -> Self { + pub fn copyright_notice( + mut self, + value: impl Into>>, + ) -> Self { self._fields.35 = value.into(); self } /// Set the `copyrightNotice` field to an Option value (optional) - pub fn maybe_copyright_notice(mut self, value: Option>) -> Self { + pub fn maybe_copyright_notice( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -5922,7 +6297,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `copyrightYear` field (optional) - pub fn copyright_year(mut self, value: impl Into>>) -> Self { + pub fn copyright_year( + mut self, + value: impl Into>>, + ) -> Self { self._fields.36 = value.into(); self } @@ -5948,12 +6326,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `countryOfOrigin` field (optional) - pub fn country_of_origin(mut self, value: impl Into>>) -> Self { + pub fn country_of_origin( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.38 = value; self } @@ -5969,7 +6353,10 @@ impl MovieBuilder { self } /// Set the `creativeWorkStatus` field to an Option value (optional) - pub fn maybe_creative_work_status(mut self, value: Option>) -> Self { + pub fn maybe_creative_work_status( + mut self, + value: Option>, + ) -> Self { self._fields.39 = value; self } @@ -6003,7 +6390,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } @@ -6016,7 +6406,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.43 = value.into(); self } @@ -6029,7 +6422,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `datePublished` field (optional) - pub fn date_published(mut self, value: impl Into>>) -> Self { + pub fn date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } @@ -6063,7 +6459,10 @@ impl MovieBuilder { self } /// Set the `digitalSourceType` field to an Option value (optional) - pub fn maybe_digital_source_type(mut self, value: Option>) -> Self { + pub fn maybe_digital_source_type( + mut self, + value: Option>, + ) -> Self { self._fields.46 = value; self } @@ -6116,7 +6515,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `discussionUrl` field (optional) - pub fn discussion_url(mut self, value: impl Into>>) -> Self { + pub fn discussion_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.50 = value.into(); self } @@ -6187,12 +6589,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `educationalLevel` field (optional) - pub fn educational_level(mut self, value: impl Into>>) -> Self { + pub fn educational_level( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } /// Set the `educationalLevel` field to an Option value (optional) - pub fn maybe_educational_level(mut self, value: Option>) -> Self { + pub fn maybe_educational_level( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -6200,12 +6608,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `educationalUse` field (optional) - pub fn educational_use(mut self, value: impl Into>>) -> Self { + pub fn educational_use( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.56 = value; self } @@ -6226,12 +6640,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `encodingFormat` field (optional) - pub fn encoding_format(mut self, value: impl Into>>) -> Self { + pub fn encoding_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.58 = value; self } @@ -6252,12 +6672,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `exampleOfWork` field (optional) - pub fn example_of_work(mut self, value: impl Into>>) -> Self { + pub fn example_of_work( + mut self, + value: impl Into>>, + ) -> Self { self._fields.60 = value.into(); self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.60 = value; self } @@ -6422,7 +6848,10 @@ impl MovieBuilder { self } /// Set the `interactivityType` field to an Option value (optional) - pub fn maybe_interactivity_type(mut self, value: Option>) -> Self { + pub fn maybe_interactivity_type( + mut self, + value: Option>, + ) -> Self { self._fields.72 = value; self } @@ -6438,7 +6867,10 @@ impl MovieBuilder { self } /// Set the `interpretedAsClaim` field to an Option value (optional) - pub fn maybe_interpreted_as_claim(mut self, value: Option>) -> Self { + pub fn maybe_interpreted_as_claim( + mut self, + value: Option>, + ) -> Self { self._fields.73 = value; self } @@ -6478,7 +6910,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `isBasedOnUrl` field (optional) - pub fn is_based_on_url(mut self, value: impl Into>>) -> Self { + pub fn is_based_on_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.76 = value.into(); self } @@ -6499,7 +6934,10 @@ impl MovieBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.77 = value; self } @@ -6565,12 +7003,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `locationCreated` field (optional) - pub fn location_created(mut self, value: impl Into>>) -> Self { + pub fn location_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.82 = value.into(); self } /// Set the `locationCreated` field to an Option value (optional) - pub fn maybe_location_created(mut self, value: Option>) -> Self { + pub fn maybe_location_created( + mut self, + value: Option>, + ) -> Self { self._fields.82 = value; self } @@ -6599,7 +7043,10 @@ impl MovieBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.84 = value; self } @@ -6633,12 +7080,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `materialExtent` field (optional) - pub fn material_extent(mut self, value: impl Into>>) -> Self { + pub fn material_extent( + mut self, + value: impl Into>>, + ) -> Self { self._fields.87 = value.into(); self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.87 = value; self } @@ -6724,12 +7177,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.94 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.94 = value; self } @@ -6758,7 +7217,10 @@ impl MovieBuilder { self } /// Set the `productionCompany` field to an Option value (optional) - pub fn maybe_production_company(mut self, value: Option>) -> Self { + pub fn maybe_production_company( + mut self, + value: Option>, + ) -> Self { self._fields.96 = value; self } @@ -6805,12 +7267,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `publisherImprint` field (optional) - pub fn publisher_imprint(mut self, value: impl Into>>) -> Self { + pub fn publisher_imprint( + mut self, + value: impl Into>>, + ) -> Self { self._fields.100 = value.into(); self } /// Set the `publisherImprint` field to an Option value (optional) - pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self { + pub fn maybe_publisher_imprint( + mut self, + value: Option>, + ) -> Self { self._fields.100 = value; self } @@ -6850,7 +7318,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `releasedEvent` field (optional) - pub fn released_event(mut self, value: impl Into>>) -> Self { + pub fn released_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.103 = value.into(); self } @@ -6902,7 +7373,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `schemaVersion` field (optional) - pub fn schema_version(mut self, value: impl Into>>) -> Self { + pub fn schema_version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.107 = value.into(); self } @@ -6915,12 +7389,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `sdDatePublished` field (optional) - pub fn sd_date_published(mut self, value: impl Into>>) -> Self { + pub fn sd_date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.108 = value.into(); self } /// Set the `sdDatePublished` field to an Option value (optional) - pub fn maybe_sd_date_published(mut self, value: Option>) -> Self { + pub fn maybe_sd_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.108 = value; self } @@ -6941,7 +7421,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.110 = value.into(); self } @@ -6975,7 +7458,10 @@ impl MovieBuilder { self } /// Set the `sourceOrganization` field to an Option value (optional) - pub fn maybe_source_organization(mut self, value: Option>) -> Self { + pub fn maybe_source_organization( + mut self, + value: Option>, + ) -> Self { self._fields.112 = value; self } @@ -6996,12 +7482,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `spatialCoverage` field (optional) - pub fn spatial_coverage(mut self, value: impl Into>>) -> Self { + pub fn spatial_coverage( + mut self, + value: impl Into>>, + ) -> Self { self._fields.114 = value.into(); self } /// Set the `spatialCoverage` field to an Option value (optional) - pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self { + pub fn maybe_spatial_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.114 = value; self } @@ -7035,12 +7527,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `subtitleLanguage` field (optional) - pub fn subtitle_language(mut self, value: impl Into>>) -> Self { + pub fn subtitle_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.117 = value.into(); self } /// Set the `subtitleLanguage` field to an Option value (optional) - pub fn maybe_subtitle_language(mut self, value: Option>) -> Self { + pub fn maybe_subtitle_language( + mut self, + value: Option>, + ) -> Self { self._fields.117 = value; self } @@ -7074,12 +7572,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `temporalCoverage` field (optional) - pub fn temporal_coverage(mut self, value: impl Into>>) -> Self { + pub fn temporal_coverage( + mut self, + value: impl Into>>, + ) -> Self { self._fields.120 = value.into(); self } /// Set the `temporalCoverage` field to an Option value (optional) - pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self { + pub fn maybe_temporal_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.120 = value; self } @@ -7113,7 +7617,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.123 = value.into(); self } @@ -7126,7 +7633,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.124 = value.into(); self } @@ -7173,7 +7683,10 @@ impl MovieBuilder { self } /// Set the `translationOfWork` field to an Option value (optional) - pub fn maybe_translation_of_work(mut self, value: Option>) -> Self { + pub fn maybe_translation_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.127 = value; self } @@ -7194,12 +7707,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `typicalAgeRange` field (optional) - pub fn typical_age_range(mut self, value: impl Into>>) -> Self { + pub fn typical_age_range( + mut self, + value: impl Into>>, + ) -> Self { self._fields.129 = value.into(); self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.129 = value; self } @@ -7272,7 +7791,10 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.135 = value.into(); self } @@ -7285,12 +7807,18 @@ impl MovieBuilder { impl MovieBuilder { /// Set the `workTranslation` field (optional) - pub fn work_translation(mut self, value: impl Into>>) -> Self { + pub fn work_translation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.136 = value.into(); self } /// Set the `workTranslation` field to an Option value (optional) - pub fn maybe_work_translation(mut self, value: Option>) -> Self { + pub fn maybe_work_translation( + mut self, + value: Option>, + ) -> Self { self._fields.136 = value; self } @@ -7586,4 +8114,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_event.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_event.rs index 5a2c13725..4630621a4 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_event.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_event.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,21 +24,18 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Event type: Music event. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -99,9 +96,13 @@ pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub maximum_attendee_capacity: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub maximum_physical_attendee_capacity: Option>, + pub maximum_physical_attendee_capacity: Option< + EmbeddedMaximumPhysicalAttendeeCapacity, + >, #[serde(skip_serializing_if = "Option::is_none")] - pub maximum_virtual_attendee_capacity: Option>, + pub maximum_virtual_attendee_capacity: Option< + EmbeddedMaximumVirtualAttendeeCapacity, + >, #[serde(skip_serializing_if = "Option::is_none")] pub name: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -150,6 +151,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -163,6 +165,7 @@ pub enum EmbeddedActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -188,6 +191,7 @@ pub enum EmbeddedAttendee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -198,6 +202,7 @@ pub enum EmbeddedAttendees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -213,6 +218,7 @@ pub enum EmbeddedComposer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -223,6 +229,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -236,6 +243,7 @@ pub enum EmbeddedDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -281,6 +289,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -299,6 +308,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -352,6 +362,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -362,6 +373,7 @@ pub enum EmbeddedOrganizer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -372,6 +384,7 @@ pub enum EmbeddedPerformer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -382,6 +395,7 @@ pub enum EmbeddedPerformers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -422,6 +436,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -435,6 +450,7 @@ pub enum EmbeddedSubEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -443,6 +459,7 @@ pub enum EmbeddedSubEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -451,6 +468,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -459,6 +477,7 @@ pub enum EmbeddedSuperEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -469,6 +488,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -556,9 +576,13 @@ pub struct MusicEvent { #[serde(skip_serializing_if = "Option::is_none")] pub maximum_attendee_capacity: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub maximum_physical_attendee_capacity: Option>, + pub maximum_physical_attendee_capacity: Option< + MusicEventMaximumPhysicalAttendeeCapacity, + >, #[serde(skip_serializing_if = "Option::is_none")] - pub maximum_virtual_attendee_capacity: Option>, + pub maximum_virtual_attendee_capacity: Option< + MusicEventMaximumVirtualAttendeeCapacity, + >, #[serde(skip_serializing_if = "Option::is_none")] pub name: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -607,6 +631,7 @@ pub struct MusicEvent { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -620,6 +645,7 @@ pub enum MusicEventActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -645,6 +671,7 @@ pub enum MusicEventAttendee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -655,6 +682,7 @@ pub enum MusicEventAttendees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -670,6 +698,7 @@ pub enum MusicEventComposer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -680,6 +709,7 @@ pub enum MusicEventContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -693,6 +723,7 @@ pub enum MusicEventDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -738,6 +769,7 @@ pub enum MusicEventFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -756,6 +788,7 @@ pub enum MusicEventImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -809,6 +842,7 @@ pub enum MusicEventOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -819,6 +853,7 @@ pub enum MusicEventOrganizer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -829,6 +864,7 @@ pub enum MusicEventPerformer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -839,6 +875,7 @@ pub enum MusicEventPerformers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -879,6 +916,7 @@ pub enum MusicEventSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -892,6 +930,7 @@ pub enum MusicEventSubEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -900,6 +939,7 @@ pub enum MusicEventSubEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -908,6 +948,7 @@ pub enum MusicEventSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -916,6 +957,7 @@ pub enum MusicEventSuperEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -926,6 +968,7 @@ pub enum MusicEventTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1020,10 +1063,10 @@ impl LexiconSchema for MusicEvent { } fn lexicon_doc_social_flockfeeds_lexical_type_MusicEvent() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.MusicEvent"), @@ -2177,7 +2220,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_MusicEvent() -> LexiconDoc<'static pub mod music_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2275,10 +2318,59 @@ impl MusicEventBuilder { MusicEventBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2291,10 +2383,59 @@ impl MusicEventBuilder { MusicEventBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2337,7 +2478,10 @@ impl MusicEventBuilder { self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -2353,7 +2497,10 @@ impl MusicEventBuilder { self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -2361,12 +2508,18 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -2387,7 +2540,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `attendees` field (optional) - pub fn attendees(mut self, value: impl Into>>) -> Self { + pub fn attendees( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } @@ -2426,7 +2582,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.9 = value.into(); self } @@ -2439,7 +2598,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.10 = value.into(); self } @@ -2542,12 +2704,18 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `eventSchedule` field (optional) - pub fn event_schedule(mut self, value: impl Into>>) -> Self { + pub fn event_schedule( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } /// Set the `eventSchedule` field to an Option value (optional) - pub fn maybe_event_schedule(mut self, value: Option>) -> Self { + pub fn maybe_event_schedule( + mut self, + value: Option>, + ) -> Self { self._fields.17 = value; self } @@ -2555,12 +2723,18 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `eventStatus` field (optional) - pub fn event_status(mut self, value: impl Into>>) -> Self { + pub fn event_status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.18 = value.into(); self } /// Set the `eventStatus` field to an Option value (optional) - pub fn maybe_event_status(mut self, value: Option>) -> Self { + pub fn maybe_event_status( + mut self, + value: Option>, + ) -> Self { self._fields.18 = value; self } @@ -2594,7 +2768,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.21 = value.into(); self } @@ -2620,7 +2797,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `inLanguage` field (optional) - pub fn in_language(mut self, value: impl Into>>) -> Self { + pub fn in_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.23 = value.into(); self } @@ -2780,7 +2960,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `organizer` field (optional) - pub fn organizer(mut self, value: impl Into>>) -> Self { + pub fn organizer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.33 = value.into(); self } @@ -2793,7 +2976,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `performer` field (optional) - pub fn performer(mut self, value: impl Into>>) -> Self { + pub fn performer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } @@ -2806,7 +2992,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `performers` field (optional) - pub fn performers(mut self, value: impl Into>>) -> Self { + pub fn performers( + mut self, + value: impl Into>>, + ) -> Self { self._fields.35 = value.into(); self } @@ -2827,7 +3016,10 @@ impl MusicEventBuilder { self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -2854,7 +3046,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `recordedIn` field (optional) - pub fn recorded_in(mut self, value: impl Into>>) -> Self { + pub fn recorded_in( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } @@ -2925,7 +3120,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `startDate` field (optional) - pub fn start_date(mut self, value: impl Into>>) -> Self { + pub fn start_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.43 = value.into(); self } @@ -2951,7 +3149,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `subEvents` field (optional) - pub fn sub_events(mut self, value: impl Into>>) -> Self { + pub fn sub_events( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } @@ -2964,7 +3165,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.46 = value.into(); self } @@ -2977,7 +3181,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `superEvent` field (optional) - pub fn super_event(mut self, value: impl Into>>) -> Self { + pub fn super_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.47 = value.into(); self } @@ -2990,7 +3197,10 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `translator` field (optional) - pub fn translator(mut self, value: impl Into>>) -> Self { + pub fn translator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } @@ -3011,7 +3221,10 @@ impl MusicEventBuilder { self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.49 = value; self } @@ -3032,12 +3245,18 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `workFeatured` field (optional) - pub fn work_featured(mut self, value: impl Into>>) -> Self { + pub fn work_featured( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } /// Set the `workFeatured` field to an Option value (optional) - pub fn maybe_work_featured(mut self, value: Option>) -> Self { + pub fn maybe_work_featured( + mut self, + value: Option>, + ) -> Self { self._fields.51 = value; self } @@ -3045,12 +3264,18 @@ impl MusicEventBuilder { impl MusicEventBuilder { /// Set the `workPerformed` field (optional) - pub fn work_performed(mut self, value: impl Into>>) -> Self { + pub fn work_performed( + mut self, + value: impl Into>>, + ) -> Self { self._fields.52 = value.into(); self } /// Set the `workPerformed` field to an Option value (optional) - pub fn maybe_work_performed(mut self, value: Option>) -> Self { + pub fn maybe_work_performed( + mut self, + value: Option>, + ) -> Self { self._fields.52 = value; self } @@ -3120,7 +3345,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MusicEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MusicEvent { MusicEvent { about: self._fields.0, actor: self._fields.1, @@ -3178,4 +3406,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_group.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_group.rs index 8cc80af3c..7f44b5660 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_group.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/music_group.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::article; use crate::social_flockfeeds::lexical::r#type::brand; use crate::social_flockfeeds::lexical::r#type::event; @@ -32,16 +35,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A musical group, such as a band, an orchestra, or a choir. Can also be a solo musician. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub accepted_payment_method: Option>, @@ -237,6 +234,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -290,6 +288,7 @@ pub enum EmbeddedAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -315,6 +314,7 @@ pub enum EmbeddedBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -343,6 +343,7 @@ pub enum EmbeddedDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -371,6 +372,7 @@ pub enum EmbeddedDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -389,6 +391,7 @@ pub enum EmbeddedEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -397,6 +400,7 @@ pub enum EmbeddedEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -410,6 +414,7 @@ pub enum EmbeddedEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -418,6 +423,7 @@ pub enum EmbeddedEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -433,6 +439,7 @@ pub enum EmbeddedFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -441,6 +448,7 @@ pub enum EmbeddedFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -461,6 +469,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -534,6 +543,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -582,6 +592,7 @@ pub enum EmbeddedLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -600,6 +611,7 @@ pub enum EmbeddedLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -613,6 +625,7 @@ pub enum EmbeddedMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -623,6 +636,7 @@ pub enum EmbeddedMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -631,6 +645,7 @@ pub enum EmbeddedMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -641,6 +656,7 @@ pub enum EmbeddedMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -649,6 +665,7 @@ pub enum EmbeddedMusicGroupMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -682,6 +699,7 @@ pub enum EmbeddedOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -690,6 +708,7 @@ pub enum EmbeddedParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -745,6 +764,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -753,6 +773,7 @@ pub enum EmbeddedSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -761,6 +782,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -998,6 +1020,7 @@ pub struct MusicGroup { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1051,6 +1074,7 @@ pub enum MusicGroupAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1076,6 +1100,7 @@ pub enum MusicGroupBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1104,6 +1129,7 @@ pub enum MusicGroupDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1132,6 +1158,7 @@ pub enum MusicGroupDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1150,6 +1177,7 @@ pub enum MusicGroupEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1158,6 +1186,7 @@ pub enum MusicGroupEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1171,6 +1200,7 @@ pub enum MusicGroupEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1179,6 +1209,7 @@ pub enum MusicGroupEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1194,6 +1225,7 @@ pub enum MusicGroupFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1202,6 +1234,7 @@ pub enum MusicGroupFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1222,6 +1255,7 @@ pub enum MusicGroupFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1295,6 +1329,7 @@ pub enum MusicGroupImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1343,6 +1378,7 @@ pub enum MusicGroupLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1361,6 +1397,7 @@ pub enum MusicGroupLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1374,6 +1411,7 @@ pub enum MusicGroupMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1384,6 +1422,7 @@ pub enum MusicGroupMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1392,6 +1431,7 @@ pub enum MusicGroupMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1402,6 +1442,7 @@ pub enum MusicGroupMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1410,6 +1451,7 @@ pub enum MusicGroupMusicGroupMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1443,6 +1485,7 @@ pub enum MusicGroupOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1451,6 +1494,7 @@ pub enum MusicGroupParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1506,6 +1550,7 @@ pub enum MusicGroupSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1514,6 +1559,7 @@ pub enum MusicGroupSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1522,6 +1568,7 @@ pub enum MusicGroupSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1631,10 +1678,10 @@ impl LexiconSchema for MusicGroup { } fn lexicon_doc_social_flockfeeds_lexical_type_MusicGroup() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.MusicGroup"), @@ -3666,7 +3713,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_MusicGroup() -> LexiconDoc<'static pub mod music_group_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3806,13 +3853,101 @@ impl MusicGroupBuilder { MusicGroupBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3825,13 +3960,101 @@ impl MusicGroupBuilder { MusicGroupBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3886,7 +4109,10 @@ impl MusicGroupBuilder { self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -3934,7 +4160,10 @@ impl MusicGroupBuilder { self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.5 = value; self } @@ -3968,12 +4197,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.8 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.8 = value; self } @@ -3994,7 +4229,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `areaServed` field (optional) - pub fn area_served(mut self, value: impl Into>>) -> Self { + pub fn area_served( + mut self, + value: impl Into>>, + ) -> Self { self._fields.10 = value.into(); self } @@ -4065,12 +4303,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `contactPoint` field (optional) - pub fn contact_point(mut self, value: impl Into>>) -> Self { + pub fn contact_point( + mut self, + value: impl Into>>, + ) -> Self { self._fields.15 = value.into(); self } /// Set the `contactPoint` field to an Option value (optional) - pub fn maybe_contact_point(mut self, value: Option>) -> Self { + pub fn maybe_contact_point( + mut self, + value: Option>, + ) -> Self { self._fields.15 = value; self } @@ -4078,12 +4322,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `contactPoints` field (optional) - pub fn contact_points(mut self, value: impl Into>>) -> Self { + pub fn contact_points( + mut self, + value: impl Into>>, + ) -> Self { self._fields.16 = value.into(); self } /// Set the `contactPoints` field to an Option value (optional) - pub fn maybe_contact_points(mut self, value: Option>) -> Self { + pub fn maybe_contact_points( + mut self, + value: Option>, + ) -> Self { self._fields.16 = value; self } @@ -4110,7 +4360,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `department` field (optional) - pub fn department(mut self, value: impl Into>>) -> Self { + pub fn department( + mut self, + value: impl Into>>, + ) -> Self { self._fields.18 = value.into(); self } @@ -4123,7 +4376,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.19 = value.into(); self } @@ -4163,7 +4419,10 @@ impl MusicGroupBuilder { self } /// Set the `dissolutionDate` field to an Option value (optional) - pub fn maybe_dissolution_date(mut self, value: Option>) -> Self { + pub fn maybe_dissolution_date( + mut self, + value: Option>, + ) -> Self { self._fields.21 = value; self } @@ -4179,7 +4438,10 @@ impl MusicGroupBuilder { self } /// Set the `diversityPolicy` field to an Option value (optional) - pub fn maybe_diversity_policy(mut self, value: Option>) -> Self { + pub fn maybe_diversity_policy( + mut self, + value: Option>, + ) -> Self { self._fields.22 = value; self } @@ -4245,7 +4507,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `employees` field (optional) - pub fn employees(mut self, value: impl Into>>) -> Self { + pub fn employees( + mut self, + value: impl Into>>, + ) -> Self { self._fields.27 = value.into(); self } @@ -4258,12 +4523,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `ethicsPolicy` field (optional) - pub fn ethics_policy(mut self, value: impl Into>>) -> Self { + pub fn ethics_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } /// Set the `ethicsPolicy` field to an Option value (optional) - pub fn maybe_ethics_policy(mut self, value: Option>) -> Self { + pub fn maybe_ethics_policy( + mut self, + value: Option>, + ) -> Self { self._fields.28 = value; self } @@ -4297,7 +4568,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `faxNumber` field (optional) - pub fn fax_number(mut self, value: impl Into>>) -> Self { + pub fn fax_number( + mut self, + value: impl Into>>, + ) -> Self { self._fields.31 = value.into(); self } @@ -4336,12 +4610,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `foundingDate` field (optional) - pub fn founding_date(mut self, value: impl Into>>) -> Self { + pub fn founding_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } /// Set the `foundingDate` field to an Option value (optional) - pub fn maybe_founding_date(mut self, value: Option>) -> Self { + pub fn maybe_founding_date( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -4357,7 +4637,10 @@ impl MusicGroupBuilder { self } /// Set the `foundingLocation` field to an Option value (optional) - pub fn maybe_founding_location(mut self, value: Option>) -> Self { + pub fn maybe_founding_location( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -4431,7 +4714,10 @@ impl MusicGroupBuilder { self } /// Set the `hasCertification` field to an Option value (optional) - pub fn maybe_has_certification(mut self, value: Option>) -> Self { + pub fn maybe_has_certification( + mut self, + value: Option>, + ) -> Self { self._fields.40 = value; self } @@ -4439,12 +4725,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `hasCredential` field (optional) - pub fn has_credential(mut self, value: impl Into>>) -> Self { + pub fn has_credential( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } /// Set the `hasCredential` field to an Option value (optional) - pub fn maybe_has_credential(mut self, value: Option>) -> Self { + pub fn maybe_has_credential( + mut self, + value: Option>, + ) -> Self { self._fields.41 = value; self } @@ -4517,7 +4809,10 @@ impl MusicGroupBuilder { self } /// Set the `hasOfferCatalog` field to an Option value (optional) - pub fn maybe_has_offer_catalog(mut self, value: Option>) -> Self { + pub fn maybe_has_offer_catalog( + mut self, + value: Option>, + ) -> Self { self._fields.45 = value; self } @@ -4576,7 +4871,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.49 = value.into(); self } @@ -4634,12 +4932,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `iso6523Code` field (optional) - pub fn iso6523_code(mut self, value: impl Into>>) -> Self { + pub fn iso6523_code( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } /// Set the `iso6523Code` field to an Option value (optional) - pub fn maybe_iso6523_code(mut self, value: Option>) -> Self { + pub fn maybe_iso6523_code( + mut self, + value: Option>, + ) -> Self { self._fields.53 = value; self } @@ -4660,7 +4964,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `knowsAbout` field (optional) - pub fn knows_about(mut self, value: impl Into>>) -> Self { + pub fn knows_about( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } @@ -4673,12 +4980,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `knowsLanguage` field (optional) - pub fn knows_language(mut self, value: impl Into>>) -> Self { + pub fn knows_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } /// Set the `knowsLanguage` field to an Option value (optional) - pub fn maybe_knows_language(mut self, value: Option>) -> Self { + pub fn maybe_knows_language( + mut self, + value: Option>, + ) -> Self { self._fields.56 = value; self } @@ -4686,12 +4999,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `legalAddress` field (optional) - pub fn legal_address(mut self, value: impl Into>>) -> Self { + pub fn legal_address( + mut self, + value: impl Into>>, + ) -> Self { self._fields.57 = value.into(); self } /// Set the `legalAddress` field to an Option value (optional) - pub fn maybe_legal_address(mut self, value: Option>) -> Self { + pub fn maybe_legal_address( + mut self, + value: Option>, + ) -> Self { self._fields.57 = value; self } @@ -4699,7 +5018,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `legalName` field (optional) - pub fn legal_name(mut self, value: impl Into>>) -> Self { + pub fn legal_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } @@ -4789,7 +5111,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `makesOffer` field (optional) - pub fn makes_offer(mut self, value: impl Into>>) -> Self { + pub fn makes_offer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.64 = value.into(); self } @@ -4894,7 +5219,10 @@ impl MusicGroupBuilder { self } /// Set the `nonprofitStatus` field to an Option value (optional) - pub fn maybe_nonprofit_status(mut self, value: Option>) -> Self { + pub fn maybe_nonprofit_status( + mut self, + value: Option>, + ) -> Self { self._fields.71 = value; self } @@ -4980,7 +5308,10 @@ impl MusicGroupBuilder { self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.76 = value; self } @@ -5059,12 +5390,18 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `serviceArea` field (optional) - pub fn service_area(mut self, value: impl Into>>) -> Self { + pub fn service_area( + mut self, + value: impl Into>>, + ) -> Self { self._fields.82 = value.into(); self } /// Set the `serviceArea` field to an Option value (optional) - pub fn maybe_service_area(mut self, value: Option>) -> Self { + pub fn maybe_service_area( + mut self, + value: Option>, + ) -> Self { self._fields.82 = value; self } @@ -5119,7 +5456,10 @@ impl MusicGroupBuilder { self } /// Set the `subOrganization` field to an Option value (optional) - pub fn maybe_sub_organization(mut self, value: Option>) -> Self { + pub fn maybe_sub_organization( + mut self, + value: Option>, + ) -> Self { self._fields.86 = value; self } @@ -5127,7 +5467,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.87 = value.into(); self } @@ -5153,7 +5496,10 @@ impl MusicGroupBuilder { impl MusicGroupBuilder { /// Set the `telephone` field (optional) - pub fn telephone(mut self, value: impl Into>>) -> Self { + pub fn telephone( + mut self, + value: impl Into>>, + ) -> Self { self._fields.89 = value.into(); self } @@ -5341,7 +5687,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> MusicGroup { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> MusicGroup { MusicGroup { accepted_payment_method: self._fields.0, actionable_feedback_policy: self._fields.1, @@ -5441,4 +5790,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/news_article.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/news_article.rs index 9d4958204..2b38bf9b6 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/news_article.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/news_article.rs @@ -17,24 +17,21 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; -/** A NewsArticle is an article whose content reports news, or provides background context and supporting materials for understanding the news. - -A more detailed overview of [schema.org News markup](/docs/news.html) is also available.*/ +/// A NewsArticle is an article whose content reports news, or provides background context and supporting materials for understanding the news. +/// +/// A more detailed overview of [schema.org News markup](/docs/news.html) is also available. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -318,6 +315,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -371,6 +369,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -441,6 +440,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -464,6 +464,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -509,6 +510,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -519,6 +521,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -554,6 +557,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -612,6 +616,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -667,6 +672,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -700,6 +706,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -733,6 +740,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -741,6 +749,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -791,6 +800,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -799,6 +809,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -822,6 +833,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -882,6 +894,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -892,6 +905,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -907,6 +921,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -915,6 +930,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -928,6 +944,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -973,6 +990,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -986,6 +1004,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1011,6 +1030,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1019,6 +1039,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1047,6 +1068,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1072,6 +1094,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1111,15 +1134,12 @@ pub enum EmbeddedWorkExample {} #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub enum EmbeddedWorkTranslation {} -/** A NewsArticle is an article whose content reports news, or provides background context and supporting materials for understanding the news. - -A more detailed overview of [schema.org News markup](/docs/news.html) is also available.*/ +/// A NewsArticle is an article whose content reports news, or provides background context and supporting materials for understanding the news. +/// +/// A more detailed overview of [schema.org News markup](/docs/news.html) is also available. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NewsArticle { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -1403,6 +1423,7 @@ pub struct NewsArticle { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1456,6 +1477,7 @@ pub enum NewsArticleAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1526,6 +1548,7 @@ pub enum NewsArticleAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1549,6 +1572,7 @@ pub enum NewsArticleCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1594,6 +1618,7 @@ pub enum NewsArticleContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1604,6 +1629,7 @@ pub enum NewsArticleCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1639,6 +1665,7 @@ pub enum NewsArticleCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1697,6 +1724,7 @@ pub enum NewsArticleEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1752,6 +1780,7 @@ pub enum NewsArticleFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1785,6 +1814,7 @@ pub enum NewsArticleImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1818,6 +1848,7 @@ pub enum NewsArticleIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1826,6 +1857,7 @@ pub enum NewsArticleIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1876,6 +1908,7 @@ pub enum NewsArticleMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1884,6 +1917,7 @@ pub enum NewsArticleMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1907,6 +1941,7 @@ pub enum NewsArticleOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1967,6 +2002,7 @@ pub enum NewsArticleProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1977,6 +2013,7 @@ pub enum NewsArticleProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1992,6 +2029,7 @@ pub enum NewsArticlePublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2000,6 +2038,7 @@ pub enum NewsArticlePublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2013,6 +2052,7 @@ pub enum NewsArticleRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2058,6 +2098,7 @@ pub enum NewsArticleSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2071,6 +2112,7 @@ pub enum NewsArticleSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2096,6 +2138,7 @@ pub enum NewsArticleSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2104,6 +2147,7 @@ pub enum NewsArticleSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2132,6 +2176,7 @@ pub enum NewsArticleThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2157,6 +2202,7 @@ pub enum NewsArticleTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2227,10 +2273,10 @@ impl LexiconSchema for NewsArticle { } fn lexicon_doc_social_flockfeeds_lexical_type_NewsArticle() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.NewsArticle"), @@ -5156,4 +5202,4 @@ fn lexicon_doc_social_flockfeeds_lexical_type_NewsArticle() -> LexiconDoc<'stati }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/offer.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/offer.rs index 19f17ce43..9e29dedab 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/offer.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/offer.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// An offer to transfer some rights to an item or to provide a service — for example, an offer to sell tickets to an event, to rent the DVD of a movie, to stream a TV show over the internet, to repair a motorcycle, or to loan a book.\n\nNote: As the [[businessFunction]] property, which identifies the form of offer (e.g. sell, lease, repair, dispose), defaults to http://purl.org/goodrelations/v1#Sell; an Offer without a defined businessFunction value can be assumed to be an offer to sell.\n\nFor [GTIN](http://www.gs1.org/barcodes/technical/idkeys/gtin)-related fields, see [Check Digit calculator](http://www.gs1.org/barcodes/support/check_digit_calculator) and [validation guide](http://www.gs1us.org/resources/standards/gtin-validation-guide) from [GS1](http://www.gs1.org/). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub accepted_payment_method: Option>, @@ -177,6 +174,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -190,6 +188,7 @@ pub enum EmbeddedAddOn { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -363,6 +362,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -398,6 +398,7 @@ pub enum EmbeddedItemOffered { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -433,6 +434,7 @@ pub enum EmbeddedOfferedBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -483,6 +485,7 @@ pub enum EmbeddedSeller { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -506,6 +509,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -675,6 +679,7 @@ pub struct Offer { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -688,6 +693,7 @@ pub enum OfferAddOn { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -861,6 +867,7 @@ pub enum OfferImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -896,6 +903,7 @@ pub enum OfferItemOffered { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -931,6 +939,7 @@ pub enum OfferOfferedBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -981,6 +990,7 @@ pub enum OfferSeller { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1004,6 +1014,7 @@ pub enum OfferSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1103,10 +1114,10 @@ impl LexiconSchema for Offer { } fn lexicon_doc_social_flockfeeds_lexical_type_Offer() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Offer"), @@ -2540,7 +2551,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Offer() -> LexiconDoc<'static> { pub mod offer_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2651,11 +2662,72 @@ impl OfferBuilder { OfferBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2668,11 +2740,72 @@ impl OfferBuilder { OfferBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2721,7 +2854,10 @@ impl OfferBuilder { self } /// Set the `additionalProperty` field to an Option value (optional) - pub fn maybe_additional_property(mut self, value: Option>) -> Self { + pub fn maybe_additional_property( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -2729,12 +2865,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -2761,12 +2903,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `aggregateRating` field (optional) - pub fn aggregate_rating(mut self, value: impl Into>>) -> Self { + pub fn aggregate_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.5 = value.into(); self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.5 = value; self } @@ -2774,7 +2922,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } @@ -2813,7 +2964,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `availability` field (optional) - pub fn availability(mut self, value: impl Into>>) -> Self { + pub fn availability( + mut self, + value: impl Into>>, + ) -> Self { self._fields.9 = value.into(); self } @@ -2826,12 +2980,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `availabilityEnds` field (optional) - pub fn availability_ends(mut self, value: impl Into>>) -> Self { + pub fn availability_ends( + mut self, + value: impl Into>>, + ) -> Self { self._fields.10 = value.into(); self } /// Set the `availabilityEnds` field to an Option value (optional) - pub fn maybe_availability_ends(mut self, value: Option>) -> Self { + pub fn maybe_availability_ends( + mut self, + value: Option>, + ) -> Self { self._fields.10 = value; self } @@ -2847,7 +3007,10 @@ impl OfferBuilder { self } /// Set the `availabilityStarts` field to an Option value (optional) - pub fn maybe_availability_starts(mut self, value: Option>) -> Self { + pub fn maybe_availability_starts( + mut self, + value: Option>, + ) -> Self { self._fields.11 = value; self } @@ -2863,7 +3026,10 @@ impl OfferBuilder { self } /// Set the `availableAtOrFrom` field to an Option value (optional) - pub fn maybe_available_at_or_from(mut self, value: Option>) -> Self { + pub fn maybe_available_at_or_from( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -2890,12 +3056,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `businessFunction` field (optional) - pub fn business_function(mut self, value: impl Into>>) -> Self { + pub fn business_function( + mut self, + value: impl Into>>, + ) -> Self { self._fields.14 = value.into(); self } /// Set the `businessFunction` field to an Option value (optional) - pub fn maybe_business_function(mut self, value: Option>) -> Self { + pub fn maybe_business_function( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -2943,7 +3115,10 @@ impl OfferBuilder { self } /// Set the `deliveryLeadTime` field to an Option value (optional) - pub fn maybe_delivery_lead_time(mut self, value: Option>) -> Self { + pub fn maybe_delivery_lead_time( + mut self, + value: Option>, + ) -> Self { self._fields.17 = value; self } @@ -3002,12 +3177,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `eligibleDuration` field (optional) - pub fn eligible_duration(mut self, value: impl Into>>) -> Self { + pub fn eligible_duration( + mut self, + value: impl Into>>, + ) -> Self { self._fields.21 = value.into(); self } /// Set the `eligibleDuration` field to an Option value (optional) - pub fn maybe_eligible_duration(mut self, value: Option>) -> Self { + pub fn maybe_eligible_duration( + mut self, + value: Option>, + ) -> Self { self._fields.21 = value; self } @@ -3015,12 +3196,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `eligibleQuantity` field (optional) - pub fn eligible_quantity(mut self, value: impl Into>>) -> Self { + pub fn eligible_quantity( + mut self, + value: impl Into>>, + ) -> Self { self._fields.22 = value.into(); self } /// Set the `eligibleQuantity` field to an Option value (optional) - pub fn maybe_eligible_quantity(mut self, value: Option>) -> Self { + pub fn maybe_eligible_quantity( + mut self, + value: Option>, + ) -> Self { self._fields.22 = value; self } @@ -3028,12 +3215,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `eligibleRegion` field (optional) - pub fn eligible_region(mut self, value: impl Into>>) -> Self { + pub fn eligible_region( + mut self, + value: impl Into>>, + ) -> Self { self._fields.23 = value.into(); self } /// Set the `eligibleRegion` field to an Option value (optional) - pub fn maybe_eligible_region(mut self, value: Option>) -> Self { + pub fn maybe_eligible_region( + mut self, + value: Option>, + ) -> Self { self._fields.23 = value; self } @@ -3152,7 +3345,10 @@ impl OfferBuilder { self } /// Set the `hasGS1DigitalLink` field to an Option value (optional) - pub fn maybe_has_gs1_digital_link(mut self, value: Option>) -> Self { + pub fn maybe_has_gs1_digital_link( + mut self, + value: Option>, + ) -> Self { self._fields.31 = value; self } @@ -3160,12 +3356,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `hasMeasurement` field (optional) - pub fn has_measurement(mut self, value: impl Into>>) -> Self { + pub fn has_measurement( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } /// Set the `hasMeasurement` field to an Option value (optional) - pub fn maybe_has_measurement(mut self, value: Option>) -> Self { + pub fn maybe_has_measurement( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -3218,12 +3420,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `includesObject` field (optional) - pub fn includes_object(mut self, value: impl Into>>) -> Self { + pub fn includes_object( + mut self, + value: impl Into>>, + ) -> Self { self._fields.36 = value.into(); self } /// Set the `includesObject` field to an Option value (optional) - pub fn maybe_includes_object(mut self, value: Option>) -> Self { + pub fn maybe_includes_object( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -3231,12 +3439,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `ineligibleRegion` field (optional) - pub fn ineligible_region(mut self, value: impl Into>>) -> Self { + pub fn ineligible_region( + mut self, + value: impl Into>>, + ) -> Self { self._fields.37 = value.into(); self } /// Set the `ineligibleRegion` field to an Option value (optional) - pub fn maybe_ineligible_region(mut self, value: Option>) -> Self { + pub fn maybe_ineligible_region( + mut self, + value: Option>, + ) -> Self { self._fields.37 = value; self } @@ -3244,12 +3458,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `inventoryLevel` field (optional) - pub fn inventory_level(mut self, value: impl Into>>) -> Self { + pub fn inventory_level( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } /// Set the `inventoryLevel` field to an Option value (optional) - pub fn maybe_inventory_level(mut self, value: Option>) -> Self { + pub fn maybe_inventory_level( + mut self, + value: Option>, + ) -> Self { self._fields.38 = value; self } @@ -3265,7 +3485,10 @@ impl OfferBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.39 = value; self } @@ -3273,7 +3496,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `itemCondition` field (optional) - pub fn item_condition(mut self, value: impl Into>>) -> Self { + pub fn item_condition( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } @@ -3286,7 +3512,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `itemOffered` field (optional) - pub fn item_offered(mut self, value: impl Into>>) -> Self { + pub fn item_offered( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } @@ -3299,7 +3528,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `leaseLength` field (optional) - pub fn lease_length(mut self, value: impl Into>>) -> Self { + pub fn lease_length( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } @@ -3320,7 +3552,10 @@ impl OfferBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.43 = value; self } @@ -3380,12 +3615,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.48 = value; self } @@ -3406,7 +3647,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `priceCurrency` field (optional) - pub fn price_currency(mut self, value: impl Into>>) -> Self { + pub fn price_currency( + mut self, + value: impl Into>>, + ) -> Self { self._fields.50 = value.into(); self } @@ -3427,7 +3671,10 @@ impl OfferBuilder { self } /// Set the `priceSpecification` field to an Option value (optional) - pub fn maybe_price_specification(mut self, value: Option>) -> Self { + pub fn maybe_price_specification( + mut self, + value: Option>, + ) -> Self { self._fields.51 = value; self } @@ -3435,12 +3682,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `priceValidUntil` field (optional) - pub fn price_valid_until(mut self, value: impl Into>>) -> Self { + pub fn price_valid_until( + mut self, + value: impl Into>>, + ) -> Self { self._fields.52 = value.into(); self } /// Set the `priceValidUntil` field to an Option value (optional) - pub fn maybe_price_valid_until(mut self, value: Option>) -> Self { + pub fn maybe_price_valid_until( + mut self, + value: Option>, + ) -> Self { self._fields.52 = value; self } @@ -3500,7 +3753,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `serialNumber` field (optional) - pub fn serial_number(mut self, value: impl Into>>) -> Self { + pub fn serial_number( + mut self, + value: impl Into>>, + ) -> Self { self._fields.57 = value.into(); self } @@ -3513,12 +3769,18 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `shippingDetails` field (optional) - pub fn shipping_details(mut self, value: impl Into>>) -> Self { + pub fn shipping_details( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } /// Set the `shippingDetails` field to an Option value (optional) - pub fn maybe_shipping_details(mut self, value: Option>) -> Self { + pub fn maybe_shipping_details( + mut self, + value: Option>, + ) -> Self { self._fields.58 = value; self } @@ -3597,7 +3859,10 @@ impl OfferBuilder { impl OfferBuilder { /// Set the `validThrough` field (optional) - pub fn valid_through(mut self, value: impl Into>>) -> Self { + pub fn valid_through( + mut self, + value: impl Into>>, + ) -> Self { self._fields.64 = value.into(); self } @@ -3769,4 +4034,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/organization.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/organization.rs index 728daba77..4fe8643e9 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/organization.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/organization.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::article; use crate::social_flockfeeds::lexical::r#type::brand; use crate::social_flockfeeds::lexical::r#type::event; @@ -32,16 +35,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// An organization such as a school, NGO, corporation, club, etc. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub accepted_payment_method: Option>, @@ -225,6 +222,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -268,6 +266,7 @@ pub enum EmbeddedAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -293,6 +292,7 @@ pub enum EmbeddedBrand { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -321,6 +321,7 @@ pub enum EmbeddedDepartment { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -349,6 +350,7 @@ pub enum EmbeddedDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -367,6 +369,7 @@ pub enum EmbeddedEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -375,6 +378,7 @@ pub enum EmbeddedEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -388,6 +392,7 @@ pub enum EmbeddedEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -396,6 +401,7 @@ pub enum EmbeddedEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -411,6 +417,7 @@ pub enum EmbeddedFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -419,6 +426,7 @@ pub enum EmbeddedFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -439,6 +447,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -507,6 +516,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -555,6 +565,7 @@ pub enum EmbeddedLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -573,6 +584,7 @@ pub enum EmbeddedLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -586,6 +598,7 @@ pub enum EmbeddedMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -596,6 +609,7 @@ pub enum EmbeddedMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -604,6 +618,7 @@ pub enum EmbeddedMemberOf { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -614,6 +629,7 @@ pub enum EmbeddedMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -647,6 +663,7 @@ pub enum EmbeddedOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -655,6 +672,7 @@ pub enum EmbeddedParentOrganization { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -710,6 +728,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -718,6 +737,7 @@ pub enum EmbeddedSubOrganization { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -726,6 +746,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -941,6 +962,7 @@ pub struct Organization { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -984,6 +1006,7 @@ pub enum OrganizationAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1009,6 +1032,7 @@ pub enum OrganizationBrand { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1037,6 +1061,7 @@ pub enum OrganizationDepartment { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1065,6 +1090,7 @@ pub enum OrganizationDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1083,6 +1109,7 @@ pub enum OrganizationEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1091,6 +1118,7 @@ pub enum OrganizationEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1104,6 +1132,7 @@ pub enum OrganizationEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1112,6 +1141,7 @@ pub enum OrganizationEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1127,6 +1157,7 @@ pub enum OrganizationFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1135,6 +1166,7 @@ pub enum OrganizationFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1155,6 +1187,7 @@ pub enum OrganizationFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1223,6 +1256,7 @@ pub enum OrganizationImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1271,6 +1305,7 @@ pub enum OrganizationLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1289,6 +1324,7 @@ pub enum OrganizationLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1302,6 +1338,7 @@ pub enum OrganizationMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1312,6 +1349,7 @@ pub enum OrganizationMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1320,6 +1358,7 @@ pub enum OrganizationMemberOf { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1330,6 +1369,7 @@ pub enum OrganizationMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1363,6 +1403,7 @@ pub enum OrganizationOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1371,6 +1412,7 @@ pub enum OrganizationParentOrganization { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1426,6 +1468,7 @@ pub enum OrganizationSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1434,6 +1477,7 @@ pub enum OrganizationSubOrganization { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1442,6 +1486,7 @@ pub enum OrganizationSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1541,10 +1586,10 @@ impl LexiconSchema for Organization { } fn lexicon_doc_social_flockfeeds_lexical_type_Organization() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Organization"), @@ -3454,7 +3499,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Organization() -> LexiconDoc<'stat pub mod organization_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3588,13 +3633,95 @@ impl OrganizationBuilder { OrganizationBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3607,13 +3734,95 @@ impl OrganizationBuilder { OrganizationBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3668,7 +3877,10 @@ impl OrganizationBuilder { self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -3716,7 +3928,10 @@ impl OrganizationBuilder { self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.5 = value; self } @@ -3732,7 +3947,10 @@ impl OrganizationBuilder { self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -3753,12 +3971,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `areaServed` field (optional) - pub fn area_served(mut self, value: impl Into>>) -> Self { + pub fn area_served( + mut self, + value: impl Into>>, + ) -> Self { self._fields.8 = value.into(); self } /// Set the `areaServed` field to an Option value (optional) - pub fn maybe_area_served(mut self, value: Option>) -> Self { + pub fn maybe_area_served( + mut self, + value: Option>, + ) -> Self { self._fields.8 = value; self } @@ -3824,12 +4048,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `contactPoint` field (optional) - pub fn contact_point(mut self, value: impl Into>>) -> Self { + pub fn contact_point( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `contactPoint` field to an Option value (optional) - pub fn maybe_contact_point(mut self, value: Option>) -> Self { + pub fn maybe_contact_point( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -3845,7 +4075,10 @@ impl OrganizationBuilder { self } /// Set the `contactPoints` field to an Option value (optional) - pub fn maybe_contact_points(mut self, value: Option>) -> Self { + pub fn maybe_contact_points( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -3872,7 +4105,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `department` field (optional) - pub fn department(mut self, value: impl Into>>) -> Self { + pub fn department( + mut self, + value: impl Into>>, + ) -> Self { self._fields.16 = value.into(); self } @@ -3885,12 +4121,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } /// Set the `description` field to an Option value (optional) - pub fn maybe_description(mut self, value: Option>) -> Self { + pub fn maybe_description( + mut self, + value: Option>, + ) -> Self { self._fields.17 = value; self } @@ -3925,7 +4167,10 @@ impl OrganizationBuilder { self } /// Set the `dissolutionDate` field to an Option value (optional) - pub fn maybe_dissolution_date(mut self, value: Option>) -> Self { + pub fn maybe_dissolution_date( + mut self, + value: Option>, + ) -> Self { self._fields.19 = value; self } @@ -3941,7 +4186,10 @@ impl OrganizationBuilder { self } /// Set the `diversityPolicy` field to an Option value (optional) - pub fn maybe_diversity_policy(mut self, value: Option>) -> Self { + pub fn maybe_diversity_policy( + mut self, + value: Option>, + ) -> Self { self._fields.20 = value; self } @@ -3994,7 +4242,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `employee` field (optional) - pub fn employee(mut self, value: impl Into>>) -> Self { + pub fn employee( + mut self, + value: impl Into>>, + ) -> Self { self._fields.24 = value.into(); self } @@ -4007,7 +4258,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `employees` field (optional) - pub fn employees(mut self, value: impl Into>>) -> Self { + pub fn employees( + mut self, + value: impl Into>>, + ) -> Self { self._fields.25 = value.into(); self } @@ -4020,12 +4274,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `ethicsPolicy` field (optional) - pub fn ethics_policy(mut self, value: impl Into>>) -> Self { + pub fn ethics_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.26 = value.into(); self } /// Set the `ethicsPolicy` field to an Option value (optional) - pub fn maybe_ethics_policy(mut self, value: Option>) -> Self { + pub fn maybe_ethics_policy( + mut self, + value: Option>, + ) -> Self { self._fields.26 = value; self } @@ -4059,7 +4319,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `faxNumber` field (optional) - pub fn fax_number(mut self, value: impl Into>>) -> Self { + pub fn fax_number( + mut self, + value: impl Into>>, + ) -> Self { self._fields.29 = value.into(); self } @@ -4085,7 +4348,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `founders` field (optional) - pub fn founders(mut self, value: impl Into>>) -> Self { + pub fn founders( + mut self, + value: impl Into>>, + ) -> Self { self._fields.31 = value.into(); self } @@ -4098,12 +4364,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `foundingDate` field (optional) - pub fn founding_date(mut self, value: impl Into>>) -> Self { + pub fn founding_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } /// Set the `foundingDate` field to an Option value (optional) - pub fn maybe_founding_date(mut self, value: Option>) -> Self { + pub fn maybe_founding_date( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -4202,7 +4474,10 @@ impl OrganizationBuilder { self } /// Set the `hasCredential` field to an Option value (optional) - pub fn maybe_has_credential(mut self, value: Option>) -> Self { + pub fn maybe_has_credential( + mut self, + value: Option>, + ) -> Self { self._fields.38 = value; self } @@ -4337,7 +4612,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.46 = value.into(); self } @@ -4395,12 +4673,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `iso6523Code` field (optional) - pub fn iso6523_code(mut self, value: impl Into>>) -> Self { + pub fn iso6523_code( + mut self, + value: impl Into>>, + ) -> Self { self._fields.50 = value.into(); self } /// Set the `iso6523Code` field to an Option value (optional) - pub fn maybe_iso6523_code(mut self, value: Option>) -> Self { + pub fn maybe_iso6523_code( + mut self, + value: Option>, + ) -> Self { self._fields.50 = value; self } @@ -4408,7 +4692,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `keywords` field (optional) - pub fn keywords(mut self, value: impl Into>>) -> Self { + pub fn keywords( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } @@ -4421,12 +4708,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `knowsAbout` field (optional) - pub fn knows_about(mut self, value: impl Into>>) -> Self { + pub fn knows_about( + mut self, + value: impl Into>>, + ) -> Self { self._fields.52 = value.into(); self } /// Set the `knowsAbout` field to an Option value (optional) - pub fn maybe_knows_about(mut self, value: Option>) -> Self { + pub fn maybe_knows_about( + mut self, + value: Option>, + ) -> Self { self._fields.52 = value; self } @@ -4442,7 +4735,10 @@ impl OrganizationBuilder { self } /// Set the `knowsLanguage` field to an Option value (optional) - pub fn maybe_knows_language(mut self, value: Option>) -> Self { + pub fn maybe_knows_language( + mut self, + value: Option>, + ) -> Self { self._fields.53 = value; self } @@ -4450,12 +4746,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `legalAddress` field (optional) - pub fn legal_address(mut self, value: impl Into>>) -> Self { + pub fn legal_address( + mut self, + value: impl Into>>, + ) -> Self { self._fields.54 = value.into(); self } /// Set the `legalAddress` field to an Option value (optional) - pub fn maybe_legal_address(mut self, value: Option>) -> Self { + pub fn maybe_legal_address( + mut self, + value: Option>, + ) -> Self { self._fields.54 = value; self } @@ -4463,7 +4765,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `legalName` field (optional) - pub fn legal_name(mut self, value: impl Into>>) -> Self { + pub fn legal_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } @@ -4508,7 +4813,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `location` field (optional) - pub fn location(mut self, value: impl Into>>) -> Self { + pub fn location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } @@ -4553,12 +4861,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `makesOffer` field (optional) - pub fn makes_offer(mut self, value: impl Into>>) -> Self { + pub fn makes_offer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.61 = value.into(); self } /// Set the `makesOffer` field to an Option value (optional) - pub fn maybe_makes_offer(mut self, value: Option>) -> Self { + pub fn maybe_makes_offer( + mut self, + value: Option>, + ) -> Self { self._fields.61 = value; self } @@ -4579,7 +4893,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `memberOf` field (optional) - pub fn member_of(mut self, value: impl Into>>) -> Self { + pub fn member_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.63 = value.into(); self } @@ -4639,7 +4956,10 @@ impl OrganizationBuilder { self } /// Set the `nonprofitStatus` field to an Option value (optional) - pub fn maybe_nonprofit_status(mut self, value: Option>) -> Self { + pub fn maybe_nonprofit_status( + mut self, + value: Option>, + ) -> Self { self._fields.67 = value; self } @@ -4725,7 +5045,10 @@ impl OrganizationBuilder { self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.72 = value; self } @@ -4804,12 +5127,18 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `serviceArea` field (optional) - pub fn service_area(mut self, value: impl Into>>) -> Self { + pub fn service_area( + mut self, + value: impl Into>>, + ) -> Self { self._fields.78 = value.into(); self } /// Set the `serviceArea` field to an Option value (optional) - pub fn maybe_service_area(mut self, value: Option>) -> Self { + pub fn maybe_service_area( + mut self, + value: Option>, + ) -> Self { self._fields.78 = value; self } @@ -4864,7 +5193,10 @@ impl OrganizationBuilder { self } /// Set the `subOrganization` field to an Option value (optional) - pub fn maybe_sub_organization(mut self, value: Option>) -> Self { + pub fn maybe_sub_organization( + mut self, + value: Option>, + ) -> Self { self._fields.82 = value; self } @@ -4872,7 +5204,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.83 = value.into(); self } @@ -4898,7 +5233,10 @@ impl OrganizationBuilder { impl OrganizationBuilder { /// Set the `telephone` field (optional) - pub fn telephone(mut self, value: impl Into>>) -> Self { + pub fn telephone( + mut self, + value: impl Into>>, + ) -> Self { self._fields.85 = value.into(); self } @@ -5054,7 +5392,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Organization { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Organization { Organization { accepted_payment_method: self._fields.0, actionable_feedback_policy: self._fields.1, @@ -5148,4 +5489,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/person.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/person.rs index c49ea8a40..b6459fab7 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/person.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/person.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::brand; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; @@ -31,16 +34,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A person (alive, dead, undead, or fictional). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub additional_name: Option>, @@ -204,6 +201,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -227,6 +225,7 @@ pub enum EmbeddedAffiliation { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -245,6 +244,7 @@ pub enum EmbeddedAlumniOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -275,6 +275,7 @@ pub enum EmbeddedBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -288,6 +289,7 @@ pub enum EmbeddedChildren { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -296,6 +298,7 @@ pub enum EmbeddedColleague { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -304,6 +307,7 @@ pub enum EmbeddedColleagues { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -362,6 +366,7 @@ pub enum EmbeddedFollows { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -372,6 +377,7 @@ pub enum EmbeddedFunder { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -450,6 +456,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -473,6 +480,7 @@ pub enum EmbeddedKnows { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -496,6 +504,7 @@ pub enum EmbeddedMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -504,6 +513,7 @@ pub enum EmbeddedMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -532,6 +542,7 @@ pub enum EmbeddedOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -540,6 +551,7 @@ pub enum EmbeddedParent { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -548,6 +560,7 @@ pub enum EmbeddedParents { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -556,6 +569,7 @@ pub enum EmbeddedPerformerIn { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -579,6 +593,7 @@ pub enum EmbeddedRelatedTo { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -597,6 +612,7 @@ pub enum EmbeddedSibling { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -605,6 +621,7 @@ pub enum EmbeddedSiblings { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -620,6 +637,7 @@ pub enum EmbeddedSponsor { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -628,6 +646,7 @@ pub enum EmbeddedSpouse { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -636,6 +655,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -674,6 +694,7 @@ pub enum EmbeddedWorksFor { OrganizationEmbedded(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( rename_all = "camelCase", @@ -844,6 +865,7 @@ pub struct Person { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -867,6 +889,7 @@ pub enum PersonAffiliation { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -885,6 +908,7 @@ pub enum PersonAlumniOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -915,6 +939,7 @@ pub enum PersonBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -928,6 +953,7 @@ pub enum PersonChildren { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -936,6 +962,7 @@ pub enum PersonColleague { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -944,6 +971,7 @@ pub enum PersonColleagues { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1002,6 +1030,7 @@ pub enum PersonFollows { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1012,6 +1041,7 @@ pub enum PersonFunder { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1090,6 +1120,7 @@ pub enum PersonImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1113,6 +1144,7 @@ pub enum PersonKnows { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1136,6 +1168,7 @@ pub enum PersonMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1144,6 +1177,7 @@ pub enum PersonMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1172,6 +1206,7 @@ pub enum PersonOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1180,6 +1215,7 @@ pub enum PersonParent { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1188,6 +1224,7 @@ pub enum PersonParents { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1196,6 +1233,7 @@ pub enum PersonPerformerIn { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1219,6 +1257,7 @@ pub enum PersonRelatedTo { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1237,6 +1276,7 @@ pub enum PersonSibling { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1245,6 +1285,7 @@ pub enum PersonSiblings { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1260,6 +1301,7 @@ pub enum PersonSponsor { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1268,6 +1310,7 @@ pub enum PersonSpouse { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1276,6 +1319,7 @@ pub enum PersonSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1389,10 +1433,10 @@ impl LexiconSchema for Person { } fn lexicon_doc_social_flockfeeds_lexical_type_Person() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Person"), @@ -3080,7 +3124,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Person() -> LexiconDoc<'static> { pub mod person_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3204,12 +3248,85 @@ impl PersonBuilder { PersonBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3222,12 +3339,85 @@ impl PersonBuilder { PersonBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3236,12 +3426,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `additionalName` field (optional) - pub fn additional_name(mut self, value: impl Into>>) -> Self { + pub fn additional_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `additionalName` field to an Option value (optional) - pub fn maybe_additional_name(mut self, value: Option>) -> Self { + pub fn maybe_additional_name( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -3249,12 +3445,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -3275,7 +3477,10 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `affiliation` field (optional) - pub fn affiliation(mut self, value: impl Into>>) -> Self { + pub fn affiliation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } @@ -3307,12 +3512,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.5 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.5 = value; self } @@ -3450,7 +3661,10 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `contactPoint` field (optional) - pub fn contact_point(mut self, value: impl Into>>) -> Self { + pub fn contact_point( + mut self, + value: impl Into>>, + ) -> Self { self._fields.16 = value.into(); self } @@ -3463,12 +3677,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `contactPoints` field (optional) - pub fn contact_points(mut self, value: impl Into>>) -> Self { + pub fn contact_points( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } /// Set the `contactPoints` field to an Option value (optional) - pub fn maybe_contact_points(mut self, value: Option>) -> Self { + pub fn maybe_contact_points( + mut self, + value: Option>, + ) -> Self { self._fields.17 = value; self } @@ -3502,7 +3722,10 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.20 = value.into(); self } @@ -3678,7 +3901,10 @@ impl PersonBuilder { self } /// Set the `hasCertification` field to an Option value (optional) - pub fn maybe_has_certification(mut self, value: Option>) -> Self { + pub fn maybe_has_certification( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -3686,12 +3912,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `hasCredential` field (optional) - pub fn has_credential(mut self, value: impl Into>>) -> Self { + pub fn has_credential( + mut self, + value: impl Into>>, + ) -> Self { self._fields.33 = value.into(); self } /// Set the `hasCredential` field to an Option value (optional) - pub fn maybe_has_credential(mut self, value: Option>) -> Self { + pub fn maybe_has_credential( + mut self, + value: Option>, + ) -> Self { self._fields.33 = value; self } @@ -3699,12 +3931,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `hasOccupation` field (optional) - pub fn has_occupation(mut self, value: impl Into>>) -> Self { + pub fn has_occupation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } /// Set the `hasOccupation` field to an Option value (optional) - pub fn maybe_has_occupation(mut self, value: Option>) -> Self { + pub fn maybe_has_occupation( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -3712,12 +3950,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `hasOfferCatalog` field (optional) - pub fn has_offer_catalog(mut self, value: impl Into>>) -> Self { + pub fn has_offer_catalog( + mut self, + value: impl Into>>, + ) -> Self { self._fields.35 = value.into(); self } /// Set the `hasOfferCatalog` field to an Option value (optional) - pub fn maybe_has_offer_catalog(mut self, value: Option>) -> Self { + pub fn maybe_has_offer_catalog( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -3751,7 +3995,10 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `homeLocation` field (optional) - pub fn home_location(mut self, value: impl Into>>) -> Self { + pub fn home_location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } @@ -3764,12 +4011,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `honorificPrefix` field (optional) - pub fn honorific_prefix(mut self, value: impl Into>>) -> Self { + pub fn honorific_prefix( + mut self, + value: impl Into>>, + ) -> Self { self._fields.39 = value.into(); self } /// Set the `honorificPrefix` field to an Option value (optional) - pub fn maybe_honorific_prefix(mut self, value: Option>) -> Self { + pub fn maybe_honorific_prefix( + mut self, + value: Option>, + ) -> Self { self._fields.39 = value; self } @@ -3777,12 +4030,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `honorificSuffix` field (optional) - pub fn honorific_suffix(mut self, value: impl Into>>) -> Self { + pub fn honorific_suffix( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } /// Set the `honorificSuffix` field to an Option value (optional) - pub fn maybe_honorific_suffix(mut self, value: Option>) -> Self { + pub fn maybe_honorific_suffix( + mut self, + value: Option>, + ) -> Self { self._fields.40 = value; self } @@ -3887,12 +4146,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `knowsLanguage` field (optional) - pub fn knows_language(mut self, value: impl Into>>) -> Self { + pub fn knows_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } /// Set the `knowsLanguage` field to an Option value (optional) - pub fn maybe_knows_language(mut self, value: Option>) -> Self { + pub fn maybe_knows_language( + mut self, + value: Option>, + ) -> Self { self._fields.48 = value; self } @@ -3908,7 +4173,10 @@ impl PersonBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.49 = value; self } @@ -3968,7 +4236,10 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `nationality` field (optional) - pub fn nationality(mut self, value: impl Into>>) -> Self { + pub fn nationality( + mut self, + value: impl Into>>, + ) -> Self { self._fields.54 = value.into(); self } @@ -4033,7 +4304,10 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `performerIn` field (optional) - pub fn performer_in(mut self, value: impl Into>>) -> Self { + pub fn performer_in( + mut self, + value: impl Into>>, + ) -> Self { self._fields.59 = value.into(); self } @@ -4046,12 +4320,18 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.60 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.60 = value; self } @@ -4273,7 +4553,10 @@ impl PersonBuilder { impl PersonBuilder { /// Set the `workLocation` field (optional) - pub fn work_location(mut self, value: impl Into>>) -> Self { + pub fn work_location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.77 = value.into(); self } @@ -4471,4 +4754,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/podcast_series.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/podcast_series.rs index 6dad85754..db4e5f7df 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/podcast_series.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/podcast_series.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A podcast is an episodic series of digital audio or video files which a user can download and listen to. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -309,6 +306,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -362,6 +360,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -375,6 +374,7 @@ pub enum EmbeddedActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -430,6 +430,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -448,6 +449,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -493,6 +495,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -503,6 +506,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -538,6 +542,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -591,6 +596,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -651,6 +657,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -684,6 +691,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -717,6 +725,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -725,6 +734,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -780,6 +790,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -788,6 +799,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -811,6 +823,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -836,6 +849,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -846,6 +860,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -861,6 +876,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -869,6 +885,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -882,6 +899,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -927,6 +945,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -940,6 +959,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -960,6 +980,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -973,6 +994,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1001,6 +1023,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1026,6 +1049,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1347,6 +1371,7 @@ pub struct PodcastSeries { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1400,6 +1425,7 @@ pub enum PodcastSeriesAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1413,6 +1439,7 @@ pub enum PodcastSeriesActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1468,6 +1495,7 @@ pub enum PodcastSeriesAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1486,6 +1514,7 @@ pub enum PodcastSeriesCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1531,6 +1560,7 @@ pub enum PodcastSeriesContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1541,6 +1571,7 @@ pub enum PodcastSeriesCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1576,6 +1607,7 @@ pub enum PodcastSeriesCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1629,6 +1661,7 @@ pub enum PodcastSeriesEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1689,6 +1722,7 @@ pub enum PodcastSeriesFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1722,6 +1756,7 @@ pub enum PodcastSeriesImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1755,6 +1790,7 @@ pub enum PodcastSeriesIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1763,6 +1799,7 @@ pub enum PodcastSeriesIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1818,6 +1855,7 @@ pub enum PodcastSeriesMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1826,6 +1864,7 @@ pub enum PodcastSeriesMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1849,6 +1888,7 @@ pub enum PodcastSeriesOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1874,6 +1914,7 @@ pub enum PodcastSeriesProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1884,6 +1925,7 @@ pub enum PodcastSeriesProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1899,6 +1941,7 @@ pub enum PodcastSeriesPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1907,6 +1950,7 @@ pub enum PodcastSeriesPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1920,6 +1964,7 @@ pub enum PodcastSeriesRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1965,6 +2010,7 @@ pub enum PodcastSeriesSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1978,6 +2024,7 @@ pub enum PodcastSeriesSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1998,6 +2045,7 @@ pub enum PodcastSeriesSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2011,6 +2059,7 @@ pub enum PodcastSeriesSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2039,6 +2088,7 @@ pub enum PodcastSeriesThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2064,6 +2114,7 @@ pub enum PodcastSeriesTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2183,10 +2234,10 @@ impl LexiconSchema for PodcastSeries { } fn lexicon_doc_social_flockfeeds_lexical_type_PodcastSeries() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.PodcastSeries"), @@ -4980,7 +5031,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_PodcastSeries() -> LexiconDoc<'sta pub mod podcast_series_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4998,7 +5049,10 @@ pub mod podcast_series_state { } /// Builder for constructing an instance of this type. -pub struct PodcastSeriesBuilder { +pub struct PodcastSeriesBuilder< + St: podcast_series_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -5157,16 +5211,138 @@ impl PodcastSeriesBuilder { PodcastSeriesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5179,16 +5355,138 @@ impl PodcastSeriesBuilder { PodcastSeriesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5210,7 +5508,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `abstract` field (optional) - pub fn r#abstract(mut self, value: impl Into>>) -> Self { + pub fn r#abstract( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -5223,12 +5524,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `accessMode` field (optional) - pub fn access_mode(mut self, value: impl Into>>) -> Self { + pub fn access_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `accessMode` field to an Option value (optional) - pub fn maybe_access_mode(mut self, value: Option>) -> Self { + pub fn maybe_access_mode( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -5409,7 +5716,10 @@ impl PodcastSeriesBuilder { self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -5444,7 +5754,10 @@ impl PodcastSeriesBuilder { self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -5471,12 +5784,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `archivedAt` field (optional) - pub fn archived_at(mut self, value: impl Into>>) -> Self { + pub fn archived_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.16 = value.into(); self } /// Set the `archivedAt` field to an Option value (optional) - pub fn maybe_archived_at(mut self, value: Option>) -> Self { + pub fn maybe_archived_at( + mut self, + value: Option>, + ) -> Self { self._fields.16 = value; self } @@ -5484,7 +5803,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `assesses` field (optional) - pub fn assesses(mut self, value: impl Into>>) -> Self { + pub fn assesses( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } @@ -5516,7 +5838,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `audience` field (optional) - pub fn audience(mut self, value: impl Into>>) -> Self { + pub fn audience( + mut self, + value: impl Into>>, + ) -> Self { self._fields.19 = value.into(); self } @@ -5581,7 +5906,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `character` field (optional) - pub fn character(mut self, value: impl Into>>) -> Self { + pub fn character( + mut self, + value: impl Into>>, + ) -> Self { self._fields.24 = value.into(); self } @@ -5594,7 +5922,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `citation` field (optional) - pub fn citation(mut self, value: impl Into>>) -> Self { + pub fn citation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.25 = value.into(); self } @@ -5620,12 +5951,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.27 = value.into(); self } /// Set the `commentCount` field to an Option value (optional) - pub fn maybe_comment_count(mut self, value: Option>) -> Self { + pub fn maybe_comment_count( + mut self, + value: Option>, + ) -> Self { self._fields.27 = value; self } @@ -5679,7 +6016,10 @@ impl PodcastSeriesBuilder { self } /// Set the `contentRating` field to an Option value (optional) - pub fn maybe_content_rating(mut self, value: Option>) -> Self { + pub fn maybe_content_rating( + mut self, + value: Option>, + ) -> Self { self._fields.30 = value; self } @@ -5706,12 +6046,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } /// Set the `contributor` field to an Option value (optional) - pub fn maybe_contributor(mut self, value: Option>) -> Self { + pub fn maybe_contributor( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -5765,7 +6111,10 @@ impl PodcastSeriesBuilder { self } /// Set the `copyrightYear` field to an Option value (optional) - pub fn maybe_copyright_year(mut self, value: Option>) -> Self { + pub fn maybe_copyright_year( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -5773,12 +6122,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `correction` field (optional) - pub fn correction(mut self, value: impl Into>>) -> Self { + pub fn correction( + mut self, + value: impl Into>>, + ) -> Self { self._fields.36 = value.into(); self } /// Set the `correction` field to an Option value (optional) - pub fn maybe_correction(mut self, value: Option>) -> Self { + pub fn maybe_correction( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -5837,12 +6192,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `creditText` field (optional) - pub fn credit_text(mut self, value: impl Into>>) -> Self { + pub fn credit_text( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } /// Set the `creditText` field to an Option value (optional) - pub fn maybe_credit_text(mut self, value: Option>) -> Self { + pub fn maybe_credit_text( + mut self, + value: Option>, + ) -> Self { self._fields.40 = value; self } @@ -5850,12 +6211,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } /// Set the `dateCreated` field to an Option value (optional) - pub fn maybe_date_created(mut self, value: Option>) -> Self { + pub fn maybe_date_created( + mut self, + value: Option>, + ) -> Self { self._fields.41 = value; self } @@ -5863,12 +6230,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } /// Set the `dateModified` field to an Option value (optional) - pub fn maybe_date_modified(mut self, value: Option>) -> Self { + pub fn maybe_date_modified( + mut self, + value: Option>, + ) -> Self { self._fields.42 = value; self } @@ -5884,7 +6257,10 @@ impl PodcastSeriesBuilder { self } /// Set the `datePublished` field to an Option value (optional) - pub fn maybe_date_published(mut self, value: Option>) -> Self { + pub fn maybe_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.43 = value; self } @@ -5892,12 +6268,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } /// Set the `description` field to an Option value (optional) - pub fn maybe_description(mut self, value: Option>) -> Self { + pub fn maybe_description( + mut self, + value: Option>, + ) -> Self { self._fields.44 = value; self } @@ -5951,7 +6333,10 @@ impl PodcastSeriesBuilder { self } /// Set the `discussionUrl` field to an Option value (optional) - pub fn maybe_discussion_url(mut self, value: Option>) -> Self { + pub fn maybe_discussion_url( + mut self, + value: Option>, + ) -> Self { self._fields.47 = value; self } @@ -5959,7 +6344,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `editEIDR` field (optional) - pub fn edit_eidr(mut self, value: impl Into>>) -> Self { + pub fn edit_eidr( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } @@ -6031,7 +6419,10 @@ impl PodcastSeriesBuilder { self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.52 = value; self } @@ -6039,7 +6430,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `encoding` field (optional) - pub fn encoding(mut self, value: impl Into>>) -> Self { + pub fn encoding( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } @@ -6060,7 +6454,10 @@ impl PodcastSeriesBuilder { self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.54 = value; self } @@ -6068,7 +6465,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `encodings` field (optional) - pub fn encodings(mut self, value: impl Into>>) -> Self { + pub fn encodings( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } @@ -6081,7 +6481,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `endDate` field (optional) - pub fn end_date(mut self, value: impl Into>>) -> Self { + pub fn end_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } @@ -6102,7 +6505,10 @@ impl PodcastSeriesBuilder { self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.57 = value; self } @@ -6123,12 +6529,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `fileFormat` field (optional) - pub fn file_format(mut self, value: impl Into>>) -> Self { + pub fn file_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.59 = value.into(); self } /// Set the `fileFormat` field to an Option value (optional) - pub fn maybe_file_format(mut self, value: Option>) -> Self { + pub fn maybe_file_format( + mut self, + value: Option>, + ) -> Self { self._fields.59 = value; self } @@ -6175,7 +6587,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `hasPart` field (optional) - pub fn has_part(mut self, value: impl Into>>) -> Self { + pub fn has_part( + mut self, + value: impl Into>>, + ) -> Self { self._fields.63 = value.into(); self } @@ -6188,7 +6603,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `headline` field (optional) - pub fn headline(mut self, value: impl Into>>) -> Self { + pub fn headline( + mut self, + value: impl Into>>, + ) -> Self { self._fields.64 = value.into(); self } @@ -6201,12 +6619,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.65 = value.into(); self } /// Set the `identifier` field to an Option value (optional) - pub fn maybe_identifier(mut self, value: Option>) -> Self { + pub fn maybe_identifier( + mut self, + value: Option>, + ) -> Self { self._fields.65 = value; self } @@ -6227,12 +6651,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `inLanguage` field (optional) - pub fn in_language(mut self, value: impl Into>>) -> Self { + pub fn in_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.67 = value.into(); self } /// Set the `inLanguage` field to an Option value (optional) - pub fn maybe_in_language(mut self, value: Option>) -> Self { + pub fn maybe_in_language( + mut self, + value: Option>, + ) -> Self { self._fields.67 = value; self } @@ -6316,12 +6746,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `isBasedOn` field (optional) - pub fn is_based_on(mut self, value: impl Into>>) -> Self { + pub fn is_based_on( + mut self, + value: impl Into>>, + ) -> Self { self._fields.72 = value.into(); self } /// Set the `isBasedOn` field to an Option value (optional) - pub fn maybe_is_based_on(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on( + mut self, + value: Option>, + ) -> Self { self._fields.72 = value; self } @@ -6337,7 +6773,10 @@ impl PodcastSeriesBuilder { self } /// Set the `isBasedOnUrl` field to an Option value (optional) - pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on_url( + mut self, + value: Option>, + ) -> Self { self._fields.73 = value; self } @@ -6364,7 +6803,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `isPartOf` field (optional) - pub fn is_part_of(mut self, value: impl Into>>) -> Self { + pub fn is_part_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.75 = value.into(); self } @@ -6390,7 +6832,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `keywords` field (optional) - pub fn keywords(mut self, value: impl Into>>) -> Self { + pub fn keywords( + mut self, + value: impl Into>>, + ) -> Self { self._fields.77 = value.into(); self } @@ -6454,12 +6899,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `mainEntity` field (optional) - pub fn main_entity(mut self, value: impl Into>>) -> Self { + pub fn main_entity( + mut self, + value: impl Into>>, + ) -> Self { self._fields.81 = value.into(); self } /// Set the `mainEntity` field to an Option value (optional) - pub fn maybe_main_entity(mut self, value: Option>) -> Self { + pub fn maybe_main_entity( + mut self, + value: Option>, + ) -> Self { self._fields.81 = value; self } @@ -6486,12 +6937,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `maintainer` field (optional) - pub fn maintainer(mut self, value: impl Into>>) -> Self { + pub fn maintainer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.83 = value.into(); self } /// Set the `maintainer` field to an Option value (optional) - pub fn maybe_maintainer(mut self, value: Option>) -> Self { + pub fn maybe_maintainer( + mut self, + value: Option>, + ) -> Self { self._fields.83 = value; self } @@ -6499,7 +6956,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `material` field (optional) - pub fn material(mut self, value: impl Into>>) -> Self { + pub fn material( + mut self, + value: impl Into>>, + ) -> Self { self._fields.84 = value.into(); self } @@ -6520,7 +6980,10 @@ impl PodcastSeriesBuilder { self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.85 = value; self } @@ -6528,7 +6991,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `mentions` field (optional) - pub fn mentions(mut self, value: impl Into>>) -> Self { + pub fn mentions( + mut self, + value: impl Into>>, + ) -> Self { self._fields.86 = value.into(); self } @@ -6580,7 +7046,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `position` field (optional) - pub fn position(mut self, value: impl Into>>) -> Self { + pub fn position( + mut self, + value: impl Into>>, + ) -> Self { self._fields.90 = value.into(); self } @@ -6612,7 +7081,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `producer` field (optional) - pub fn producer(mut self, value: impl Into>>) -> Self { + pub fn producer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.92 = value.into(); self } @@ -6625,7 +7097,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `provider` field (optional) - pub fn provider(mut self, value: impl Into>>) -> Self { + pub fn provider( + mut self, + value: impl Into>>, + ) -> Self { self._fields.93 = value.into(); self } @@ -6638,12 +7113,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `publication` field (optional) - pub fn publication(mut self, value: impl Into>>) -> Self { + pub fn publication( + mut self, + value: impl Into>>, + ) -> Self { self._fields.94 = value.into(); self } /// Set the `publication` field to an Option value (optional) - pub fn maybe_publication(mut self, value: Option>) -> Self { + pub fn maybe_publication( + mut self, + value: Option>, + ) -> Self { self._fields.94 = value; self } @@ -6651,7 +7132,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `publisher` field (optional) - pub fn publisher(mut self, value: impl Into>>) -> Self { + pub fn publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.95 = value.into(); self } @@ -6702,12 +7186,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `recordedAt` field (optional) - pub fn recorded_at(mut self, value: impl Into>>) -> Self { + pub fn recorded_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.98 = value.into(); self } /// Set the `recordedAt` field to an Option value (optional) - pub fn maybe_recorded_at(mut self, value: Option>) -> Self { + pub fn maybe_recorded_at( + mut self, + value: Option>, + ) -> Self { self._fields.98 = value; self } @@ -6723,7 +7213,10 @@ impl PodcastSeriesBuilder { self } /// Set the `releasedEvent` field to an Option value (optional) - pub fn maybe_released_event(mut self, value: Option>) -> Self { + pub fn maybe_released_event( + mut self, + value: Option>, + ) -> Self { self._fields.99 = value; self } @@ -6778,7 +7271,10 @@ impl PodcastSeriesBuilder { self } /// Set the `schemaVersion` field to an Option value (optional) - pub fn maybe_schema_version(mut self, value: Option>) -> Self { + pub fn maybe_schema_version( + mut self, + value: Option>, + ) -> Self { self._fields.103 = value; self } @@ -6805,7 +7301,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `sdLicense` field (optional) - pub fn sd_license(mut self, value: impl Into>>) -> Self { + pub fn sd_license( + mut self, + value: impl Into>>, + ) -> Self { self._fields.105 = value.into(); self } @@ -6818,12 +7317,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.106 = value.into(); self } /// Set the `sdPublisher` field to an Option value (optional) - pub fn maybe_sd_publisher(mut self, value: Option>) -> Self { + pub fn maybe_sd_publisher( + mut self, + value: Option>, + ) -> Self { self._fields.106 = value; self } @@ -6908,7 +7413,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `startDate` field (optional) - pub fn start_date(mut self, value: impl Into>>) -> Self { + pub fn start_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.112 = value.into(); self } @@ -6921,7 +7429,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.113 = value.into(); self } @@ -6947,7 +7458,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `temporal` field (optional) - pub fn temporal(mut self, value: impl Into>>) -> Self { + pub fn temporal( + mut self, + value: impl Into>>, + ) -> Self { self._fields.115 = value.into(); self } @@ -6992,7 +7506,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `thumbnail` field (optional) - pub fn thumbnail(mut self, value: impl Into>>) -> Self { + pub fn thumbnail( + mut self, + value: impl Into>>, + ) -> Self { self._fields.118 = value.into(); self } @@ -7005,12 +7522,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.119 = value.into(); self } /// Set the `thumbnailUrl` field to an Option value (optional) - pub fn maybe_thumbnail_url(mut self, value: Option>) -> Self { + pub fn maybe_thumbnail_url( + mut self, + value: Option>, + ) -> Self { self._fields.119 = value; self } @@ -7018,12 +7541,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.120 = value.into(); self } /// Set the `timeRequired` field to an Option value (optional) - pub fn maybe_time_required(mut self, value: Option>) -> Self { + pub fn maybe_time_required( + mut self, + value: Option>, + ) -> Self { self._fields.120 = value; self } @@ -7050,12 +7579,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `translator` field (optional) - pub fn translator(mut self, value: impl Into>>) -> Self { + pub fn translator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.122 = value.into(); self } /// Set the `translator` field to an Option value (optional) - pub fn maybe_translator(mut self, value: Option>) -> Self { + pub fn maybe_translator( + mut self, + value: Option>, + ) -> Self { self._fields.122 = value; self } @@ -7095,7 +7630,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `usageInfo` field (optional) - pub fn usage_info(mut self, value: impl Into>>) -> Self { + pub fn usage_info( + mut self, + value: impl Into>>, + ) -> Self { self._fields.125 = value.into(); self } @@ -7134,7 +7672,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `webFeed` field (optional) - pub fn web_feed(mut self, value: impl Into>>) -> Self { + pub fn web_feed( + mut self, + value: impl Into>>, + ) -> Self { self._fields.128 = value.into(); self } @@ -7147,7 +7688,10 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `wordCount` field (optional) - pub fn word_count(mut self, value: impl Into>>) -> Self { + pub fn word_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.129 = value.into(); self } @@ -7160,12 +7704,18 @@ impl PodcastSeriesBuilder { impl PodcastSeriesBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.130 = value.into(); self } /// Set the `workExample` field to an Option value (optional) - pub fn maybe_work_example(mut self, value: Option>) -> Self { + pub fn maybe_work_example( + mut self, + value: Option>, + ) -> Self { self._fields.130 = value; self } @@ -7333,7 +7883,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PodcastSeries { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PodcastSeries { PodcastSeries { about: self._fields.0, r#abstract: self._fields.1, @@ -7470,4 +8023,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/product.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/product.rs index a593e2a32..363511624 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/product.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/product.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::brand; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Any offered product or service. For example: a pair of shoes; a concert ticket; the rental of a car; a haircut; or an episode of a TV show streamed online. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub additional_property: Option>, @@ -187,6 +184,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -237,6 +235,7 @@ pub enum EmbeddedBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -255,6 +254,7 @@ pub enum EmbeddedColorSwatch { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -368,6 +368,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -381,6 +382,7 @@ pub enum EmbeddedIsAccessoryOrSparePartFor { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -389,6 +391,7 @@ pub enum EmbeddedIsConsumableFor { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -402,6 +405,7 @@ pub enum EmbeddedIsRelatedTo { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -410,6 +414,7 @@ pub enum EmbeddedIsSimilarTo { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -433,6 +438,7 @@ pub enum EmbeddedLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -446,6 +452,7 @@ pub enum EmbeddedManufacturer { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -454,6 +461,7 @@ pub enum EmbeddedMaterial { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -492,6 +500,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -565,6 +574,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -734,6 +744,7 @@ pub struct Product { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -784,6 +795,7 @@ pub enum ProductBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -802,6 +814,7 @@ pub enum ProductColorSwatch { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -915,6 +928,7 @@ pub enum ProductImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -928,6 +942,7 @@ pub enum ProductIsAccessoryOrSparePartFor { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -936,6 +951,7 @@ pub enum ProductIsConsumableFor { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -949,6 +965,7 @@ pub enum ProductIsRelatedTo { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -957,6 +974,7 @@ pub enum ProductIsSimilarTo { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -980,6 +998,7 @@ pub enum ProductLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -993,6 +1012,7 @@ pub enum ProductManufacturer { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1001,6 +1021,7 @@ pub enum ProductMaterial { Embedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1039,6 +1060,7 @@ pub enum ProductOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1112,6 +1134,7 @@ pub enum ProductSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1201,10 +1224,10 @@ impl LexiconSchema for Product { } fn lexicon_doc_social_flockfeeds_lexical_type_Product() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Product"), @@ -2750,7 +2773,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Product() -> LexiconDoc<'static> { pub mod product_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2866,11 +2889,76 @@ impl ProductBuilder { ProductBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -2884,11 +2972,76 @@ impl ProductBuilder { ProductBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -2917,12 +3070,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -2930,12 +3089,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `aggregateRating` field (optional) - pub fn aggregate_rating(mut self, value: impl Into>>) -> Self { + pub fn aggregate_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -2943,12 +3108,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -3047,7 +3218,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `colorSwatch` field (optional) - pub fn color_swatch(mut self, value: impl Into>>) -> Self { + pub fn color_swatch( + mut self, + value: impl Into>>, + ) -> Self { self._fields.11 = value.into(); self } @@ -3068,7 +3242,10 @@ impl ProductBuilder { self } /// Set the `countryOfAssembly` field to an Option value (optional) - pub fn maybe_country_of_assembly(mut self, value: Option>) -> Self { + pub fn maybe_country_of_assembly( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -3103,7 +3280,10 @@ impl ProductBuilder { self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -3124,7 +3304,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.16 = value.into(); self } @@ -3261,7 +3444,10 @@ impl ProductBuilder { self } /// Set the `hasCertification` field to an Option value (optional) - pub fn maybe_has_certification(mut self, value: Option>) -> Self { + pub fn maybe_has_certification( + mut self, + value: Option>, + ) -> Self { self._fields.25 = value; self } @@ -3307,12 +3493,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `hasMeasurement` field (optional) - pub fn has_measurement(mut self, value: impl Into>>) -> Self { + pub fn has_measurement( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } /// Set the `hasMeasurement` field to an Option value (optional) - pub fn maybe_has_measurement(mut self, value: Option>) -> Self { + pub fn maybe_has_measurement( + mut self, + value: Option>, + ) -> Self { self._fields.28 = value; self } @@ -3443,7 +3635,10 @@ impl ProductBuilder { self } /// Set the `isConsumableFor` field to an Option value (optional) - pub fn maybe_is_consumable_for(mut self, value: Option>) -> Self { + pub fn maybe_is_consumable_for( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -3459,7 +3654,10 @@ impl ProductBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.37 = value; self } @@ -3467,7 +3665,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `isRelatedTo` field (optional) - pub fn is_related_to(mut self, value: impl Into>>) -> Self { + pub fn is_related_to( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } @@ -3480,7 +3681,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `isSimilarTo` field (optional) - pub fn is_similar_to(mut self, value: impl Into>>) -> Self { + pub fn is_similar_to( + mut self, + value: impl Into>>, + ) -> Self { self._fields.39 = value.into(); self } @@ -3493,7 +3697,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `isVariantOf` field (optional) - pub fn is_variant_of(mut self, value: impl Into>>) -> Self { + pub fn is_variant_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } @@ -3506,12 +3713,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `itemCondition` field (optional) - pub fn item_condition(mut self, value: impl Into>>) -> Self { + pub fn item_condition( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } /// Set the `itemCondition` field to an Option value (optional) - pub fn maybe_item_condition(mut self, value: Option>) -> Self { + pub fn maybe_item_condition( + mut self, + value: Option>, + ) -> Self { self._fields.41 = value; self } @@ -3553,7 +3766,10 @@ impl ProductBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.44 = value; self } @@ -3561,7 +3777,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `manufacturer` field (optional) - pub fn manufacturer(mut self, value: impl Into>>) -> Self { + pub fn manufacturer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } @@ -3639,12 +3858,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `negativeNotes` field (optional) - pub fn negative_notes(mut self, value: impl Into>>) -> Self { + pub fn negative_notes( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } /// Set the `negativeNotes` field to an Option value (optional) - pub fn maybe_negative_notes(mut self, value: Option>) -> Self { + pub fn maybe_negative_notes( + mut self, + value: Option>, + ) -> Self { self._fields.51 = value; self } @@ -3691,12 +3916,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `positiveNotes` field (optional) - pub fn positive_notes(mut self, value: impl Into>>) -> Self { + pub fn positive_notes( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } /// Set the `positiveNotes` field to an Option value (optional) - pub fn maybe_positive_notes(mut self, value: Option>) -> Self { + pub fn maybe_positive_notes( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -3704,12 +3935,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.56 = value; self } @@ -3730,12 +3967,18 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `productionDate` field (optional) - pub fn production_date(mut self, value: impl Into>>) -> Self { + pub fn production_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } /// Set the `productionDate` field to an Option value (optional) - pub fn maybe_production_date(mut self, value: Option>) -> Self { + pub fn maybe_production_date( + mut self, + value: Option>, + ) -> Self { self._fields.58 = value; self } @@ -3743,7 +3986,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `purchaseDate` field (optional) - pub fn purchase_date(mut self, value: impl Into>>) -> Self { + pub fn purchase_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.59 = value.into(); self } @@ -3756,7 +4002,10 @@ impl ProductBuilder { impl ProductBuilder { /// Set the `releaseDate` field (optional) - pub fn release_date(mut self, value: impl Into>>) -> Self { + pub fn release_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.60 = value.into(); self } @@ -4055,4 +4304,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/recipe.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/recipe.rs index ae9f895ea..19d212744 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/recipe.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/recipe.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A recipe. For dietary restrictions covered by the recipe, a few common restrictions are enumerated via [[suitableForDiet]]. The [[keywords]] property can also be used to add more detail. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -337,6 +334,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -390,6 +388,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -450,6 +449,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -468,6 +468,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -513,6 +514,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -533,6 +535,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -568,6 +571,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -621,6 +625,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -681,6 +686,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -714,6 +720,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -752,6 +759,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -760,6 +768,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -810,6 +819,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -818,6 +828,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -846,6 +857,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -881,6 +893,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -891,6 +904,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -906,6 +920,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -914,6 +929,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -952,6 +968,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -997,6 +1014,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1010,6 +1028,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1030,6 +1049,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1048,6 +1068,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1086,6 +1107,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1121,6 +1143,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1470,6 +1493,7 @@ pub struct Recipe { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1523,6 +1547,7 @@ pub enum RecipeAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1583,6 +1608,7 @@ pub enum RecipeAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1601,6 +1627,7 @@ pub enum RecipeCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1646,6 +1673,7 @@ pub enum RecipeContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1666,6 +1694,7 @@ pub enum RecipeCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1701,6 +1730,7 @@ pub enum RecipeCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1754,6 +1784,7 @@ pub enum RecipeEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1814,6 +1845,7 @@ pub enum RecipeFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1847,6 +1879,7 @@ pub enum RecipeImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1885,6 +1918,7 @@ pub enum RecipeIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1893,6 +1927,7 @@ pub enum RecipeIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1943,6 +1978,7 @@ pub enum RecipeMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1951,6 +1987,7 @@ pub enum RecipeMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1979,6 +2016,7 @@ pub enum RecipeOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2014,6 +2052,7 @@ pub enum RecipeProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2024,6 +2063,7 @@ pub enum RecipeProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2039,6 +2079,7 @@ pub enum RecipePublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2047,6 +2088,7 @@ pub enum RecipePublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2085,6 +2127,7 @@ pub enum RecipeRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2130,6 +2173,7 @@ pub enum RecipeSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2143,6 +2187,7 @@ pub enum RecipeSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2163,6 +2208,7 @@ pub enum RecipeSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2181,6 +2227,7 @@ pub enum RecipeSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2219,6 +2266,7 @@ pub enum RecipeThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2254,6 +2302,7 @@ pub enum RecipeTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2373,10 +2422,10 @@ impl LexiconSchema for Recipe { } fn lexicon_doc_social_flockfeeds_lexical_type_Recipe() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Recipe"), @@ -5476,7 +5525,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Recipe() -> LexiconDoc<'static> { pub mod recipe_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5667,17 +5716,152 @@ impl RecipeBuilder { RecipeBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5690,17 +5874,152 @@ impl RecipeBuilder { RecipeBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5775,7 +6094,10 @@ impl RecipeBuilder { self } /// Set the `accessibilityAPI` field to an Option value (optional) - pub fn maybe_accessibility_api(mut self, value: Option>) -> Self { + pub fn maybe_accessibility_api( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -5867,7 +6189,10 @@ impl RecipeBuilder { self } /// Set the `accountablePerson` field to an Option value (optional) - pub fn maybe_accountable_person(mut self, value: Option>) -> Self { + pub fn maybe_accountable_person( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5894,12 +6219,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.11 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.11 = value; self } @@ -5907,12 +6238,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `aggregateRating` field (optional) - pub fn aggregate_rating(mut self, value: impl Into>>) -> Self { + pub fn aggregate_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.12 = value.into(); self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -5920,12 +6257,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -5978,12 +6321,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `associatedMedia` field (optional) - pub fn associated_media(mut self, value: impl Into>>) -> Self { + pub fn associated_media( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } /// Set the `associatedMedia` field to an Option value (optional) - pub fn maybe_associated_media(mut self, value: Option>) -> Self { + pub fn maybe_associated_media( + mut self, + value: Option>, + ) -> Self { self._fields.17 = value; self } @@ -6095,7 +6444,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.26 = value.into(); self } @@ -6127,12 +6479,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `contentLocation` field (optional) - pub fn content_location(mut self, value: impl Into>>) -> Self { + pub fn content_location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } /// Set the `contentLocation` field to an Option value (optional) - pub fn maybe_content_location(mut self, value: Option>) -> Self { + pub fn maybe_content_location( + mut self, + value: Option>, + ) -> Self { self._fields.28 = value; self } @@ -6140,12 +6498,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `contentRating` field (optional) - pub fn content_rating(mut self, value: impl Into>>) -> Self { + pub fn content_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.29 = value.into(); self } /// Set the `contentRating` field to an Option value (optional) - pub fn maybe_content_rating(mut self, value: Option>) -> Self { + pub fn maybe_content_rating( + mut self, + value: Option>, + ) -> Self { self._fields.29 = value; self } @@ -6172,7 +6536,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.31 = value.into(); self } @@ -6198,12 +6565,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `cookingMethod` field (optional) - pub fn cooking_method(mut self, value: impl Into>>) -> Self { + pub fn cooking_method( + mut self, + value: impl Into>>, + ) -> Self { self._fields.33 = value.into(); self } /// Set the `cookingMethod` field to an Option value (optional) - pub fn maybe_cooking_method(mut self, value: Option>) -> Self { + pub fn maybe_cooking_method( + mut self, + value: Option>, + ) -> Self { self._fields.33 = value; self } @@ -6211,12 +6584,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `copyrightHolder` field (optional) - pub fn copyright_holder(mut self, value: impl Into>>) -> Self { + pub fn copyright_holder( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } /// Set the `copyrightHolder` field to an Option value (optional) - pub fn maybe_copyright_holder(mut self, value: Option>) -> Self { + pub fn maybe_copyright_holder( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -6224,12 +6603,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `copyrightNotice` field (optional) - pub fn copyright_notice(mut self, value: impl Into>>) -> Self { + pub fn copyright_notice( + mut self, + value: impl Into>>, + ) -> Self { self._fields.35 = value.into(); self } /// Set the `copyrightNotice` field to an Option value (optional) - pub fn maybe_copyright_notice(mut self, value: Option>) -> Self { + pub fn maybe_copyright_notice( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -6237,12 +6622,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `copyrightYear` field (optional) - pub fn copyright_year(mut self, value: impl Into>>) -> Self { + pub fn copyright_year( + mut self, + value: impl Into>>, + ) -> Self { self._fields.36 = value.into(); self } /// Set the `copyrightYear` field to an Option value (optional) - pub fn maybe_copyright_year(mut self, value: Option>) -> Self { + pub fn maybe_copyright_year( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -6263,12 +6654,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `countryOfOrigin` field (optional) - pub fn country_of_origin(mut self, value: impl Into>>) -> Self { + pub fn country_of_origin( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.38 = value; self } @@ -6321,7 +6718,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } @@ -6334,7 +6734,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.43 = value.into(); self } @@ -6347,12 +6750,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `datePublished` field (optional) - pub fn date_published(mut self, value: impl Into>>) -> Self { + pub fn date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } /// Set the `datePublished` field to an Option value (optional) - pub fn maybe_date_published(mut self, value: Option>) -> Self { + pub fn maybe_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.44 = value; self } @@ -6360,7 +6769,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } @@ -6381,7 +6793,10 @@ impl RecipeBuilder { self } /// Set the `digitalSourceType` field to an Option value (optional) - pub fn maybe_digital_source_type(mut self, value: Option>) -> Self { + pub fn maybe_digital_source_type( + mut self, + value: Option>, + ) -> Self { self._fields.46 = value; self } @@ -6408,12 +6823,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `discussionUrl` field (optional) - pub fn discussion_url(mut self, value: impl Into>>) -> Self { + pub fn discussion_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } /// Set the `discussionUrl` field to an Option value (optional) - pub fn maybe_discussion_url(mut self, value: Option>) -> Self { + pub fn maybe_discussion_url( + mut self, + value: Option>, + ) -> Self { self._fields.48 = value; self } @@ -6474,7 +6895,10 @@ impl RecipeBuilder { self } /// Set the `educationalLevel` field to an Option value (optional) - pub fn maybe_educational_level(mut self, value: Option>) -> Self { + pub fn maybe_educational_level( + mut self, + value: Option>, + ) -> Self { self._fields.52 = value; self } @@ -6482,12 +6906,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `educationalUse` field (optional) - pub fn educational_use(mut self, value: impl Into>>) -> Self { + pub fn educational_use( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.53 = value; self } @@ -6508,12 +6938,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `encodingFormat` field (optional) - pub fn encoding_format(mut self, value: impl Into>>) -> Self { + pub fn encoding_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -6534,12 +6970,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `estimatedCost` field (optional) - pub fn estimated_cost(mut self, value: impl Into>>) -> Self { + pub fn estimated_cost( + mut self, + value: impl Into>>, + ) -> Self { self._fields.57 = value.into(); self } /// Set the `estimatedCost` field to an Option value (optional) - pub fn maybe_estimated_cost(mut self, value: Option>) -> Self { + pub fn maybe_estimated_cost( + mut self, + value: Option>, + ) -> Self { self._fields.57 = value; self } @@ -6547,12 +6989,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `exampleOfWork` field (optional) - pub fn example_of_work(mut self, value: impl Into>>) -> Self { + pub fn example_of_work( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.58 = value; self } @@ -6690,7 +7138,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `ingredients` field (optional) - pub fn ingredients(mut self, value: impl Into>>) -> Self { + pub fn ingredients( + mut self, + value: impl Into>>, + ) -> Self { self._fields.69 = value.into(); self } @@ -6730,7 +7181,10 @@ impl RecipeBuilder { self } /// Set the `interactivityType` field to an Option value (optional) - pub fn maybe_interactivity_type(mut self, value: Option>) -> Self { + pub fn maybe_interactivity_type( + mut self, + value: Option>, + ) -> Self { self._fields.71 = value; self } @@ -6789,12 +7243,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `isBasedOnUrl` field (optional) - pub fn is_based_on_url(mut self, value: impl Into>>) -> Self { + pub fn is_based_on_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.75 = value.into(); self } /// Set the `isBasedOnUrl` field to an Option value (optional) - pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on_url( + mut self, + value: Option>, + ) -> Self { self._fields.75 = value; self } @@ -6810,7 +7270,10 @@ impl RecipeBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.76 = value; self } @@ -6876,12 +7339,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `locationCreated` field (optional) - pub fn location_created(mut self, value: impl Into>>) -> Self { + pub fn location_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.81 = value.into(); self } /// Set the `locationCreated` field to an Option value (optional) - pub fn maybe_location_created(mut self, value: Option>) -> Self { + pub fn maybe_location_created( + mut self, + value: Option>, + ) -> Self { self._fields.81 = value; self } @@ -6910,7 +7379,10 @@ impl RecipeBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.83 = value; self } @@ -6944,12 +7416,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `materialExtent` field (optional) - pub fn material_extent(mut self, value: impl Into>>) -> Self { + pub fn material_extent( + mut self, + value: impl Into>>, + ) -> Self { self._fields.86 = value.into(); self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.86 = value; self } @@ -7022,7 +7500,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `performTime` field (optional) - pub fn perform_time(mut self, value: impl Into>>) -> Self { + pub fn perform_time( + mut self, + value: impl Into>>, + ) -> Self { self._fields.92 = value.into(); self } @@ -7048,12 +7529,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.94 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.94 = value; self } @@ -7100,7 +7587,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `publication` field (optional) - pub fn publication(mut self, value: impl Into>>) -> Self { + pub fn publication( + mut self, + value: impl Into>>, + ) -> Self { self._fields.98 = value.into(); self } @@ -7134,7 +7624,10 @@ impl RecipeBuilder { self } /// Set the `publisherImprint` field to an Option value (optional) - pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self { + pub fn maybe_publisher_imprint( + mut self, + value: Option>, + ) -> Self { self._fields.100 = value; self } @@ -7161,12 +7654,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `recipeCategory` field (optional) - pub fn recipe_category(mut self, value: impl Into>>) -> Self { + pub fn recipe_category( + mut self, + value: impl Into>>, + ) -> Self { self._fields.102 = value.into(); self } /// Set the `recipeCategory` field to an Option value (optional) - pub fn maybe_recipe_category(mut self, value: Option>) -> Self { + pub fn maybe_recipe_category( + mut self, + value: Option>, + ) -> Self { self._fields.102 = value; self } @@ -7174,12 +7673,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `recipeCuisine` field (optional) - pub fn recipe_cuisine(mut self, value: impl Into>>) -> Self { + pub fn recipe_cuisine( + mut self, + value: impl Into>>, + ) -> Self { self._fields.103 = value.into(); self } /// Set the `recipeCuisine` field to an Option value (optional) - pub fn maybe_recipe_cuisine(mut self, value: Option>) -> Self { + pub fn maybe_recipe_cuisine( + mut self, + value: Option>, + ) -> Self { self._fields.103 = value; self } @@ -7195,7 +7700,10 @@ impl RecipeBuilder { self } /// Set the `recipeIngredient` field to an Option value (optional) - pub fn maybe_recipe_ingredient(mut self, value: Option>) -> Self { + pub fn maybe_recipe_ingredient( + mut self, + value: Option>, + ) -> Self { self._fields.104 = value; self } @@ -7211,7 +7719,10 @@ impl RecipeBuilder { self } /// Set the `recipeInstructions` field to an Option value (optional) - pub fn maybe_recipe_instructions(mut self, value: Option>) -> Self { + pub fn maybe_recipe_instructions( + mut self, + value: Option>, + ) -> Self { self._fields.105 = value; self } @@ -7219,7 +7730,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `recipeYield` field (optional) - pub fn recipe_yield(mut self, value: impl Into>>) -> Self { + pub fn recipe_yield( + mut self, + value: impl Into>>, + ) -> Self { self._fields.106 = value.into(); self } @@ -7245,12 +7759,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `releasedEvent` field (optional) - pub fn released_event(mut self, value: impl Into>>) -> Self { + pub fn released_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.108 = value.into(); self } /// Set the `releasedEvent` field to an Option value (optional) - pub fn maybe_released_event(mut self, value: Option>) -> Self { + pub fn maybe_released_event( + mut self, + value: Option>, + ) -> Self { self._fields.108 = value; self } @@ -7297,12 +7817,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `schemaVersion` field (optional) - pub fn schema_version(mut self, value: impl Into>>) -> Self { + pub fn schema_version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.112 = value.into(); self } /// Set the `schemaVersion` field to an Option value (optional) - pub fn maybe_schema_version(mut self, value: Option>) -> Self { + pub fn maybe_schema_version( + mut self, + value: Option>, + ) -> Self { self._fields.112 = value; self } @@ -7310,12 +7836,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `sdDatePublished` field (optional) - pub fn sd_date_published(mut self, value: impl Into>>) -> Self { + pub fn sd_date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.113 = value.into(); self } /// Set the `sdDatePublished` field to an Option value (optional) - pub fn maybe_sd_date_published(mut self, value: Option>) -> Self { + pub fn maybe_sd_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.113 = value; self } @@ -7336,7 +7868,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.115 = value.into(); self } @@ -7370,7 +7905,10 @@ impl RecipeBuilder { self } /// Set the `sourceOrganization` field to an Option value (optional) - pub fn maybe_source_organization(mut self, value: Option>) -> Self { + pub fn maybe_source_organization( + mut self, + value: Option>, + ) -> Self { self._fields.117 = value; self } @@ -7391,12 +7929,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `spatialCoverage` field (optional) - pub fn spatial_coverage(mut self, value: impl Into>>) -> Self { + pub fn spatial_coverage( + mut self, + value: impl Into>>, + ) -> Self { self._fields.119 = value.into(); self } /// Set the `spatialCoverage` field to an Option value (optional) - pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self { + pub fn maybe_spatial_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.119 = value; self } @@ -7456,12 +8000,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `suitableForDiet` field (optional) - pub fn suitable_for_diet(mut self, value: impl Into>>) -> Self { + pub fn suitable_for_diet( + mut self, + value: impl Into>>, + ) -> Self { self._fields.124 = value.into(); self } /// Set the `suitableForDiet` field to an Option value (optional) - pub fn maybe_suitable_for_diet(mut self, value: Option>) -> Self { + pub fn maybe_suitable_for_diet( + mut self, + value: Option>, + ) -> Self { self._fields.124 = value; self } @@ -7516,7 +8066,10 @@ impl RecipeBuilder { self } /// Set the `temporalCoverage` field to an Option value (optional) - pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self { + pub fn maybe_temporal_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.128 = value; self } @@ -7550,7 +8103,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.131 = value.into(); self } @@ -7563,7 +8119,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.132 = value.into(); self } @@ -7610,7 +8169,10 @@ impl RecipeBuilder { self } /// Set the `translationOfWork` field to an Option value (optional) - pub fn maybe_translation_of_work(mut self, value: Option>) -> Self { + pub fn maybe_translation_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.135 = value; self } @@ -7631,12 +8193,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `typicalAgeRange` field (optional) - pub fn typical_age_range(mut self, value: impl Into>>) -> Self { + pub fn typical_age_range( + mut self, + value: impl Into>>, + ) -> Self { self._fields.137 = value.into(); self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.137 = value; self } @@ -7709,7 +8277,10 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.143 = value.into(); self } @@ -7722,12 +8293,18 @@ impl RecipeBuilder { impl RecipeBuilder { /// Set the `workTranslation` field (optional) - pub fn work_translation(mut self, value: impl Into>>) -> Self { + pub fn work_translation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.144 = value.into(); self } /// Set the `workTranslation` field to an Option value (optional) - pub fn maybe_work_translation(mut self, value: Option>) -> Self { + pub fn maybe_work_translation( + mut self, + value: Option>, + ) -> Self { self._fields.144 = value; self } @@ -8054,4 +8631,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/social_media_posting.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/social_media_posting.rs index c146192c1..dc938788c 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/social_media_posting.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/social_media_posting.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A post to a social media platform, including blog posts, tweets, Facebook posts, etc. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -315,6 +312,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -368,6 +366,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -438,6 +437,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -461,6 +461,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -506,6 +507,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -516,6 +518,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -551,6 +554,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -604,6 +608,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -659,6 +664,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -692,6 +698,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -725,6 +732,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -733,6 +741,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -783,6 +792,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -791,6 +801,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -814,6 +825,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -854,6 +866,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -864,6 +877,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -879,6 +893,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -887,6 +902,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -900,6 +916,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -945,6 +962,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -963,6 +981,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -988,6 +1007,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -996,6 +1016,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1024,6 +1045,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1049,6 +1071,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1194,7 +1217,9 @@ pub struct SocialMediaPosting { #[serde(skip_serializing_if = "Option::is_none")] pub digital_source_type: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub disambiguating_description: Option>, + pub disambiguating_description: Option< + SocialMediaPostingDisambiguatingDescription, + >, #[serde(skip_serializing_if = "Option::is_none")] pub discussion_url: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -1371,6 +1396,7 @@ pub struct SocialMediaPosting { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1424,6 +1450,7 @@ pub enum SocialMediaPostingAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1494,6 +1521,7 @@ pub enum SocialMediaPostingAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1517,6 +1545,7 @@ pub enum SocialMediaPostingCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1562,6 +1591,7 @@ pub enum SocialMediaPostingContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1572,6 +1602,7 @@ pub enum SocialMediaPostingCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1607,6 +1638,7 @@ pub enum SocialMediaPostingCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1660,6 +1692,7 @@ pub enum SocialMediaPostingEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1715,6 +1748,7 @@ pub enum SocialMediaPostingFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1748,6 +1782,7 @@ pub enum SocialMediaPostingImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1781,6 +1816,7 @@ pub enum SocialMediaPostingIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1789,6 +1825,7 @@ pub enum SocialMediaPostingIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1839,6 +1876,7 @@ pub enum SocialMediaPostingMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1847,6 +1885,7 @@ pub enum SocialMediaPostingMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1870,6 +1909,7 @@ pub enum SocialMediaPostingOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1910,6 +1950,7 @@ pub enum SocialMediaPostingProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1920,6 +1961,7 @@ pub enum SocialMediaPostingProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1935,6 +1977,7 @@ pub enum SocialMediaPostingPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1943,6 +1986,7 @@ pub enum SocialMediaPostingPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1956,6 +2000,7 @@ pub enum SocialMediaPostingRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2001,6 +2046,7 @@ pub enum SocialMediaPostingSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2019,6 +2065,7 @@ pub enum SocialMediaPostingSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2044,6 +2091,7 @@ pub enum SocialMediaPostingSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2052,6 +2100,7 @@ pub enum SocialMediaPostingSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2080,6 +2129,7 @@ pub enum SocialMediaPostingThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2105,6 +2155,7 @@ pub enum SocialMediaPostingTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2218,11 +2269,13 @@ impl LexiconSchema for SocialMediaPosting { } } -fn lexicon_doc_social_flockfeeds_lexical_type_SocialMediaPosting() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; +fn lexicon_doc_social_flockfeeds_lexical_type_SocialMediaPosting() -> LexiconDoc< + 'static, +> { #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.SocialMediaPosting"), @@ -5076,7 +5129,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_SocialMediaPosting() -> LexiconDoc pub mod social_media_posting_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5094,8 +5147,10 @@ pub mod social_media_posting_state { } /// Builder for constructing an instance of this type. -pub struct SocialMediaPostingBuilder -{ +pub struct SocialMediaPostingBuilder< + St: social_media_posting_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -5239,7 +5294,10 @@ pub struct SocialMediaPostingBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SocialMediaPostingBuilder { + pub fn new() -> SocialMediaPostingBuilder< + social_media_posting_state::Empty, + DefaultStr, + > { SocialMediaPostingBuilder::new() } } @@ -5257,16 +5315,141 @@ impl SocialMediaPostingBuilder { SocialMediaPostingBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5279,16 +5462,141 @@ impl SocialMediaPostingBuilder SocialMediaPostingBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5297,7 +5605,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `about` field (optional) - pub fn about(mut self, value: impl Into>>) -> Self { + pub fn about( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -5310,12 +5621,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `abstract` field (optional) - pub fn r#abstract(mut self, value: impl Into>>) -> Self { + pub fn r#abstract( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `abstract` field to an Option value (optional) - pub fn maybe_abstract(mut self, value: Option>) -> Self { + pub fn maybe_abstract( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -5331,7 +5648,10 @@ impl SocialMediaPostingBuilder self } /// Set the `accessMode` field to an Option value (optional) - pub fn maybe_access_mode(mut self, value: Option>) -> Self { + pub fn maybe_access_mode( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -5575,7 +5895,10 @@ impl SocialMediaPostingBuilder self } /// Set the `archivedAt` field to an Option value (optional) - pub fn maybe_archived_at(mut self, value: Option>) -> Self { + pub fn maybe_archived_at( + mut self, + value: Option>, + ) -> Self { self._fields.15 = value; self } @@ -5591,7 +5914,10 @@ impl SocialMediaPostingBuilder self } /// Set the `articleBody` field to an Option value (optional) - pub fn maybe_article_body(mut self, value: Option>) -> Self { + pub fn maybe_article_body( + mut self, + value: Option>, + ) -> Self { self._fields.16 = value; self } @@ -5618,12 +5944,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `assesses` field (optional) - pub fn assesses(mut self, value: impl Into>>) -> Self { + pub fn assesses( + mut self, + value: impl Into>>, + ) -> Self { self._fields.18 = value.into(); self } /// Set the `assesses` field to an Option value (optional) - pub fn maybe_assesses(mut self, value: Option>) -> Self { + pub fn maybe_assesses( + mut self, + value: Option>, + ) -> Self { self._fields.18 = value; self } @@ -5650,12 +5982,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `audience` field (optional) - pub fn audience(mut self, value: impl Into>>) -> Self { + pub fn audience( + mut self, + value: impl Into>>, + ) -> Self { self._fields.20 = value.into(); self } /// Set the `audience` field to an Option value (optional) - pub fn maybe_audience(mut self, value: Option>) -> Self { + pub fn maybe_audience( + mut self, + value: Option>, + ) -> Self { self._fields.20 = value; self } @@ -5663,7 +6001,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `audio` field (optional) - pub fn audio(mut self, value: impl Into>>) -> Self { + pub fn audio( + mut self, + value: impl Into>>, + ) -> Self { self._fields.21 = value.into(); self } @@ -5676,7 +6017,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `author` field (optional) - pub fn author(mut self, value: impl Into>>) -> Self { + pub fn author( + mut self, + value: impl Into>>, + ) -> Self { self._fields.22 = value.into(); self } @@ -5689,7 +6033,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `award` field (optional) - pub fn award(mut self, value: impl Into>>) -> Self { + pub fn award( + mut self, + value: impl Into>>, + ) -> Self { self._fields.23 = value.into(); self } @@ -5702,7 +6049,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `awards` field (optional) - pub fn awards(mut self, value: impl Into>>) -> Self { + pub fn awards( + mut self, + value: impl Into>>, + ) -> Self { self._fields.24 = value.into(); self } @@ -5715,12 +6065,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `backstory` field (optional) - pub fn backstory(mut self, value: impl Into>>) -> Self { + pub fn backstory( + mut self, + value: impl Into>>, + ) -> Self { self._fields.25 = value.into(); self } /// Set the `backstory` field to an Option value (optional) - pub fn maybe_backstory(mut self, value: Option>) -> Self { + pub fn maybe_backstory( + mut self, + value: Option>, + ) -> Self { self._fields.25 = value; self } @@ -5728,12 +6084,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `character` field (optional) - pub fn character(mut self, value: impl Into>>) -> Self { + pub fn character( + mut self, + value: impl Into>>, + ) -> Self { self._fields.26 = value.into(); self } /// Set the `character` field to an Option value (optional) - pub fn maybe_character(mut self, value: Option>) -> Self { + pub fn maybe_character( + mut self, + value: Option>, + ) -> Self { self._fields.26 = value; self } @@ -5741,12 +6103,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `citation` field (optional) - pub fn citation(mut self, value: impl Into>>) -> Self { + pub fn citation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.27 = value.into(); self } /// Set the `citation` field to an Option value (optional) - pub fn maybe_citation(mut self, value: Option>) -> Self { + pub fn maybe_citation( + mut self, + value: Option>, + ) -> Self { self._fields.27 = value; self } @@ -5754,7 +6122,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `comment` field (optional) - pub fn comment(mut self, value: impl Into>>) -> Self { + pub fn comment( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } @@ -5775,7 +6146,10 @@ impl SocialMediaPostingBuilder self } /// Set the `commentCount` field to an Option value (optional) - pub fn maybe_comment_count(mut self, value: Option>) -> Self { + pub fn maybe_comment_count( + mut self, + value: Option>, + ) -> Self { self._fields.29 = value; self } @@ -5867,7 +6241,10 @@ impl SocialMediaPostingBuilder self } /// Set the `contributor` field to an Option value (optional) - pub fn maybe_contributor(mut self, value: Option>) -> Self { + pub fn maybe_contributor( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -5932,12 +6309,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `correction` field (optional) - pub fn correction(mut self, value: impl Into>>) -> Self { + pub fn correction( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } /// Set the `correction` field to an Option value (optional) - pub fn maybe_correction(mut self, value: Option>) -> Self { + pub fn maybe_correction( + mut self, + value: Option>, + ) -> Self { self._fields.38 = value; self } @@ -5983,7 +6366,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `creator` field (optional) - pub fn creator(mut self, value: impl Into>>) -> Self { + pub fn creator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } @@ -6004,7 +6390,10 @@ impl SocialMediaPostingBuilder self } /// Set the `creditText` field to an Option value (optional) - pub fn maybe_credit_text(mut self, value: Option>) -> Self { + pub fn maybe_credit_text( + mut self, + value: Option>, + ) -> Self { self._fields.42 = value; self } @@ -6020,7 +6409,10 @@ impl SocialMediaPostingBuilder self } /// Set the `dateCreated` field to an Option value (optional) - pub fn maybe_date_created(mut self, value: Option>) -> Self { + pub fn maybe_date_created( + mut self, + value: Option>, + ) -> Self { self._fields.43 = value; self } @@ -6036,7 +6428,10 @@ impl SocialMediaPostingBuilder self } /// Set the `dateModified` field to an Option value (optional) - pub fn maybe_date_modified(mut self, value: Option>) -> Self { + pub fn maybe_date_modified( + mut self, + value: Option>, + ) -> Self { self._fields.44 = value; self } @@ -6071,7 +6466,10 @@ impl SocialMediaPostingBuilder self } /// Set the `description` field to an Option value (optional) - pub fn maybe_description(mut self, value: Option>) -> Self { + pub fn maybe_description( + mut self, + value: Option>, + ) -> Self { self._fields.46 = value; self } @@ -6136,12 +6534,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `editEIDR` field (optional) - pub fn edit_eidr(mut self, value: impl Into>>) -> Self { + pub fn edit_eidr( + mut self, + value: impl Into>>, + ) -> Self { self._fields.50 = value.into(); self } /// Set the `editEIDR` field to an Option value (optional) - pub fn maybe_edit_eidr(mut self, value: Option>) -> Self { + pub fn maybe_edit_eidr( + mut self, + value: Option>, + ) -> Self { self._fields.50 = value; self } @@ -6149,7 +6553,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `editor` field (optional) - pub fn editor(mut self, value: impl Into>>) -> Self { + pub fn editor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } @@ -6219,12 +6626,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `encoding` field (optional) - pub fn encoding(mut self, value: impl Into>>) -> Self { + pub fn encoding( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } /// Set the `encoding` field to an Option value (optional) - pub fn maybe_encoding(mut self, value: Option>) -> Self { + pub fn maybe_encoding( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -6251,12 +6664,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `encodings` field (optional) - pub fn encodings(mut self, value: impl Into>>) -> Self { + pub fn encodings( + mut self, + value: impl Into>>, + ) -> Self { self._fields.57 = value.into(); self } /// Set the `encodings` field to an Option value (optional) - pub fn maybe_encodings(mut self, value: Option>) -> Self { + pub fn maybe_encodings( + mut self, + value: Option>, + ) -> Self { self._fields.57 = value; self } @@ -6283,7 +6702,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `expires` field (optional) - pub fn expires(mut self, value: impl Into>>) -> Self { + pub fn expires( + mut self, + value: impl Into>>, + ) -> Self { self._fields.59 = value.into(); self } @@ -6304,7 +6726,10 @@ impl SocialMediaPostingBuilder self } /// Set the `fileFormat` field to an Option value (optional) - pub fn maybe_file_format(mut self, value: Option>) -> Self { + pub fn maybe_file_format( + mut self, + value: Option>, + ) -> Self { self._fields.60 = value; self } @@ -6312,7 +6737,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `funder` field (optional) - pub fn funder(mut self, value: impl Into>>) -> Self { + pub fn funder( + mut self, + value: impl Into>>, + ) -> Self { self._fields.61 = value.into(); self } @@ -6325,7 +6753,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `funding` field (optional) - pub fn funding(mut self, value: impl Into>>) -> Self { + pub fn funding( + mut self, + value: impl Into>>, + ) -> Self { self._fields.62 = value.into(); self } @@ -6338,7 +6769,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `genre` field (optional) - pub fn genre(mut self, value: impl Into>>) -> Self { + pub fn genre( + mut self, + value: impl Into>>, + ) -> Self { self._fields.63 = value.into(); self } @@ -6351,12 +6785,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `hasPart` field (optional) - pub fn has_part(mut self, value: impl Into>>) -> Self { + pub fn has_part( + mut self, + value: impl Into>>, + ) -> Self { self._fields.64 = value.into(); self } /// Set the `hasPart` field to an Option value (optional) - pub fn maybe_has_part(mut self, value: Option>) -> Self { + pub fn maybe_has_part( + mut self, + value: Option>, + ) -> Self { self._fields.64 = value; self } @@ -6364,12 +6804,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `headline` field (optional) - pub fn headline(mut self, value: impl Into>>) -> Self { + pub fn headline( + mut self, + value: impl Into>>, + ) -> Self { self._fields.65 = value.into(); self } /// Set the `headline` field to an Option value (optional) - pub fn maybe_headline(mut self, value: Option>) -> Self { + pub fn maybe_headline( + mut self, + value: Option>, + ) -> Self { self._fields.65 = value; self } @@ -6377,12 +6823,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.66 = value.into(); self } /// Set the `identifier` field to an Option value (optional) - pub fn maybe_identifier(mut self, value: Option>) -> Self { + pub fn maybe_identifier( + mut self, + value: Option>, + ) -> Self { self._fields.66 = value; self } @@ -6390,7 +6842,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `image` field (optional) - pub fn image(mut self, value: impl Into>>) -> Self { + pub fn image( + mut self, + value: impl Into>>, + ) -> Self { self._fields.67 = value.into(); self } @@ -6411,7 +6866,10 @@ impl SocialMediaPostingBuilder self } /// Set the `inLanguage` field to an Option value (optional) - pub fn maybe_in_language(mut self, value: Option>) -> Self { + pub fn maybe_in_language( + mut self, + value: Option>, + ) -> Self { self._fields.68 = value; self } @@ -6495,12 +6953,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `isBasedOn` field (optional) - pub fn is_based_on(mut self, value: impl Into>>) -> Self { + pub fn is_based_on( + mut self, + value: impl Into>>, + ) -> Self { self._fields.73 = value.into(); self } /// Set the `isBasedOn` field to an Option value (optional) - pub fn maybe_is_based_on(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on( + mut self, + value: Option>, + ) -> Self { self._fields.73 = value; self } @@ -6546,12 +7010,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `isPartOf` field (optional) - pub fn is_part_of(mut self, value: impl Into>>) -> Self { + pub fn is_part_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.76 = value.into(); self } /// Set the `isPartOf` field to an Option value (optional) - pub fn maybe_is_part_of(mut self, value: Option>) -> Self { + pub fn maybe_is_part_of( + mut self, + value: Option>, + ) -> Self { self._fields.76 = value; self } @@ -6559,12 +7029,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `keywords` field (optional) - pub fn keywords(mut self, value: impl Into>>) -> Self { + pub fn keywords( + mut self, + value: impl Into>>, + ) -> Self { self._fields.77 = value.into(); self } /// Set the `keywords` field to an Option value (optional) - pub fn maybe_keywords(mut self, value: Option>) -> Self { + pub fn maybe_keywords( + mut self, + value: Option>, + ) -> Self { self._fields.77 = value; self } @@ -6591,7 +7067,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `license` field (optional) - pub fn license(mut self, value: impl Into>>) -> Self { + pub fn license( + mut self, + value: impl Into>>, + ) -> Self { self._fields.79 = value.into(); self } @@ -6631,7 +7110,10 @@ impl SocialMediaPostingBuilder self } /// Set the `mainEntity` field to an Option value (optional) - pub fn maybe_main_entity(mut self, value: Option>) -> Self { + pub fn maybe_main_entity( + mut self, + value: Option>, + ) -> Self { self._fields.81 = value; self } @@ -6658,12 +7140,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `maintainer` field (optional) - pub fn maintainer(mut self, value: impl Into>>) -> Self { + pub fn maintainer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.83 = value.into(); self } /// Set the `maintainer` field to an Option value (optional) - pub fn maybe_maintainer(mut self, value: Option>) -> Self { + pub fn maybe_maintainer( + mut self, + value: Option>, + ) -> Self { self._fields.83 = value; self } @@ -6671,12 +7159,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `material` field (optional) - pub fn material(mut self, value: impl Into>>) -> Self { + pub fn material( + mut self, + value: impl Into>>, + ) -> Self { self._fields.84 = value.into(); self } /// Set the `material` field to an Option value (optional) - pub fn maybe_material(mut self, value: Option>) -> Self { + pub fn maybe_material( + mut self, + value: Option>, + ) -> Self { self._fields.84 = value; self } @@ -6703,12 +7197,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `mentions` field (optional) - pub fn mentions(mut self, value: impl Into>>) -> Self { + pub fn mentions( + mut self, + value: impl Into>>, + ) -> Self { self._fields.86 = value.into(); self } /// Set the `mentions` field to an Option value (optional) - pub fn maybe_mentions(mut self, value: Option>) -> Self { + pub fn maybe_mentions( + mut self, + value: Option>, + ) -> Self { self._fields.86 = value; self } @@ -6729,7 +7229,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `offers` field (optional) - pub fn offers(mut self, value: impl Into>>) -> Self { + pub fn offers( + mut self, + value: impl Into>>, + ) -> Self { self._fields.88 = value.into(); self } @@ -6742,12 +7245,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `pageEnd` field (optional) - pub fn page_end(mut self, value: impl Into>>) -> Self { + pub fn page_end( + mut self, + value: impl Into>>, + ) -> Self { self._fields.89 = value.into(); self } /// Set the `pageEnd` field to an Option value (optional) - pub fn maybe_page_end(mut self, value: Option>) -> Self { + pub fn maybe_page_end( + mut self, + value: Option>, + ) -> Self { self._fields.89 = value; self } @@ -6755,12 +7264,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `pageStart` field (optional) - pub fn page_start(mut self, value: impl Into>>) -> Self { + pub fn page_start( + mut self, + value: impl Into>>, + ) -> Self { self._fields.90 = value.into(); self } /// Set the `pageStart` field to an Option value (optional) - pub fn maybe_page_start(mut self, value: Option>) -> Self { + pub fn maybe_page_start( + mut self, + value: Option>, + ) -> Self { self._fields.90 = value; self } @@ -6768,12 +7283,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `pagination` field (optional) - pub fn pagination(mut self, value: impl Into>>) -> Self { + pub fn pagination( + mut self, + value: impl Into>>, + ) -> Self { self._fields.91 = value.into(); self } /// Set the `pagination` field to an Option value (optional) - pub fn maybe_pagination(mut self, value: Option>) -> Self { + pub fn maybe_pagination( + mut self, + value: Option>, + ) -> Self { self._fields.91 = value; self } @@ -6781,7 +7302,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `pattern` field (optional) - pub fn pattern(mut self, value: impl Into>>) -> Self { + pub fn pattern( + mut self, + value: impl Into>>, + ) -> Self { self._fields.92 = value.into(); self } @@ -6794,12 +7318,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `position` field (optional) - pub fn position(mut self, value: impl Into>>) -> Self { + pub fn position( + mut self, + value: impl Into>>, + ) -> Self { self._fields.93 = value.into(); self } /// Set the `position` field to an Option value (optional) - pub fn maybe_position(mut self, value: Option>) -> Self { + pub fn maybe_position( + mut self, + value: Option>, + ) -> Self { self._fields.93 = value; self } @@ -6826,12 +7356,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `producer` field (optional) - pub fn producer(mut self, value: impl Into>>) -> Self { + pub fn producer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.95 = value.into(); self } /// Set the `producer` field to an Option value (optional) - pub fn maybe_producer(mut self, value: Option>) -> Self { + pub fn maybe_producer( + mut self, + value: Option>, + ) -> Self { self._fields.95 = value; self } @@ -6839,12 +7375,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `provider` field (optional) - pub fn provider(mut self, value: impl Into>>) -> Self { + pub fn provider( + mut self, + value: impl Into>>, + ) -> Self { self._fields.96 = value.into(); self } /// Set the `provider` field to an Option value (optional) - pub fn maybe_provider(mut self, value: Option>) -> Self { + pub fn maybe_provider( + mut self, + value: Option>, + ) -> Self { self._fields.96 = value; self } @@ -6860,7 +7402,10 @@ impl SocialMediaPostingBuilder self } /// Set the `publication` field to an Option value (optional) - pub fn maybe_publication(mut self, value: Option>) -> Self { + pub fn maybe_publication( + mut self, + value: Option>, + ) -> Self { self._fields.97 = value; self } @@ -6868,12 +7413,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `publisher` field (optional) - pub fn publisher(mut self, value: impl Into>>) -> Self { + pub fn publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.98 = value.into(); self } /// Set the `publisher` field to an Option value (optional) - pub fn maybe_publisher(mut self, value: Option>) -> Self { + pub fn maybe_publisher( + mut self, + value: Option>, + ) -> Self { self._fields.98 = value; self } @@ -6927,7 +7478,10 @@ impl SocialMediaPostingBuilder self } /// Set the `recordedAt` field to an Option value (optional) - pub fn maybe_recorded_at(mut self, value: Option>) -> Self { + pub fn maybe_recorded_at( + mut self, + value: Option>, + ) -> Self { self._fields.101 = value; self } @@ -6954,7 +7508,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `review` field (optional) - pub fn review(mut self, value: impl Into>>) -> Self { + pub fn review( + mut self, + value: impl Into>>, + ) -> Self { self._fields.103 = value.into(); self } @@ -6967,7 +7524,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `reviews` field (optional) - pub fn reviews(mut self, value: impl Into>>) -> Self { + pub fn reviews( + mut self, + value: impl Into>>, + ) -> Self { self._fields.104 = value.into(); self } @@ -6980,7 +7540,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `sameAs` field (optional) - pub fn same_as(mut self, value: impl Into>>) -> Self { + pub fn same_as( + mut self, + value: impl Into>>, + ) -> Self { self._fields.105 = value.into(); self } @@ -7031,12 +7594,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `sdLicense` field (optional) - pub fn sd_license(mut self, value: impl Into>>) -> Self { + pub fn sd_license( + mut self, + value: impl Into>>, + ) -> Self { self._fields.108 = value.into(); self } /// Set the `sdLicense` field to an Option value (optional) - pub fn maybe_sd_license(mut self, value: Option>) -> Self { + pub fn maybe_sd_license( + mut self, + value: Option>, + ) -> Self { self._fields.108 = value; self } @@ -7052,7 +7621,10 @@ impl SocialMediaPostingBuilder self } /// Set the `sdPublisher` field to an Option value (optional) - pub fn maybe_sd_publisher(mut self, value: Option>) -> Self { + pub fn maybe_sd_publisher( + mut self, + value: Option>, + ) -> Self { self._fields.109 = value; self } @@ -7111,7 +7683,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `spatial` field (optional) - pub fn spatial(mut self, value: impl Into>>) -> Self { + pub fn spatial( + mut self, + value: impl Into>>, + ) -> Self { self._fields.113 = value.into(); self } @@ -7143,12 +7718,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `speakable` field (optional) - pub fn speakable(mut self, value: impl Into>>) -> Self { + pub fn speakable( + mut self, + value: impl Into>>, + ) -> Self { self._fields.115 = value.into(); self } /// Set the `speakable` field to an Option value (optional) - pub fn maybe_speakable(mut self, value: Option>) -> Self { + pub fn maybe_speakable( + mut self, + value: Option>, + ) -> Self { self._fields.115 = value; self } @@ -7156,7 +7737,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `sponsor` field (optional) - pub fn sponsor(mut self, value: impl Into>>) -> Self { + pub fn sponsor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.116 = value.into(); self } @@ -7169,12 +7753,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.117 = value.into(); self } /// Set the `subjectOf` field to an Option value (optional) - pub fn maybe_subject_of(mut self, value: Option>) -> Self { + pub fn maybe_subject_of( + mut self, + value: Option>, + ) -> Self { self._fields.117 = value; self } @@ -7182,7 +7772,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `teaches` field (optional) - pub fn teaches(mut self, value: impl Into>>) -> Self { + pub fn teaches( + mut self, + value: impl Into>>, + ) -> Self { self._fields.118 = value.into(); self } @@ -7195,12 +7788,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `temporal` field (optional) - pub fn temporal(mut self, value: impl Into>>) -> Self { + pub fn temporal( + mut self, + value: impl Into>>, + ) -> Self { self._fields.119 = value.into(); self } /// Set the `temporal` field to an Option value (optional) - pub fn maybe_temporal(mut self, value: Option>) -> Self { + pub fn maybe_temporal( + mut self, + value: Option>, + ) -> Self { self._fields.119 = value; self } @@ -7240,12 +7839,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `thumbnail` field (optional) - pub fn thumbnail(mut self, value: impl Into>>) -> Self { + pub fn thumbnail( + mut self, + value: impl Into>>, + ) -> Self { self._fields.122 = value.into(); self } /// Set the `thumbnail` field to an Option value (optional) - pub fn maybe_thumbnail(mut self, value: Option>) -> Self { + pub fn maybe_thumbnail( + mut self, + value: Option>, + ) -> Self { self._fields.122 = value; self } @@ -7261,7 +7866,10 @@ impl SocialMediaPostingBuilder self } /// Set the `thumbnailUrl` field to an Option value (optional) - pub fn maybe_thumbnail_url(mut self, value: Option>) -> Self { + pub fn maybe_thumbnail_url( + mut self, + value: Option>, + ) -> Self { self._fields.123 = value; self } @@ -7277,7 +7885,10 @@ impl SocialMediaPostingBuilder self } /// Set the `timeRequired` field to an Option value (optional) - pub fn maybe_time_required(mut self, value: Option>) -> Self { + pub fn maybe_time_required( + mut self, + value: Option>, + ) -> Self { self._fields.124 = value; self } @@ -7304,12 +7915,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `translator` field (optional) - pub fn translator(mut self, value: impl Into>>) -> Self { + pub fn translator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.126 = value.into(); self } /// Set the `translator` field to an Option value (optional) - pub fn maybe_translator(mut self, value: Option>) -> Self { + pub fn maybe_translator( + mut self, + value: Option>, + ) -> Self { self._fields.126 = value; self } @@ -7349,12 +7966,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `usageInfo` field (optional) - pub fn usage_info(mut self, value: impl Into>>) -> Self { + pub fn usage_info( + mut self, + value: impl Into>>, + ) -> Self { self._fields.129 = value.into(); self } /// Set the `usageInfo` field to an Option value (optional) - pub fn maybe_usage_info(mut self, value: Option>) -> Self { + pub fn maybe_usage_info( + mut self, + value: Option>, + ) -> Self { self._fields.129 = value; self } @@ -7362,7 +7985,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `version` field (optional) - pub fn version(mut self, value: impl Into>>) -> Self { + pub fn version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.130 = value.into(); self } @@ -7375,7 +8001,10 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `video` field (optional) - pub fn video(mut self, value: impl Into>>) -> Self { + pub fn video( + mut self, + value: impl Into>>, + ) -> Self { self._fields.131 = value.into(); self } @@ -7388,12 +8017,18 @@ impl SocialMediaPostingBuilder impl SocialMediaPostingBuilder { /// Set the `wordCount` field (optional) - pub fn word_count(mut self, value: impl Into>>) -> Self { + pub fn word_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.132 = value.into(); self } /// Set the `wordCount` field to an Option value (optional) - pub fn maybe_word_count(mut self, value: Option>) -> Self { + pub fn maybe_word_count( + mut self, + value: Option>, + ) -> Self { self._fields.132 = value; self } @@ -7409,7 +8044,10 @@ impl SocialMediaPostingBuilder self } /// Set the `workExample` field to an Option value (optional) - pub fn maybe_work_example(mut self, value: Option>) -> Self { + pub fn maybe_work_example( + mut self, + value: Option>, + ) -> Self { self._fields.133 = value; self } @@ -7580,7 +8218,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SocialMediaPosting { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SocialMediaPosting { SocialMediaPosting { about: self._fields.0, r#abstract: self._fields.1, @@ -7720,4 +8361,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/store.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/store.rs index 9d2ff90fd..f9c3979ea 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/store.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/store.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::article; use crate::social_flockfeeds::lexical::r#type::brand; use crate::social_flockfeeds::lexical::r#type::event; @@ -32,16 +35,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A retail good store. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub accepted_payment_method: Option>, @@ -276,7 +273,9 @@ pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub smoking_allowed: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub special_opening_hours_specification: Option>, + pub special_opening_hours_specification: Option< + EmbeddedSpecialOpeningHoursSpecification, + >, #[serde(skip_serializing_if = "Option::is_none")] pub sponsor: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -299,6 +298,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -347,6 +347,7 @@ pub enum EmbeddedAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -380,6 +381,7 @@ pub enum EmbeddedBranchOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -390,6 +392,7 @@ pub enum EmbeddedBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -438,6 +441,7 @@ pub enum EmbeddedDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -466,6 +470,7 @@ pub enum EmbeddedDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -484,6 +489,7 @@ pub enum EmbeddedEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -492,6 +498,7 @@ pub enum EmbeddedEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -505,6 +512,7 @@ pub enum EmbeddedEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -513,6 +521,7 @@ pub enum EmbeddedEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -528,6 +537,7 @@ pub enum EmbeddedFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -536,6 +546,7 @@ pub enum EmbeddedFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -556,6 +567,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -689,6 +701,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -747,6 +760,7 @@ pub enum EmbeddedLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -765,6 +779,7 @@ pub enum EmbeddedLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -783,6 +798,7 @@ pub enum EmbeddedMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -808,6 +824,7 @@ pub enum EmbeddedMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -816,6 +833,7 @@ pub enum EmbeddedMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -826,6 +844,7 @@ pub enum EmbeddedMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -869,6 +888,7 @@ pub enum EmbeddedOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -877,6 +897,7 @@ pub enum EmbeddedParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -890,6 +911,7 @@ pub enum EmbeddedPhoto { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -898,6 +920,7 @@ pub enum EmbeddedPhotos { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -973,6 +996,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -981,6 +1005,7 @@ pub enum EmbeddedSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -989,6 +1014,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1260,7 +1286,9 @@ pub struct Store { #[serde(skip_serializing_if = "Option::is_none")] pub smoking_allowed: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub special_opening_hours_specification: Option>, + pub special_opening_hours_specification: Option< + StoreSpecialOpeningHoursSpecification, + >, #[serde(skip_serializing_if = "Option::is_none")] pub sponsor: Option>, #[serde(skip_serializing_if = "Option::is_none")] @@ -1283,6 +1311,7 @@ pub struct Store { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1331,6 +1360,7 @@ pub enum StoreAlumni { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1364,6 +1394,7 @@ pub enum StoreBranchOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1374,6 +1405,7 @@ pub enum StoreBrand { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1422,6 +1454,7 @@ pub enum StoreDepartment { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1450,6 +1483,7 @@ pub enum StoreDiversityStaffingReport { ArticleEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1468,6 +1502,7 @@ pub enum StoreEmployee { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1476,6 +1511,7 @@ pub enum StoreEmployees { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1489,6 +1525,7 @@ pub enum StoreEvent { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1497,6 +1534,7 @@ pub enum StoreEvents { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1512,6 +1550,7 @@ pub enum StoreFounder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1520,6 +1559,7 @@ pub enum StoreFounders { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1540,6 +1580,7 @@ pub enum StoreFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1673,6 +1714,7 @@ pub enum StoreImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1731,6 +1773,7 @@ pub enum StoreLegalRepresentative { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1749,6 +1792,7 @@ pub enum StoreLogo { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1767,6 +1811,7 @@ pub enum StoreMakesOffer { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1792,6 +1837,7 @@ pub enum StoreMember { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1800,6 +1846,7 @@ pub enum StoreMemberOf { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1810,6 +1857,7 @@ pub enum StoreMembers { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1853,6 +1901,7 @@ pub enum StoreOwns { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1861,6 +1910,7 @@ pub enum StoreParentOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1874,6 +1924,7 @@ pub enum StorePhoto { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1882,6 +1933,7 @@ pub enum StorePhotos { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1957,6 +2009,7 @@ pub enum StoreSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1965,6 +2018,7 @@ pub enum StoreSubOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1973,6 +2027,7 @@ pub enum StoreSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2077,10 +2132,10 @@ impl LexiconSchema for Store { } fn lexicon_doc_social_flockfeeds_lexical_type_Store() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.Store"), @@ -4750,7 +4805,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_Store() -> LexiconDoc<'static> { pub mod store_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4921,15 +4976,132 @@ impl StoreBuilder { StoreBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -4942,15 +5114,132 @@ impl StoreBuilder { StoreBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5005,7 +5294,10 @@ impl StoreBuilder { self } /// Set the `additionalProperty` field to an Option value (optional) - pub fn maybe_additional_property(mut self, value: Option>) -> Self { + pub fn maybe_additional_property( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -5013,12 +5305,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -5058,12 +5356,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `aggregateRating` field (optional) - pub fn aggregate_rating(mut self, value: impl Into>>) -> Self { + pub fn aggregate_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -5071,7 +5375,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.7 = value.into(); self } @@ -5097,12 +5404,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `amenityFeature` field (optional) - pub fn amenity_feature(mut self, value: impl Into>>) -> Self { + pub fn amenity_feature( + mut self, + value: impl Into>>, + ) -> Self { self._fields.9 = value.into(); self } /// Set the `amenityFeature` field to an Option value (optional) - pub fn maybe_amenity_feature(mut self, value: Option>) -> Self { + pub fn maybe_amenity_feature( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5207,7 +5520,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `contactPoint` field (optional) - pub fn contact_point(mut self, value: impl Into>>) -> Self { + pub fn contact_point( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } @@ -5220,7 +5536,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `contactPoints` field (optional) - pub fn contact_points(mut self, value: impl Into>>) -> Self { + pub fn contact_points( + mut self, + value: impl Into>>, + ) -> Self { self._fields.18 = value.into(); self } @@ -5233,7 +5552,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `containedIn` field (optional) - pub fn contained_in(mut self, value: impl Into>>) -> Self { + pub fn contained_in( + mut self, + value: impl Into>>, + ) -> Self { self._fields.19 = value.into(); self } @@ -5254,7 +5576,10 @@ impl StoreBuilder { self } /// Set the `containedInPlace` field to an Option value (optional) - pub fn maybe_contained_in_place(mut self, value: Option>) -> Self { + pub fn maybe_contained_in_place( + mut self, + value: Option>, + ) -> Self { self._fields.20 = value; self } @@ -5262,7 +5587,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `containsPlace` field (optional) - pub fn contains_place(mut self, value: impl Into>>) -> Self { + pub fn contains_place( + mut self, + value: impl Into>>, + ) -> Self { self._fields.21 = value.into(); self } @@ -5283,7 +5611,10 @@ impl StoreBuilder { self } /// Set the `correctionsPolicy` field to an Option value (optional) - pub fn maybe_corrections_policy(mut self, value: Option>) -> Self { + pub fn maybe_corrections_policy( + mut self, + value: Option>, + ) -> Self { self._fields.22 = value; self } @@ -5299,7 +5630,10 @@ impl StoreBuilder { self } /// Set the `currenciesAccepted` field to an Option value (optional) - pub fn maybe_currencies_accepted(mut self, value: Option>) -> Self { + pub fn maybe_currencies_accepted( + mut self, + value: Option>, + ) -> Self { self._fields.23 = value; self } @@ -5352,12 +5686,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `dissolutionDate` field (optional) - pub fn dissolution_date(mut self, value: impl Into>>) -> Self { + pub fn dissolution_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.27 = value.into(); self } /// Set the `dissolutionDate` field to an Option value (optional) - pub fn maybe_dissolution_date(mut self, value: Option>) -> Self { + pub fn maybe_dissolution_date( + mut self, + value: Option>, + ) -> Self { self._fields.27 = value; self } @@ -5365,12 +5705,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `diversityPolicy` field (optional) - pub fn diversity_policy(mut self, value: impl Into>>) -> Self { + pub fn diversity_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } /// Set the `diversityPolicy` field to an Option value (optional) - pub fn maybe_diversity_policy(mut self, value: Option>) -> Self { + pub fn maybe_diversity_policy( + mut self, + value: Option>, + ) -> Self { self._fields.28 = value; self } @@ -5449,7 +5795,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `ethicsPolicy` field (optional) - pub fn ethics_policy(mut self, value: impl Into>>) -> Self { + pub fn ethics_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } @@ -5527,7 +5876,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `foundingDate` field (optional) - pub fn founding_date(mut self, value: impl Into>>) -> Self { + pub fn founding_date( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } @@ -5540,12 +5892,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `foundingLocation` field (optional) - pub fn founding_location(mut self, value: impl Into>>) -> Self { + pub fn founding_location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } /// Set the `foundingLocation` field to an Option value (optional) - pub fn maybe_founding_location(mut self, value: Option>) -> Self { + pub fn maybe_founding_location( + mut self, + value: Option>, + ) -> Self { self._fields.41 = value; self } @@ -5592,7 +5950,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `geoContains` field (optional) - pub fn geo_contains(mut self, value: impl Into>>) -> Self { + pub fn geo_contains( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } @@ -5605,7 +5966,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `geoCoveredBy` field (optional) - pub fn geo_covered_by(mut self, value: impl Into>>) -> Self { + pub fn geo_covered_by( + mut self, + value: impl Into>>, + ) -> Self { self._fields.46 = value.into(); self } @@ -5644,7 +6008,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `geoDisjoint` field (optional) - pub fn geo_disjoint(mut self, value: impl Into>>) -> Self { + pub fn geo_disjoint( + mut self, + value: impl Into>>, + ) -> Self { self._fields.49 = value.into(); self } @@ -5670,7 +6037,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `geoIntersects` field (optional) - pub fn geo_intersects(mut self, value: impl Into>>) -> Self { + pub fn geo_intersects( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } @@ -5683,7 +6053,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `geoOverlaps` field (optional) - pub fn geo_overlaps(mut self, value: impl Into>>) -> Self { + pub fn geo_overlaps( + mut self, + value: impl Into>>, + ) -> Self { self._fields.52 = value.into(); self } @@ -5741,12 +6114,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `hasCertification` field (optional) - pub fn has_certification(mut self, value: impl Into>>) -> Self { + pub fn has_certification( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } /// Set the `hasCertification` field to an Option value (optional) - pub fn maybe_has_certification(mut self, value: Option>) -> Self { + pub fn maybe_has_certification( + mut self, + value: Option>, + ) -> Self { self._fields.56 = value; self } @@ -5754,7 +6133,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `hasCredential` field (optional) - pub fn has_credential(mut self, value: impl Into>>) -> Self { + pub fn has_credential( + mut self, + value: impl Into>>, + ) -> Self { self._fields.57 = value.into(); self } @@ -5794,7 +6176,10 @@ impl StoreBuilder { self } /// Set the `hasGS1DigitalLink` field to an Option value (optional) - pub fn maybe_has_gs1_digital_link(mut self, value: Option>) -> Self { + pub fn maybe_has_gs1_digital_link( + mut self, + value: Option>, + ) -> Self { self._fields.59 = value; self } @@ -5823,7 +6208,10 @@ impl StoreBuilder { self } /// Set the `hasMemberProgram` field to an Option value (optional) - pub fn maybe_has_member_program(mut self, value: Option>) -> Self { + pub fn maybe_has_member_program( + mut self, + value: Option>, + ) -> Self { self._fields.61 = value; self } @@ -5850,12 +6238,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `hasOfferCatalog` field (optional) - pub fn has_offer_catalog(mut self, value: impl Into>>) -> Self { + pub fn has_offer_catalog( + mut self, + value: impl Into>>, + ) -> Self { self._fields.63 = value.into(); self } /// Set the `hasOfferCatalog` field to an Option value (optional) - pub fn maybe_has_offer_catalog(mut self, value: Option>) -> Self { + pub fn maybe_has_offer_catalog( + mut self, + value: Option>, + ) -> Self { self._fields.63 = value; self } @@ -5903,7 +6297,10 @@ impl StoreBuilder { self } /// Set the `hasShippingService` field to an Option value (optional) - pub fn maybe_has_shipping_service(mut self, value: Option>) -> Self { + pub fn maybe_has_shipping_service( + mut self, + value: Option>, + ) -> Self { self._fields.66 = value; self } @@ -5988,7 +6385,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `iso6523Code` field (optional) - pub fn iso6523_code(mut self, value: impl Into>>) -> Self { + pub fn iso6523_code( + mut self, + value: impl Into>>, + ) -> Self { self._fields.72 = value.into(); self } @@ -6027,7 +6427,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `knowsLanguage` field (optional) - pub fn knows_language(mut self, value: impl Into>>) -> Self { + pub fn knows_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.75 = value.into(); self } @@ -6053,7 +6456,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `legalAddress` field (optional) - pub fn legal_address(mut self, value: impl Into>>) -> Self { + pub fn legal_address( + mut self, + value: impl Into>>, + ) -> Self { self._fields.77 = value.into(); self } @@ -6158,7 +6564,10 @@ impl StoreBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.84 = value; self } @@ -6289,12 +6698,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `nonprofitStatus` field (optional) - pub fn nonprofit_status(mut self, value: impl Into>>) -> Self { + pub fn nonprofit_status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.94 = value.into(); self } /// Set the `nonprofitStatus` field to an Option value (optional) - pub fn maybe_nonprofit_status(mut self, value: Option>) -> Self { + pub fn maybe_nonprofit_status( + mut self, + value: Option>, + ) -> Self { self._fields.94 = value; self } @@ -6310,7 +6725,10 @@ impl StoreBuilder { self } /// Set the `numberOfEmployees` field to an Option value (optional) - pub fn maybe_number_of_employees(mut self, value: Option>) -> Self { + pub fn maybe_number_of_employees( + mut self, + value: Option>, + ) -> Self { self._fields.95 = value; self } @@ -6318,7 +6736,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `openingHours` field (optional) - pub fn opening_hours(mut self, value: impl Into>>) -> Self { + pub fn opening_hours( + mut self, + value: impl Into>>, + ) -> Self { self._fields.96 = value.into(); self } @@ -6390,7 +6811,10 @@ impl StoreBuilder { self } /// Set the `parentOrganization` field to an Option value (optional) - pub fn maybe_parent_organization(mut self, value: Option>) -> Self { + pub fn maybe_parent_organization( + mut self, + value: Option>, + ) -> Self { self._fields.100 = value; self } @@ -6398,12 +6822,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `paymentAccepted` field (optional) - pub fn payment_accepted(mut self, value: impl Into>>) -> Self { + pub fn payment_accepted( + mut self, + value: impl Into>>, + ) -> Self { self._fields.101 = value.into(); self } /// Set the `paymentAccepted` field to an Option value (optional) - pub fn maybe_payment_accepted(mut self, value: Option>) -> Self { + pub fn maybe_payment_accepted( + mut self, + value: Option>, + ) -> Self { self._fields.101 = value; self } @@ -6437,12 +6867,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.104 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.104 = value; self } @@ -6463,7 +6899,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `publicAccess` field (optional) - pub fn public_access(mut self, value: impl Into>>) -> Self { + pub fn public_access( + mut self, + value: impl Into>>, + ) -> Self { self._fields.106 = value.into(); self } @@ -6547,7 +6986,10 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `serviceArea` field (optional) - pub fn service_area(mut self, value: impl Into>>) -> Self { + pub fn service_area( + mut self, + value: impl Into>>, + ) -> Self { self._fields.112 = value.into(); self } @@ -6586,12 +7028,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `smokingAllowed` field (optional) - pub fn smoking_allowed(mut self, value: impl Into>>) -> Self { + pub fn smoking_allowed( + mut self, + value: impl Into>>, + ) -> Self { self._fields.115 = value.into(); self } /// Set the `smokingAllowed` field to an Option value (optional) - pub fn maybe_smoking_allowed(mut self, value: Option>) -> Self { + pub fn maybe_smoking_allowed( + mut self, + value: Option>, + ) -> Self { self._fields.115 = value; self } @@ -6631,12 +7079,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `subOrganization` field (optional) - pub fn sub_organization(mut self, value: impl Into>>) -> Self { + pub fn sub_organization( + mut self, + value: impl Into>>, + ) -> Self { self._fields.118 = value.into(); self } /// Set the `subOrganization` field to an Option value (optional) - pub fn maybe_sub_organization(mut self, value: Option>) -> Self { + pub fn maybe_sub_organization( + mut self, + value: Option>, + ) -> Self { self._fields.118 = value; self } @@ -6683,12 +7137,18 @@ impl StoreBuilder { impl StoreBuilder { /// Set the `tourBookingPage` field (optional) - pub fn tour_booking_page(mut self, value: impl Into>>) -> Self { + pub fn tour_booking_page( + mut self, + value: impl Into>>, + ) -> Self { self._fields.122 = value.into(); self } /// Set the `tourBookingPage` field to an Option value (optional) - pub fn maybe_tour_booking_page(mut self, value: Option>) -> Self { + pub fn maybe_tour_booking_page( + mut self, + value: Option>, + ) -> Self { self._fields.122 = value; self } @@ -7007,4 +7467,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_episode.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_episode.rs index 51b00207d..418c7dba7 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_episode.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_episode.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::music_group; @@ -32,16 +35,10 @@ use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; use crate::social_flockfeeds::lexical::r#type::tv_series; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A TV episode which can be part of a series or season. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -329,6 +326,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -382,6 +380,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -395,6 +394,7 @@ pub enum EmbeddedActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -403,6 +403,7 @@ pub enum EmbeddedActors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -458,6 +459,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -476,6 +478,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -521,6 +524,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -531,6 +535,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -566,6 +571,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -604,6 +610,7 @@ pub enum EmbeddedDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -612,6 +619,7 @@ pub enum EmbeddedDirectors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -640,6 +648,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -700,6 +709,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -733,6 +743,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -766,6 +777,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -774,6 +786,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -824,6 +837,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -832,6 +846,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -852,6 +867,7 @@ pub enum EmbeddedMusicBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -865,6 +881,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -883,6 +900,7 @@ pub enum EmbeddedPartOfTvSeries { TvSeriesEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -908,6 +926,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -916,6 +935,7 @@ pub enum EmbeddedProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -926,6 +946,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -941,6 +962,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -949,6 +971,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -962,6 +985,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1007,6 +1031,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1020,6 +1045,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1040,6 +1066,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1048,6 +1075,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1081,6 +1109,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1116,6 +1145,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1450,6 +1480,7 @@ pub struct TvEpisode { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1503,6 +1534,7 @@ pub enum TvEpisodeAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1516,6 +1548,7 @@ pub enum TvEpisodeActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1524,6 +1557,7 @@ pub enum TvEpisodeActors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1579,6 +1613,7 @@ pub enum TvEpisodeAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1597,6 +1632,7 @@ pub enum TvEpisodeCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1642,6 +1678,7 @@ pub enum TvEpisodeContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1652,6 +1689,7 @@ pub enum TvEpisodeCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1687,6 +1725,7 @@ pub enum TvEpisodeCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1725,6 +1764,7 @@ pub enum TvEpisodeDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1733,6 +1773,7 @@ pub enum TvEpisodeDirectors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1761,6 +1802,7 @@ pub enum TvEpisodeEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1821,6 +1863,7 @@ pub enum TvEpisodeFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1854,6 +1897,7 @@ pub enum TvEpisodeImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1887,6 +1931,7 @@ pub enum TvEpisodeIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1895,6 +1940,7 @@ pub enum TvEpisodeIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1945,6 +1991,7 @@ pub enum TvEpisodeMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1953,6 +2000,7 @@ pub enum TvEpisodeMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1973,6 +2021,7 @@ pub enum TvEpisodeMusicBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1986,6 +2035,7 @@ pub enum TvEpisodeOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2004,6 +2054,7 @@ pub enum TvEpisodePartOfTvSeries { TvSeriesEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2029,6 +2080,7 @@ pub enum TvEpisodeProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2037,6 +2089,7 @@ pub enum TvEpisodeProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2047,6 +2100,7 @@ pub enum TvEpisodeProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2062,6 +2116,7 @@ pub enum TvEpisodePublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2070,6 +2125,7 @@ pub enum TvEpisodePublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2083,6 +2139,7 @@ pub enum TvEpisodeRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2128,6 +2185,7 @@ pub enum TvEpisodeSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2141,6 +2199,7 @@ pub enum TvEpisodeSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2161,6 +2220,7 @@ pub enum TvEpisodeSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2169,6 +2229,7 @@ pub enum TvEpisodeSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2202,6 +2263,7 @@ pub enum TvEpisodeThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2237,6 +2299,7 @@ pub enum TvEpisodeTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2351,10 +2414,10 @@ impl LexiconSchema for TvEpisode { } fn lexicon_doc_social_flockfeeds_lexical_type_TVEpisode() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.TVEpisode"), @@ -5332,7 +5395,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_TVEpisode() -> LexiconDoc<'static> pub mod tv_episode_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5518,16 +5581,146 @@ impl TvEpisodeBuilder { TvEpisodeBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -5541,58 +5734,191 @@ impl TvEpisodeBuilder { TvEpisodeBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, - ), - _type: PhantomData, - } - } -} - -impl TvEpisodeBuilder { - /// Set the `about` field (optional) - pub fn about(mut self, value: impl Into>>) -> Self { - self._fields.0 = value.into(); - self - } - /// Set the `about` field to an Option value (optional) - pub fn maybe_about(mut self, value: Option>) -> Self { - self._fields.0 = value; - self - } -} - -impl TvEpisodeBuilder { - /// Set the `abstract` field (optional) - pub fn r#abstract(mut self, value: impl Into>>) -> Self { - self._fields.1 = value.into(); - self - } - /// Set the `abstract` field to an Option value (optional) - pub fn maybe_abstract(mut self, value: Option>) -> Self { - self._fields.1 = value; - self - } -} - -impl TvEpisodeBuilder { - /// Set the `accessMode` field (optional) - pub fn access_mode(mut self, value: impl Into>>) -> Self { - self._fields.2 = value.into(); - self - } - /// Set the `accessMode` field to an Option value (optional) - pub fn maybe_access_mode(mut self, value: Option>) -> Self { - self._fields.2 = value; + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + ), + _type: PhantomData, + } + } +} + +impl TvEpisodeBuilder { + /// Set the `about` field (optional) + pub fn about(mut self, value: impl Into>>) -> Self { + self._fields.0 = value.into(); + self + } + /// Set the `about` field to an Option value (optional) + pub fn maybe_about(mut self, value: Option>) -> Self { + self._fields.0 = value; + self + } +} + +impl TvEpisodeBuilder { + /// Set the `abstract` field (optional) + pub fn r#abstract(mut self, value: impl Into>>) -> Self { + self._fields.1 = value.into(); + self + } + /// Set the `abstract` field to an Option value (optional) + pub fn maybe_abstract(mut self, value: Option>) -> Self { + self._fields.1 = value; + self + } +} + +impl TvEpisodeBuilder { + /// Set the `accessMode` field (optional) + pub fn access_mode( + mut self, + value: impl Into>>, + ) -> Self { + self._fields.2 = value.into(); + self + } + /// Set the `accessMode` field to an Option value (optional) + pub fn maybe_access_mode(mut self, value: Option>) -> Self { + self._fields.2 = value; self } } @@ -5626,7 +5952,10 @@ impl TvEpisodeBuilder { self } /// Set the `accessibilityAPI` field to an Option value (optional) - pub fn maybe_accessibility_api(mut self, value: Option>) -> Self { + pub fn maybe_accessibility_api( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -5774,12 +6103,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -5795,7 +6130,10 @@ impl TvEpisodeBuilder { self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -5803,12 +6141,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.15 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.15 = value; self } @@ -5835,7 +6179,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `archivedAt` field (optional) - pub fn archived_at(mut self, value: impl Into>>) -> Self { + pub fn archived_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } @@ -5869,7 +6216,10 @@ impl TvEpisodeBuilder { self } /// Set the `associatedMedia` field to an Option value (optional) - pub fn maybe_associated_media(mut self, value: Option>) -> Self { + pub fn maybe_associated_media( + mut self, + value: Option>, + ) -> Self { self._fields.19 = value; self } @@ -5981,12 +6331,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } /// Set the `commentCount` field to an Option value (optional) - pub fn maybe_comment_count(mut self, value: Option>) -> Self { + pub fn maybe_comment_count( + mut self, + value: Option>, + ) -> Self { self._fields.28 = value; self } @@ -6021,7 +6377,10 @@ impl TvEpisodeBuilder { self } /// Set the `contentLocation` field to an Option value (optional) - pub fn maybe_content_location(mut self, value: Option>) -> Self { + pub fn maybe_content_location( + mut self, + value: Option>, + ) -> Self { self._fields.30 = value; self } @@ -6029,12 +6388,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `contentRating` field (optional) - pub fn content_rating(mut self, value: impl Into>>) -> Self { + pub fn content_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.31 = value.into(); self } /// Set the `contentRating` field to an Option value (optional) - pub fn maybe_content_rating(mut self, value: Option>) -> Self { + pub fn maybe_content_rating( + mut self, + value: Option>, + ) -> Self { self._fields.31 = value; self } @@ -6061,7 +6426,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.33 = value.into(); self } @@ -6082,7 +6450,10 @@ impl TvEpisodeBuilder { self } /// Set the `copyrightHolder` field to an Option value (optional) - pub fn maybe_copyright_holder(mut self, value: Option>) -> Self { + pub fn maybe_copyright_holder( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -6098,7 +6469,10 @@ impl TvEpisodeBuilder { self } /// Set the `copyrightNotice` field to an Option value (optional) - pub fn maybe_copyright_notice(mut self, value: Option>) -> Self { + pub fn maybe_copyright_notice( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -6106,12 +6480,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `copyrightYear` field (optional) - pub fn copyright_year(mut self, value: impl Into>>) -> Self { + pub fn copyright_year( + mut self, + value: impl Into>>, + ) -> Self { self._fields.36 = value.into(); self } /// Set the `copyrightYear` field to an Option value (optional) - pub fn maybe_copyright_year(mut self, value: Option>) -> Self { + pub fn maybe_copyright_year( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -6119,7 +6499,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `correction` field (optional) - pub fn correction(mut self, value: impl Into>>) -> Self { + pub fn correction( + mut self, + value: impl Into>>, + ) -> Self { self._fields.37 = value.into(); self } @@ -6140,7 +6523,10 @@ impl TvEpisodeBuilder { self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.38 = value; self } @@ -6180,7 +6566,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `creditText` field (optional) - pub fn credit_text(mut self, value: impl Into>>) -> Self { + pub fn credit_text( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } @@ -6193,7 +6582,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } @@ -6206,12 +6598,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.43 = value.into(); self } /// Set the `dateModified` field to an Option value (optional) - pub fn maybe_date_modified(mut self, value: Option>) -> Self { + pub fn maybe_date_modified( + mut self, + value: Option>, + ) -> Self { self._fields.43 = value; self } @@ -6219,12 +6617,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `datePublished` field (optional) - pub fn date_published(mut self, value: impl Into>>) -> Self { + pub fn date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } /// Set the `datePublished` field to an Option value (optional) - pub fn maybe_date_published(mut self, value: Option>) -> Self { + pub fn maybe_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.44 = value; self } @@ -6232,7 +6636,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } @@ -6309,12 +6716,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `discussionUrl` field (optional) - pub fn discussion_url(mut self, value: impl Into>>) -> Self { + pub fn discussion_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.50 = value.into(); self } /// Set the `discussionUrl` field to an Option value (optional) - pub fn maybe_discussion_url(mut self, value: Option>) -> Self { + pub fn maybe_discussion_url( + mut self, + value: Option>, + ) -> Self { self._fields.50 = value; self } @@ -6388,7 +6801,10 @@ impl TvEpisodeBuilder { self } /// Set the `educationalLevel` field to an Option value (optional) - pub fn maybe_educational_level(mut self, value: Option>) -> Self { + pub fn maybe_educational_level( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -6396,12 +6812,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `educationalUse` field (optional) - pub fn educational_use(mut self, value: impl Into>>) -> Self { + pub fn educational_use( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.56 = value; self } @@ -6422,12 +6844,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `encodingFormat` field (optional) - pub fn encoding_format(mut self, value: impl Into>>) -> Self { + pub fn encoding_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.58 = value; self } @@ -6448,12 +6876,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `episodeNumber` field (optional) - pub fn episode_number(mut self, value: impl Into>>) -> Self { + pub fn episode_number( + mut self, + value: impl Into>>, + ) -> Self { self._fields.60 = value.into(); self } /// Set the `episodeNumber` field to an Option value (optional) - pub fn maybe_episode_number(mut self, value: Option>) -> Self { + pub fn maybe_episode_number( + mut self, + value: Option>, + ) -> Self { self._fields.60 = value; self } @@ -6461,12 +6895,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `exampleOfWork` field (optional) - pub fn example_of_work(mut self, value: impl Into>>) -> Self { + pub fn example_of_work( + mut self, + value: impl Into>>, + ) -> Self { self._fields.61 = value.into(); self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.61 = value; self } @@ -6487,7 +6927,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `fileFormat` field (optional) - pub fn file_format(mut self, value: impl Into>>) -> Self { + pub fn file_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.63 = value.into(); self } @@ -6565,7 +7008,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.69 = value.into(); self } @@ -6591,7 +7037,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `inLanguage` field (optional) - pub fn in_language(mut self, value: impl Into>>) -> Self { + pub fn in_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.71 = value.into(); self } @@ -6680,7 +7129,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `isBasedOn` field (optional) - pub fn is_based_on(mut self, value: impl Into>>) -> Self { + pub fn is_based_on( + mut self, + value: impl Into>>, + ) -> Self { self._fields.76 = value.into(); self } @@ -6693,12 +7145,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `isBasedOnUrl` field (optional) - pub fn is_based_on_url(mut self, value: impl Into>>) -> Self { + pub fn is_based_on_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.77 = value.into(); self } /// Set the `isBasedOnUrl` field to an Option value (optional) - pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on_url( + mut self, + value: Option>, + ) -> Self { self._fields.77 = value; self } @@ -6714,7 +7172,10 @@ impl TvEpisodeBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.78 = value; self } @@ -6788,7 +7249,10 @@ impl TvEpisodeBuilder { self } /// Set the `locationCreated` field to an Option value (optional) - pub fn maybe_location_created(mut self, value: Option>) -> Self { + pub fn maybe_location_created( + mut self, + value: Option>, + ) -> Self { self._fields.83 = value; self } @@ -6796,7 +7260,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `mainEntity` field (optional) - pub fn main_entity(mut self, value: impl Into>>) -> Self { + pub fn main_entity( + mut self, + value: impl Into>>, + ) -> Self { self._fields.84 = value.into(); self } @@ -6828,7 +7295,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `maintainer` field (optional) - pub fn maintainer(mut self, value: impl Into>>) -> Self { + pub fn maintainer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.86 = value.into(); self } @@ -6854,12 +7324,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `materialExtent` field (optional) - pub fn material_extent(mut self, value: impl Into>>) -> Self { + pub fn material_extent( + mut self, + value: impl Into>>, + ) -> Self { self._fields.88 = value.into(); self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.88 = value; self } @@ -6919,12 +7395,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `partOfSeason` field (optional) - pub fn part_of_season(mut self, value: impl Into>>) -> Self { + pub fn part_of_season( + mut self, + value: impl Into>>, + ) -> Self { self._fields.93 = value.into(); self } /// Set the `partOfSeason` field to an Option value (optional) - pub fn maybe_part_of_season(mut self, value: Option>) -> Self { + pub fn maybe_part_of_season( + mut self, + value: Option>, + ) -> Self { self._fields.93 = value; self } @@ -6932,12 +7414,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `partOfSeries` field (optional) - pub fn part_of_series(mut self, value: impl Into>>) -> Self { + pub fn part_of_series( + mut self, + value: impl Into>>, + ) -> Self { self._fields.94 = value.into(); self } /// Set the `partOfSeries` field to an Option value (optional) - pub fn maybe_part_of_series(mut self, value: Option>) -> Self { + pub fn maybe_part_of_series( + mut self, + value: Option>, + ) -> Self { self._fields.94 = value; self } @@ -6953,7 +7441,10 @@ impl TvEpisodeBuilder { self } /// Set the `partOfTVSeries` field to an Option value (optional) - pub fn maybe_part_of_tv_series(mut self, value: Option>) -> Self { + pub fn maybe_part_of_tv_series( + mut self, + value: Option>, + ) -> Self { self._fields.95 = value; self } @@ -6995,7 +7486,10 @@ impl TvEpisodeBuilder { self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.98 = value; self } @@ -7048,7 +7542,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `publication` field (optional) - pub fn publication(mut self, value: impl Into>>) -> Self { + pub fn publication( + mut self, + value: impl Into>>, + ) -> Self { self._fields.102 = value.into(); self } @@ -7082,7 +7579,10 @@ impl TvEpisodeBuilder { self } /// Set the `publisherImprint` field to an Option value (optional) - pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self { + pub fn maybe_publisher_imprint( + mut self, + value: Option>, + ) -> Self { self._fields.104 = value; self } @@ -7109,7 +7609,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `recordedAt` field (optional) - pub fn recorded_at(mut self, value: impl Into>>) -> Self { + pub fn recorded_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.106 = value.into(); self } @@ -7122,12 +7625,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `releasedEvent` field (optional) - pub fn released_event(mut self, value: impl Into>>) -> Self { + pub fn released_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.107 = value.into(); self } /// Set the `releasedEvent` field to an Option value (optional) - pub fn maybe_released_event(mut self, value: Option>) -> Self { + pub fn maybe_released_event( + mut self, + value: Option>, + ) -> Self { self._fields.107 = value; self } @@ -7174,12 +7683,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `schemaVersion` field (optional) - pub fn schema_version(mut self, value: impl Into>>) -> Self { + pub fn schema_version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.111 = value.into(); self } /// Set the `schemaVersion` field to an Option value (optional) - pub fn maybe_schema_version(mut self, value: Option>) -> Self { + pub fn maybe_schema_version( + mut self, + value: Option>, + ) -> Self { self._fields.111 = value; self } @@ -7195,7 +7710,10 @@ impl TvEpisodeBuilder { self } /// Set the `sdDatePublished` field to an Option value (optional) - pub fn maybe_sd_date_published(mut self, value: Option>) -> Self { + pub fn maybe_sd_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.112 = value; self } @@ -7203,7 +7721,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `sdLicense` field (optional) - pub fn sd_license(mut self, value: impl Into>>) -> Self { + pub fn sd_license( + mut self, + value: impl Into>>, + ) -> Self { self._fields.113 = value.into(); self } @@ -7216,7 +7737,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.114 = value.into(); self } @@ -7282,7 +7806,10 @@ impl TvEpisodeBuilder { self } /// Set the `spatialCoverage` field to an Option value (optional) - pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self { + pub fn maybe_spatial_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.118 = value; self } @@ -7303,7 +7830,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `subjectOf` field (optional) - pub fn subject_of(mut self, value: impl Into>>) -> Self { + pub fn subject_of( + mut self, + value: impl Into>>, + ) -> Self { self._fields.120 = value.into(); self } @@ -7324,7 +7854,10 @@ impl TvEpisodeBuilder { self } /// Set the `subtitleLanguage` field to an Option value (optional) - pub fn maybe_subtitle_language(mut self, value: Option>) -> Self { + pub fn maybe_subtitle_language( + mut self, + value: Option>, + ) -> Self { self._fields.121 = value; self } @@ -7366,7 +7899,10 @@ impl TvEpisodeBuilder { self } /// Set the `temporalCoverage` field to an Option value (optional) - pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self { + pub fn maybe_temporal_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.124 = value; self } @@ -7400,12 +7936,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.127 = value.into(); self } /// Set the `thumbnailUrl` field to an Option value (optional) - pub fn maybe_thumbnail_url(mut self, value: Option>) -> Self { + pub fn maybe_thumbnail_url( + mut self, + value: Option>, + ) -> Self { self._fields.127 = value; self } @@ -7413,12 +7955,18 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.128 = value.into(); self } /// Set the `timeRequired` field to an Option value (optional) - pub fn maybe_time_required(mut self, value: Option>) -> Self { + pub fn maybe_time_required( + mut self, + value: Option>, + ) -> Self { self._fields.128 = value; self } @@ -7426,7 +7974,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `titleEIDR` field (optional) - pub fn title_eidr(mut self, value: impl Into>>) -> Self { + pub fn title_eidr( + mut self, + value: impl Into>>, + ) -> Self { self._fields.129 = value.into(); self } @@ -7471,7 +8022,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `translator` field (optional) - pub fn translator(mut self, value: impl Into>>) -> Self { + pub fn translator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.132 = value.into(); self } @@ -7492,7 +8046,10 @@ impl TvEpisodeBuilder { self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.133 = value; self } @@ -7513,7 +8070,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `usageInfo` field (optional) - pub fn usage_info(mut self, value: impl Into>>) -> Self { + pub fn usage_info( + mut self, + value: impl Into>>, + ) -> Self { self._fields.135 = value.into(); self } @@ -7552,7 +8112,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `wordCount` field (optional) - pub fn word_count(mut self, value: impl Into>>) -> Self { + pub fn word_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.138 = value.into(); self } @@ -7565,7 +8128,10 @@ impl TvEpisodeBuilder { impl TvEpisodeBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.139 = value.into(); self } @@ -7586,7 +8152,10 @@ impl TvEpisodeBuilder { self } /// Set the `workTranslation` field to an Option value (optional) - pub fn maybe_work_translation(mut self, value: Option>) -> Self { + pub fn maybe_work_translation( + mut self, + value: Option>, + ) -> Self { self._fields.140 = value; self } @@ -7744,7 +8313,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TvEpisode { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TvEpisode { TvEpisode { about: self._fields.0, r#abstract: self._fields.1, @@ -7890,4 +8462,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_season.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_season.rs index bfff2bf3c..2a3ae57f9 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_season.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_season.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::episode; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; @@ -32,16 +35,10 @@ use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; use crate::social_flockfeeds::lexical::r#type::tv_series; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Season dedicated to TV broadcast and associated online delivery. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -327,6 +324,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -380,6 +378,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -393,6 +392,7 @@ pub enum EmbeddedActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -448,6 +448,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -466,6 +467,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -511,6 +513,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -521,6 +524,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -556,6 +560,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -594,6 +599,7 @@ pub enum EmbeddedDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -617,6 +623,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -660,6 +667,7 @@ pub enum EmbeddedEpisode { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -668,6 +676,7 @@ pub enum EmbeddedEpisodes { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -693,6 +702,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -726,6 +736,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -759,6 +770,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -767,6 +779,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -817,6 +830,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -825,6 +839,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -853,6 +868,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -866,6 +882,7 @@ pub enum EmbeddedPartOfTvSeries { TvSeriesEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -891,6 +908,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -899,6 +917,7 @@ pub enum EmbeddedProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -909,6 +928,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -924,6 +944,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -932,6 +953,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -945,6 +967,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -990,6 +1013,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1008,6 +1032,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1028,6 +1053,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1041,6 +1067,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1069,6 +1096,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1104,6 +1132,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1436,6 +1465,7 @@ pub struct TvSeason { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1489,6 +1519,7 @@ pub enum TvSeasonAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1502,6 +1533,7 @@ pub enum TvSeasonActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1557,6 +1589,7 @@ pub enum TvSeasonAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1575,6 +1608,7 @@ pub enum TvSeasonCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1620,6 +1654,7 @@ pub enum TvSeasonContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1630,6 +1665,7 @@ pub enum TvSeasonCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1665,6 +1701,7 @@ pub enum TvSeasonCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1703,6 +1740,7 @@ pub enum TvSeasonDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1726,6 +1764,7 @@ pub enum TvSeasonEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1769,6 +1808,7 @@ pub enum TvSeasonEpisode { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1777,6 +1817,7 @@ pub enum TvSeasonEpisodes { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1802,6 +1843,7 @@ pub enum TvSeasonFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1835,6 +1877,7 @@ pub enum TvSeasonImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1868,6 +1911,7 @@ pub enum TvSeasonIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1876,6 +1920,7 @@ pub enum TvSeasonIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1926,6 +1971,7 @@ pub enum TvSeasonMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1934,6 +1980,7 @@ pub enum TvSeasonMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1962,6 +2009,7 @@ pub enum TvSeasonOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1975,6 +2023,7 @@ pub enum TvSeasonPartOfTvSeries { TvSeriesEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2000,6 +2049,7 @@ pub enum TvSeasonProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2008,6 +2058,7 @@ pub enum TvSeasonProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2018,6 +2069,7 @@ pub enum TvSeasonProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2033,6 +2085,7 @@ pub enum TvSeasonPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2041,6 +2094,7 @@ pub enum TvSeasonPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2054,6 +2108,7 @@ pub enum TvSeasonRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2099,6 +2154,7 @@ pub enum TvSeasonSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2117,6 +2173,7 @@ pub enum TvSeasonSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2137,6 +2194,7 @@ pub enum TvSeasonSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2150,6 +2208,7 @@ pub enum TvSeasonSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2178,6 +2237,7 @@ pub enum TvSeasonThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2213,6 +2273,7 @@ pub enum TvSeasonTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2327,10 +2388,10 @@ impl LexiconSchema for TvSeason { } fn lexicon_doc_social_flockfeeds_lexical_type_TVSeason() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.TVSeason"), @@ -5282,7 +5343,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_TVSeason() -> LexiconDoc<'static> pub mod tv_season_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5467,16 +5528,146 @@ impl TvSeasonBuilder { TvSeasonBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5489,16 +5680,146 @@ impl TvSeasonBuilder { TvSeasonBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5533,7 +5854,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `accessMode` field (optional) - pub fn access_mode(mut self, value: impl Into>>) -> Self { + pub fn access_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -5573,7 +5897,10 @@ impl TvSeasonBuilder { self } /// Set the `accessibilityAPI` field to an Option value (optional) - pub fn maybe_accessibility_api(mut self, value: Option>) -> Self { + pub fn maybe_accessibility_api( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -5665,7 +5992,10 @@ impl TvSeasonBuilder { self } /// Set the `accountablePerson` field to an Option value (optional) - pub fn maybe_accountable_person(mut self, value: Option>) -> Self { + pub fn maybe_accountable_person( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5705,12 +6035,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.12 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -5726,7 +6062,10 @@ impl TvSeasonBuilder { self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -5734,12 +6073,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.14 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -5766,7 +6111,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `archivedAt` field (optional) - pub fn archived_at(mut self, value: impl Into>>) -> Self { + pub fn archived_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.16 = value.into(); self } @@ -5800,7 +6148,10 @@ impl TvSeasonBuilder { self } /// Set the `associatedMedia` field to an Option value (optional) - pub fn maybe_associated_media(mut self, value: Option>) -> Self { + pub fn maybe_associated_media( + mut self, + value: Option>, + ) -> Self { self._fields.18 = value; self } @@ -5912,12 +6263,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.27 = value.into(); self } /// Set the `commentCount` field to an Option value (optional) - pub fn maybe_comment_count(mut self, value: Option>) -> Self { + pub fn maybe_comment_count( + mut self, + value: Option>, + ) -> Self { self._fields.27 = value; self } @@ -5952,7 +6309,10 @@ impl TvSeasonBuilder { self } /// Set the `contentLocation` field to an Option value (optional) - pub fn maybe_content_location(mut self, value: Option>) -> Self { + pub fn maybe_content_location( + mut self, + value: Option>, + ) -> Self { self._fields.29 = value; self } @@ -5960,12 +6320,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `contentRating` field (optional) - pub fn content_rating(mut self, value: impl Into>>) -> Self { + pub fn content_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.30 = value.into(); self } /// Set the `contentRating` field to an Option value (optional) - pub fn maybe_content_rating(mut self, value: Option>) -> Self { + pub fn maybe_content_rating( + mut self, + value: Option>, + ) -> Self { self._fields.30 = value; self } @@ -5992,7 +6358,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } @@ -6013,7 +6382,10 @@ impl TvSeasonBuilder { self } /// Set the `copyrightHolder` field to an Option value (optional) - pub fn maybe_copyright_holder(mut self, value: Option>) -> Self { + pub fn maybe_copyright_holder( + mut self, + value: Option>, + ) -> Self { self._fields.33 = value; self } @@ -6029,7 +6401,10 @@ impl TvSeasonBuilder { self } /// Set the `copyrightNotice` field to an Option value (optional) - pub fn maybe_copyright_notice(mut self, value: Option>) -> Self { + pub fn maybe_copyright_notice( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -6037,12 +6412,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `copyrightYear` field (optional) - pub fn copyright_year(mut self, value: impl Into>>) -> Self { + pub fn copyright_year( + mut self, + value: impl Into>>, + ) -> Self { self._fields.35 = value.into(); self } /// Set the `copyrightYear` field to an Option value (optional) - pub fn maybe_copyright_year(mut self, value: Option>) -> Self { + pub fn maybe_copyright_year( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -6050,7 +6431,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `correction` field (optional) - pub fn correction(mut self, value: impl Into>>) -> Self { + pub fn correction( + mut self, + value: impl Into>>, + ) -> Self { self._fields.36 = value.into(); self } @@ -6071,7 +6455,10 @@ impl TvSeasonBuilder { self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.37 = value; self } @@ -6111,7 +6498,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `creditText` field (optional) - pub fn credit_text(mut self, value: impl Into>>) -> Self { + pub fn credit_text( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } @@ -6124,7 +6514,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } @@ -6137,12 +6530,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } /// Set the `dateModified` field to an Option value (optional) - pub fn maybe_date_modified(mut self, value: Option>) -> Self { + pub fn maybe_date_modified( + mut self, + value: Option>, + ) -> Self { self._fields.42 = value; self } @@ -6150,12 +6549,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `datePublished` field (optional) - pub fn date_published(mut self, value: impl Into>>) -> Self { + pub fn date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.43 = value.into(); self } /// Set the `datePublished` field to an Option value (optional) - pub fn maybe_date_published(mut self, value: Option>) -> Self { + pub fn maybe_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.43 = value; self } @@ -6163,7 +6568,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } @@ -6227,12 +6635,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `discussionUrl` field (optional) - pub fn discussion_url(mut self, value: impl Into>>) -> Self { + pub fn discussion_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.48 = value.into(); self } /// Set the `discussionUrl` field to an Option value (optional) - pub fn maybe_discussion_url(mut self, value: Option>) -> Self { + pub fn maybe_discussion_url( + mut self, + value: Option>, + ) -> Self { self._fields.48 = value; self } @@ -6293,7 +6707,10 @@ impl TvSeasonBuilder { self } /// Set the `educationalLevel` field to an Option value (optional) - pub fn maybe_educational_level(mut self, value: Option>) -> Self { + pub fn maybe_educational_level( + mut self, + value: Option>, + ) -> Self { self._fields.52 = value; self } @@ -6301,12 +6718,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `educationalUse` field (optional) - pub fn educational_use(mut self, value: impl Into>>) -> Self { + pub fn educational_use( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.53 = value; self } @@ -6327,12 +6750,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `encodingFormat` field (optional) - pub fn encoding_format(mut self, value: impl Into>>) -> Self { + pub fn encoding_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -6392,12 +6821,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `exampleOfWork` field (optional) - pub fn example_of_work(mut self, value: impl Into>>) -> Self { + pub fn example_of_work( + mut self, + value: impl Into>>, + ) -> Self { self._fields.60 = value.into(); self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.60 = value; self } @@ -6418,7 +6853,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `fileFormat` field (optional) - pub fn file_format(mut self, value: impl Into>>) -> Self { + pub fn file_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.62 = value.into(); self } @@ -6496,7 +6934,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.68 = value.into(); self } @@ -6522,7 +6963,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `inLanguage` field (optional) - pub fn in_language(mut self, value: impl Into>>) -> Self { + pub fn in_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.70 = value.into(); self } @@ -6562,7 +7006,10 @@ impl TvSeasonBuilder { self } /// Set the `interactivityType` field to an Option value (optional) - pub fn maybe_interactivity_type(mut self, value: Option>) -> Self { + pub fn maybe_interactivity_type( + mut self, + value: Option>, + ) -> Self { self._fields.72 = value; self } @@ -6608,7 +7055,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `isBasedOn` field (optional) - pub fn is_based_on(mut self, value: impl Into>>) -> Self { + pub fn is_based_on( + mut self, + value: impl Into>>, + ) -> Self { self._fields.75 = value.into(); self } @@ -6621,12 +7071,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `isBasedOnUrl` field (optional) - pub fn is_based_on_url(mut self, value: impl Into>>) -> Self { + pub fn is_based_on_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.76 = value.into(); self } /// Set the `isBasedOnUrl` field to an Option value (optional) - pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on_url( + mut self, + value: Option>, + ) -> Self { self._fields.76 = value; self } @@ -6642,7 +7098,10 @@ impl TvSeasonBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.77 = value; self } @@ -6716,7 +7175,10 @@ impl TvSeasonBuilder { self } /// Set the `locationCreated` field to an Option value (optional) - pub fn maybe_location_created(mut self, value: Option>) -> Self { + pub fn maybe_location_created( + mut self, + value: Option>, + ) -> Self { self._fields.82 = value; self } @@ -6724,7 +7186,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `mainEntity` field (optional) - pub fn main_entity(mut self, value: impl Into>>) -> Self { + pub fn main_entity( + mut self, + value: impl Into>>, + ) -> Self { self._fields.83 = value.into(); self } @@ -6745,7 +7210,10 @@ impl TvSeasonBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.84 = value; self } @@ -6753,7 +7221,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `maintainer` field (optional) - pub fn maintainer(mut self, value: impl Into>>) -> Self { + pub fn maintainer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.85 = value.into(); self } @@ -6779,12 +7250,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `materialExtent` field (optional) - pub fn material_extent(mut self, value: impl Into>>) -> Self { + pub fn material_extent( + mut self, + value: impl Into>>, + ) -> Self { self._fields.87 = value.into(); self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.87 = value; self } @@ -6826,7 +7303,10 @@ impl TvSeasonBuilder { self } /// Set the `numberOfEpisodes` field to an Option value (optional) - pub fn maybe_number_of_episodes(mut self, value: Option>) -> Self { + pub fn maybe_number_of_episodes( + mut self, + value: Option>, + ) -> Self { self._fields.90 = value; self } @@ -6847,12 +7327,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `partOfSeries` field (optional) - pub fn part_of_series(mut self, value: impl Into>>) -> Self { + pub fn part_of_series( + mut self, + value: impl Into>>, + ) -> Self { self._fields.92 = value.into(); self } /// Set the `partOfSeries` field to an Option value (optional) - pub fn maybe_part_of_series(mut self, value: Option>) -> Self { + pub fn maybe_part_of_series( + mut self, + value: Option>, + ) -> Self { self._fields.92 = value; self } @@ -6868,7 +7354,10 @@ impl TvSeasonBuilder { self } /// Set the `partOfTVSeries` field to an Option value (optional) - pub fn maybe_part_of_tv_series(mut self, value: Option>) -> Self { + pub fn maybe_part_of_tv_series( + mut self, + value: Option>, + ) -> Self { self._fields.93 = value; self } @@ -6910,7 +7399,10 @@ impl TvSeasonBuilder { self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.96 = value; self } @@ -6939,7 +7431,10 @@ impl TvSeasonBuilder { self } /// Set the `productionCompany` field to an Option value (optional) - pub fn maybe_production_company(mut self, value: Option>) -> Self { + pub fn maybe_production_company( + mut self, + value: Option>, + ) -> Self { self._fields.98 = value; self } @@ -6960,7 +7455,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `publication` field (optional) - pub fn publication(mut self, value: impl Into>>) -> Self { + pub fn publication( + mut self, + value: impl Into>>, + ) -> Self { self._fields.100 = value.into(); self } @@ -6994,7 +7492,10 @@ impl TvSeasonBuilder { self } /// Set the `publisherImprint` field to an Option value (optional) - pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self { + pub fn maybe_publisher_imprint( + mut self, + value: Option>, + ) -> Self { self._fields.102 = value; self } @@ -7021,7 +7522,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `recordedAt` field (optional) - pub fn recorded_at(mut self, value: impl Into>>) -> Self { + pub fn recorded_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.104 = value.into(); self } @@ -7034,12 +7538,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `releasedEvent` field (optional) - pub fn released_event(mut self, value: impl Into>>) -> Self { + pub fn released_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.105 = value.into(); self } /// Set the `releasedEvent` field to an Option value (optional) - pub fn maybe_released_event(mut self, value: Option>) -> Self { + pub fn maybe_released_event( + mut self, + value: Option>, + ) -> Self { self._fields.105 = value; self } @@ -7086,12 +7596,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `schemaVersion` field (optional) - pub fn schema_version(mut self, value: impl Into>>) -> Self { + pub fn schema_version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.109 = value.into(); self } /// Set the `schemaVersion` field to an Option value (optional) - pub fn maybe_schema_version(mut self, value: Option>) -> Self { + pub fn maybe_schema_version( + mut self, + value: Option>, + ) -> Self { self._fields.109 = value; self } @@ -7107,7 +7623,10 @@ impl TvSeasonBuilder { self } /// Set the `sdDatePublished` field to an Option value (optional) - pub fn maybe_sd_date_published(mut self, value: Option>) -> Self { + pub fn maybe_sd_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.110 = value; self } @@ -7128,7 +7647,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.112 = value.into(); self } @@ -7141,12 +7663,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `seasonNumber` field (optional) - pub fn season_number(mut self, value: impl Into>>) -> Self { + pub fn season_number( + mut self, + value: impl Into>>, + ) -> Self { self._fields.113 = value.into(); self } /// Set the `seasonNumber` field to an Option value (optional) - pub fn maybe_season_number(mut self, value: Option>) -> Self { + pub fn maybe_season_number( + mut self, + value: Option>, + ) -> Self { self._fields.113 = value; self } @@ -7207,7 +7735,10 @@ impl TvSeasonBuilder { self } /// Set the `spatialCoverage` field to an Option value (optional) - pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self { + pub fn maybe_spatial_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.117 = value; self } @@ -7288,7 +7819,10 @@ impl TvSeasonBuilder { self } /// Set the `temporalCoverage` field to an Option value (optional) - pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self { + pub fn maybe_temporal_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.123 = value; self } @@ -7322,12 +7856,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.126 = value.into(); self } /// Set the `thumbnailUrl` field to an Option value (optional) - pub fn maybe_thumbnail_url(mut self, value: Option>) -> Self { + pub fn maybe_thumbnail_url( + mut self, + value: Option>, + ) -> Self { self._fields.126 = value; self } @@ -7335,12 +7875,18 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.127 = value.into(); self } /// Set the `timeRequired` field to an Option value (optional) - pub fn maybe_time_required(mut self, value: Option>) -> Self { + pub fn maybe_time_required( + mut self, + value: Option>, + ) -> Self { self._fields.127 = value; self } @@ -7393,7 +7939,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `translator` field (optional) - pub fn translator(mut self, value: impl Into>>) -> Self { + pub fn translator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.131 = value.into(); self } @@ -7414,7 +7963,10 @@ impl TvSeasonBuilder { self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.132 = value; self } @@ -7487,7 +8039,10 @@ impl TvSeasonBuilder { impl TvSeasonBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.138 = value.into(); self } @@ -7508,7 +8063,10 @@ impl TvSeasonBuilder { self } /// Set the `workTranslation` field to an Option value (optional) - pub fn maybe_work_translation(mut self, value: Option>) -> Self { + pub fn maybe_work_translation( + mut self, + value: Option>, + ) -> Self { self._fields.139 = value; self } @@ -7810,4 +8368,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_series.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_series.rs index e52478603..5b360535d 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_series.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/tv_series.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::episode; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; @@ -32,16 +35,10 @@ use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// CreativeWorkSeries dedicated to TV broadcast and associated online delivery. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -337,6 +334,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -390,6 +388,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -403,6 +402,7 @@ pub enum EmbeddedActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -411,6 +411,7 @@ pub enum EmbeddedActors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -466,6 +467,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -484,6 +486,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -534,6 +537,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -544,6 +548,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -579,6 +584,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -617,6 +623,7 @@ pub enum EmbeddedDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -625,6 +632,7 @@ pub enum EmbeddedDirectors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -648,6 +656,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -691,6 +700,7 @@ pub enum EmbeddedEpisode { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -699,6 +709,7 @@ pub enum EmbeddedEpisodes { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -724,6 +735,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -757,6 +769,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -790,6 +803,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -798,6 +812,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -853,6 +868,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -861,6 +877,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -881,6 +898,7 @@ pub enum EmbeddedMusicBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -904,6 +922,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -929,6 +948,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -937,6 +957,7 @@ pub enum EmbeddedProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -947,6 +968,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -962,6 +984,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -970,6 +993,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -983,6 +1007,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1028,6 +1053,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1051,6 +1077,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1071,6 +1098,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1084,6 +1112,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1112,6 +1141,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1147,6 +1177,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1489,6 +1520,7 @@ pub struct TvSeries { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1542,6 +1574,7 @@ pub enum TvSeriesAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1555,6 +1588,7 @@ pub enum TvSeriesActor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1563,6 +1597,7 @@ pub enum TvSeriesActors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1618,6 +1653,7 @@ pub enum TvSeriesAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1636,6 +1672,7 @@ pub enum TvSeriesCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1686,6 +1723,7 @@ pub enum TvSeriesContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1696,6 +1734,7 @@ pub enum TvSeriesCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1731,6 +1770,7 @@ pub enum TvSeriesCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1769,6 +1809,7 @@ pub enum TvSeriesDirector { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1777,6 +1818,7 @@ pub enum TvSeriesDirectors { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1800,6 +1842,7 @@ pub enum TvSeriesEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1843,6 +1886,7 @@ pub enum TvSeriesEpisode { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1851,6 +1895,7 @@ pub enum TvSeriesEpisodes { EpisodeEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1876,6 +1921,7 @@ pub enum TvSeriesFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1909,6 +1955,7 @@ pub enum TvSeriesImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1942,6 +1989,7 @@ pub enum TvSeriesIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1950,6 +1998,7 @@ pub enum TvSeriesIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2005,6 +2054,7 @@ pub enum TvSeriesMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2013,6 +2063,7 @@ pub enum TvSeriesMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2033,6 +2084,7 @@ pub enum TvSeriesMusicBy { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2056,6 +2108,7 @@ pub enum TvSeriesOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2081,6 +2134,7 @@ pub enum TvSeriesProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2089,6 +2143,7 @@ pub enum TvSeriesProductionCompany { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2099,6 +2154,7 @@ pub enum TvSeriesProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2114,6 +2170,7 @@ pub enum TvSeriesPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2122,6 +2179,7 @@ pub enum TvSeriesPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2135,6 +2193,7 @@ pub enum TvSeriesRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2180,6 +2239,7 @@ pub enum TvSeriesSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2203,6 +2263,7 @@ pub enum TvSeriesSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2223,6 +2284,7 @@ pub enum TvSeriesSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2236,6 +2298,7 @@ pub enum TvSeriesSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2264,6 +2327,7 @@ pub enum TvSeriesThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2299,6 +2363,7 @@ pub enum TvSeriesTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2413,10 +2478,10 @@ impl LexiconSchema for TvSeries { } fn lexicon_doc_social_flockfeeds_lexical_type_TVSeries() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.TVSeries"), @@ -5472,7 +5537,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_TVSeries() -> LexiconDoc<'static> pub mod tv_series_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5662,17 +5727,151 @@ impl TvSeriesBuilder { TvSeriesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5685,17 +5884,151 @@ impl TvSeriesBuilder { TvSeriesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5730,7 +6063,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `accessMode` field (optional) - pub fn access_mode(mut self, value: impl Into>>) -> Self { + pub fn access_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -5770,7 +6106,10 @@ impl TvSeriesBuilder { self } /// Set the `accessibilityAPI` field to an Option value (optional) - pub fn maybe_accessibility_api(mut self, value: Option>) -> Self { + pub fn maybe_accessibility_api( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -5862,7 +6201,10 @@ impl TvSeriesBuilder { self } /// Set the `accountablePerson` field to an Option value (optional) - pub fn maybe_accountable_person(mut self, value: Option>) -> Self { + pub fn maybe_accountable_person( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5915,12 +6257,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -5936,7 +6284,10 @@ impl TvSeriesBuilder { self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.14 = value; self } @@ -5944,12 +6295,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.15 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.15 = value; self } @@ -5976,7 +6333,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `archivedAt` field (optional) - pub fn archived_at(mut self, value: impl Into>>) -> Self { + pub fn archived_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } @@ -6010,7 +6370,10 @@ impl TvSeriesBuilder { self } /// Set the `associatedMedia` field to an Option value (optional) - pub fn maybe_associated_media(mut self, value: Option>) -> Self { + pub fn maybe_associated_media( + mut self, + value: Option>, + ) -> Self { self._fields.19 = value; self } @@ -6122,12 +6485,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } /// Set the `commentCount` field to an Option value (optional) - pub fn maybe_comment_count(mut self, value: Option>) -> Self { + pub fn maybe_comment_count( + mut self, + value: Option>, + ) -> Self { self._fields.28 = value; self } @@ -6154,12 +6523,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `containsSeason` field (optional) - pub fn contains_season(mut self, value: impl Into>>) -> Self { + pub fn contains_season( + mut self, + value: impl Into>>, + ) -> Self { self._fields.30 = value.into(); self } /// Set the `containsSeason` field to an Option value (optional) - pub fn maybe_contains_season(mut self, value: Option>) -> Self { + pub fn maybe_contains_season( + mut self, + value: Option>, + ) -> Self { self._fields.30 = value; self } @@ -6175,7 +6550,10 @@ impl TvSeriesBuilder { self } /// Set the `contentLocation` field to an Option value (optional) - pub fn maybe_content_location(mut self, value: Option>) -> Self { + pub fn maybe_content_location( + mut self, + value: Option>, + ) -> Self { self._fields.31 = value; self } @@ -6183,12 +6561,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `contentRating` field (optional) - pub fn content_rating(mut self, value: impl Into>>) -> Self { + pub fn content_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } /// Set the `contentRating` field to an Option value (optional) - pub fn maybe_content_rating(mut self, value: Option>) -> Self { + pub fn maybe_content_rating( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -6215,7 +6599,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } @@ -6236,7 +6623,10 @@ impl TvSeriesBuilder { self } /// Set the `copyrightHolder` field to an Option value (optional) - pub fn maybe_copyright_holder(mut self, value: Option>) -> Self { + pub fn maybe_copyright_holder( + mut self, + value: Option>, + ) -> Self { self._fields.35 = value; self } @@ -6252,7 +6642,10 @@ impl TvSeriesBuilder { self } /// Set the `copyrightNotice` field to an Option value (optional) - pub fn maybe_copyright_notice(mut self, value: Option>) -> Self { + pub fn maybe_copyright_notice( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -6260,12 +6653,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `copyrightYear` field (optional) - pub fn copyright_year(mut self, value: impl Into>>) -> Self { + pub fn copyright_year( + mut self, + value: impl Into>>, + ) -> Self { self._fields.37 = value.into(); self } /// Set the `copyrightYear` field to an Option value (optional) - pub fn maybe_copyright_year(mut self, value: Option>) -> Self { + pub fn maybe_copyright_year( + mut self, + value: Option>, + ) -> Self { self._fields.37 = value; self } @@ -6273,7 +6672,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `correction` field (optional) - pub fn correction(mut self, value: impl Into>>) -> Self { + pub fn correction( + mut self, + value: impl Into>>, + ) -> Self { self._fields.38 = value.into(); self } @@ -6294,7 +6696,10 @@ impl TvSeriesBuilder { self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.39 = value; self } @@ -6334,7 +6739,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `creditText` field (optional) - pub fn credit_text(mut self, value: impl Into>>) -> Self { + pub fn credit_text( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } @@ -6347,7 +6755,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.43 = value.into(); self } @@ -6360,12 +6771,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.44 = value.into(); self } /// Set the `dateModified` field to an Option value (optional) - pub fn maybe_date_modified(mut self, value: Option>) -> Self { + pub fn maybe_date_modified( + mut self, + value: Option>, + ) -> Self { self._fields.44 = value; self } @@ -6373,12 +6790,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `datePublished` field (optional) - pub fn date_published(mut self, value: impl Into>>) -> Self { + pub fn date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.45 = value.into(); self } /// Set the `datePublished` field to an Option value (optional) - pub fn maybe_date_published(mut self, value: Option>) -> Self { + pub fn maybe_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.45 = value; self } @@ -6386,7 +6809,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.46 = value.into(); self } @@ -6463,12 +6889,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `discussionUrl` field (optional) - pub fn discussion_url(mut self, value: impl Into>>) -> Self { + pub fn discussion_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } /// Set the `discussionUrl` field to an Option value (optional) - pub fn maybe_discussion_url(mut self, value: Option>) -> Self { + pub fn maybe_discussion_url( + mut self, + value: Option>, + ) -> Self { self._fields.51 = value; self } @@ -6529,7 +6961,10 @@ impl TvSeriesBuilder { self } /// Set the `educationalLevel` field to an Option value (optional) - pub fn maybe_educational_level(mut self, value: Option>) -> Self { + pub fn maybe_educational_level( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -6537,12 +6972,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `educationalUse` field (optional) - pub fn educational_use(mut self, value: impl Into>>) -> Self { + pub fn educational_use( + mut self, + value: impl Into>>, + ) -> Self { self._fields.56 = value.into(); self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.56 = value; self } @@ -6563,12 +7004,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `encodingFormat` field (optional) - pub fn encoding_format(mut self, value: impl Into>>) -> Self { + pub fn encoding_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.58 = value.into(); self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.58 = value; self } @@ -6628,12 +7075,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `exampleOfWork` field (optional) - pub fn example_of_work(mut self, value: impl Into>>) -> Self { + pub fn example_of_work( + mut self, + value: impl Into>>, + ) -> Self { self._fields.63 = value.into(); self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.63 = value; self } @@ -6654,7 +7107,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `fileFormat` field (optional) - pub fn file_format(mut self, value: impl Into>>) -> Self { + pub fn file_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.65 = value.into(); self } @@ -6732,7 +7188,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `identifier` field (optional) - pub fn identifier(mut self, value: impl Into>>) -> Self { + pub fn identifier( + mut self, + value: impl Into>>, + ) -> Self { self._fields.71 = value.into(); self } @@ -6758,7 +7217,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `inLanguage` field (optional) - pub fn in_language(mut self, value: impl Into>>) -> Self { + pub fn in_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.73 = value.into(); self } @@ -6798,7 +7260,10 @@ impl TvSeriesBuilder { self } /// Set the `interactivityType` field to an Option value (optional) - pub fn maybe_interactivity_type(mut self, value: Option>) -> Self { + pub fn maybe_interactivity_type( + mut self, + value: Option>, + ) -> Self { self._fields.75 = value; self } @@ -6844,7 +7309,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `isBasedOn` field (optional) - pub fn is_based_on(mut self, value: impl Into>>) -> Self { + pub fn is_based_on( + mut self, + value: impl Into>>, + ) -> Self { self._fields.78 = value.into(); self } @@ -6857,12 +7325,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `isBasedOnUrl` field (optional) - pub fn is_based_on_url(mut self, value: impl Into>>) -> Self { + pub fn is_based_on_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.79 = value.into(); self } /// Set the `isBasedOnUrl` field to an Option value (optional) - pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on_url( + mut self, + value: Option>, + ) -> Self { self._fields.79 = value; self } @@ -6878,7 +7352,10 @@ impl TvSeriesBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.80 = value; self } @@ -6965,7 +7442,10 @@ impl TvSeriesBuilder { self } /// Set the `locationCreated` field to an Option value (optional) - pub fn maybe_location_created(mut self, value: Option>) -> Self { + pub fn maybe_location_created( + mut self, + value: Option>, + ) -> Self { self._fields.86 = value; self } @@ -6973,7 +7453,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `mainEntity` field (optional) - pub fn main_entity(mut self, value: impl Into>>) -> Self { + pub fn main_entity( + mut self, + value: impl Into>>, + ) -> Self { self._fields.87 = value.into(); self } @@ -6994,7 +7477,10 @@ impl TvSeriesBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.88 = value; self } @@ -7002,7 +7488,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `maintainer` field (optional) - pub fn maintainer(mut self, value: impl Into>>) -> Self { + pub fn maintainer( + mut self, + value: impl Into>>, + ) -> Self { self._fields.89 = value.into(); self } @@ -7028,12 +7517,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `materialExtent` field (optional) - pub fn material_extent(mut self, value: impl Into>>) -> Self { + pub fn material_extent( + mut self, + value: impl Into>>, + ) -> Self { self._fields.91 = value.into(); self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.91 = value; self } @@ -7088,7 +7583,10 @@ impl TvSeriesBuilder { self } /// Set the `numberOfEpisodes` field to an Option value (optional) - pub fn maybe_number_of_episodes(mut self, value: Option>) -> Self { + pub fn maybe_number_of_episodes( + mut self, + value: Option>, + ) -> Self { self._fields.95 = value; self } @@ -7104,7 +7602,10 @@ impl TvSeriesBuilder { self } /// Set the `numberOfSeasons` field to an Option value (optional) - pub fn maybe_number_of_seasons(mut self, value: Option>) -> Self { + pub fn maybe_number_of_seasons( + mut self, + value: Option>, + ) -> Self { self._fields.96 = value; self } @@ -7159,7 +7660,10 @@ impl TvSeriesBuilder { self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.100 = value; self } @@ -7188,7 +7692,10 @@ impl TvSeriesBuilder { self } /// Set the `productionCompany` field to an Option value (optional) - pub fn maybe_production_company(mut self, value: Option>) -> Self { + pub fn maybe_production_company( + mut self, + value: Option>, + ) -> Self { self._fields.102 = value; self } @@ -7209,7 +7716,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `publication` field (optional) - pub fn publication(mut self, value: impl Into>>) -> Self { + pub fn publication( + mut self, + value: impl Into>>, + ) -> Self { self._fields.104 = value.into(); self } @@ -7243,7 +7753,10 @@ impl TvSeriesBuilder { self } /// Set the `publisherImprint` field to an Option value (optional) - pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self { + pub fn maybe_publisher_imprint( + mut self, + value: Option>, + ) -> Self { self._fields.106 = value; self } @@ -7270,7 +7783,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `recordedAt` field (optional) - pub fn recorded_at(mut self, value: impl Into>>) -> Self { + pub fn recorded_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.108 = value.into(); self } @@ -7283,12 +7799,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `releasedEvent` field (optional) - pub fn released_event(mut self, value: impl Into>>) -> Self { + pub fn released_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.109 = value.into(); self } /// Set the `releasedEvent` field to an Option value (optional) - pub fn maybe_released_event(mut self, value: Option>) -> Self { + pub fn maybe_released_event( + mut self, + value: Option>, + ) -> Self { self._fields.109 = value; self } @@ -7335,12 +7857,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `schemaVersion` field (optional) - pub fn schema_version(mut self, value: impl Into>>) -> Self { + pub fn schema_version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.113 = value.into(); self } /// Set the `schemaVersion` field to an Option value (optional) - pub fn maybe_schema_version(mut self, value: Option>) -> Self { + pub fn maybe_schema_version( + mut self, + value: Option>, + ) -> Self { self._fields.113 = value; self } @@ -7356,7 +7884,10 @@ impl TvSeriesBuilder { self } /// Set the `sdDatePublished` field to an Option value (optional) - pub fn maybe_sd_date_published(mut self, value: Option>) -> Self { + pub fn maybe_sd_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.114 = value; self } @@ -7377,7 +7908,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.116 = value.into(); self } @@ -7469,7 +8003,10 @@ impl TvSeriesBuilder { self } /// Set the `spatialCoverage` field to an Option value (optional) - pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self { + pub fn maybe_spatial_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.122 = value; self } @@ -7550,7 +8087,10 @@ impl TvSeriesBuilder { self } /// Set the `temporalCoverage` field to an Option value (optional) - pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self { + pub fn maybe_temporal_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.128 = value; self } @@ -7584,12 +8124,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.131 = value.into(); self } /// Set the `thumbnailUrl` field to an Option value (optional) - pub fn maybe_thumbnail_url(mut self, value: Option>) -> Self { + pub fn maybe_thumbnail_url( + mut self, + value: Option>, + ) -> Self { self._fields.131 = value; self } @@ -7597,12 +8143,18 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.132 = value.into(); self } /// Set the `timeRequired` field to an Option value (optional) - pub fn maybe_time_required(mut self, value: Option>) -> Self { + pub fn maybe_time_required( + mut self, + value: Option>, + ) -> Self { self._fields.132 = value; self } @@ -7655,7 +8207,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `translator` field (optional) - pub fn translator(mut self, value: impl Into>>) -> Self { + pub fn translator( + mut self, + value: impl Into>>, + ) -> Self { self._fields.136 = value.into(); self } @@ -7676,7 +8231,10 @@ impl TvSeriesBuilder { self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.137 = value; self } @@ -7749,7 +8307,10 @@ impl TvSeriesBuilder { impl TvSeriesBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.143 = value.into(); self } @@ -7770,7 +8331,10 @@ impl TvSeriesBuilder { self } /// Set the `workTranslation` field to an Option value (optional) - pub fn maybe_work_translation(mut self, value: Option>) -> Self { + pub fn maybe_work_translation( + mut self, + value: Option>, + ) -> Self { self._fields.144 = value; self } @@ -8082,4 +8646,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_flockfeeds/lexical/type/web_site.rs b/crates/jacquard-api/src/social_flockfeeds/lexical/type/web_site.rs index 0aa9c5ae3..3738078ab 100644 --- a/crates/jacquard-api/src/social_flockfeeds/lexical/type/web_site.rs +++ b/crates/jacquard-api/src/social_flockfeeds/lexical/type/web_site.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,22 +24,19 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_flockfeeds::lexical::r#type::event; use crate::social_flockfeeds::lexical::r#type::image_object; use crate::social_flockfeeds::lexical::r#type::offer; use crate::social_flockfeeds::lexical::r#type::organization; use crate::social_flockfeeds::lexical::r#type::person; use crate::social_flockfeeds::lexical::r#type::product; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// A WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Embedded { #[serde(skip_serializing_if = "Option::is_none")] pub about: Option>, @@ -301,6 +298,7 @@ pub struct Embedded { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -354,6 +352,7 @@ pub enum EmbeddedAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -414,6 +413,7 @@ pub enum EmbeddedAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -432,6 +432,7 @@ pub enum EmbeddedCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -477,6 +478,7 @@ pub enum EmbeddedContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -487,6 +489,7 @@ pub enum EmbeddedCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -522,6 +525,7 @@ pub enum EmbeddedCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -575,6 +579,7 @@ pub enum EmbeddedEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -630,6 +635,7 @@ pub enum EmbeddedFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -663,6 +669,7 @@ pub enum EmbeddedImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -696,6 +703,7 @@ pub enum EmbeddedIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -704,6 +712,7 @@ pub enum EmbeddedIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -759,6 +768,7 @@ pub enum EmbeddedMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -767,6 +777,7 @@ pub enum EmbeddedMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -790,6 +801,7 @@ pub enum EmbeddedOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -815,6 +827,7 @@ pub enum EmbeddedProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -825,6 +838,7 @@ pub enum EmbeddedProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -840,6 +854,7 @@ pub enum EmbeddedPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -848,6 +863,7 @@ pub enum EmbeddedPublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -861,6 +877,7 @@ pub enum EmbeddedRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -906,6 +923,7 @@ pub enum EmbeddedSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -919,6 +937,7 @@ pub enum EmbeddedSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -939,6 +958,7 @@ pub enum EmbeddedSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -947,6 +967,7 @@ pub enum EmbeddedSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -975,6 +996,7 @@ pub enum EmbeddedThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1000,6 +1022,7 @@ pub enum EmbeddedTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1308,6 +1331,7 @@ pub struct WebSite { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1361,6 +1385,7 @@ pub enum WebSiteAccountablePerson { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1421,6 +1446,7 @@ pub enum WebSiteAuthor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1439,6 +1465,7 @@ pub enum WebSiteCharacter { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1484,6 +1511,7 @@ pub enum WebSiteContributor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1494,6 +1522,7 @@ pub enum WebSiteCopyrightHolder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1529,6 +1558,7 @@ pub enum WebSiteCreator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1582,6 +1612,7 @@ pub enum WebSiteEditor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1637,6 +1668,7 @@ pub enum WebSiteFunder { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1670,6 +1702,7 @@ pub enum WebSiteImage { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1703,6 +1736,7 @@ pub enum WebSiteIsBasedOn { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1711,6 +1745,7 @@ pub enum WebSiteIsBasedOnUrl { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1766,6 +1801,7 @@ pub enum WebSiteMaintainer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1774,6 +1810,7 @@ pub enum WebSiteMaterial { ProductEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1797,6 +1834,7 @@ pub enum WebSiteOffers { OfferEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1822,6 +1860,7 @@ pub enum WebSiteProducer { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1832,6 +1871,7 @@ pub enum WebSiteProvider { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1847,6 +1887,7 @@ pub enum WebSitePublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1855,6 +1896,7 @@ pub enum WebSitePublisherImprint { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1868,6 +1910,7 @@ pub enum WebSiteRecordedAt { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1913,6 +1956,7 @@ pub enum WebSiteSdPublisher { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1926,6 +1970,7 @@ pub enum WebSiteSourceOrganization { OrganizationEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1946,6 +1991,7 @@ pub enum WebSiteSponsor { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1954,6 +2000,7 @@ pub enum WebSiteSubjectOf { EventEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1982,6 +2029,7 @@ pub enum WebSiteThumbnail { ImageObjectEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2007,6 +2055,7 @@ pub enum WebSiteTranslator { PersonEmbedded(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2121,10 +2170,10 @@ impl LexiconSchema for WebSite { } fn lexicon_doc_social_flockfeeds_lexical_type_WebSite() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.flockfeeds.lexical.type.WebSite"), @@ -4834,7 +4883,7 @@ fn lexicon_doc_social_flockfeeds_lexical_type_WebSite() -> LexiconDoc<'static> { pub mod web_site_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -5007,16 +5056,134 @@ impl WebSiteBuilder { WebSiteBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5029,16 +5196,134 @@ impl WebSiteBuilder { WebSiteBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -5073,7 +5358,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `accessMode` field (optional) - pub fn access_mode(mut self, value: impl Into>>) -> Self { + pub fn access_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -5113,7 +5401,10 @@ impl WebSiteBuilder { self } /// Set the `accessibilityAPI` field to an Option value (optional) - pub fn maybe_accessibility_api(mut self, value: Option>) -> Self { + pub fn maybe_accessibility_api( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -5205,7 +5496,10 @@ impl WebSiteBuilder { self } /// Set the `accountablePerson` field to an Option value (optional) - pub fn maybe_accountable_person(mut self, value: Option>) -> Self { + pub fn maybe_accountable_person( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -5232,12 +5526,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `additionalType` field (optional) - pub fn additional_type(mut self, value: impl Into>>) -> Self { + pub fn additional_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.11 = value.into(); self } /// Set the `additionalType` field to an Option value (optional) - pub fn maybe_additional_type(mut self, value: Option>) -> Self { + pub fn maybe_additional_type( + mut self, + value: Option>, + ) -> Self { self._fields.11 = value; self } @@ -5245,12 +5545,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `aggregateRating` field (optional) - pub fn aggregate_rating(mut self, value: impl Into>>) -> Self { + pub fn aggregate_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.12 = value.into(); self } /// Set the `aggregateRating` field to an Option value (optional) - pub fn maybe_aggregate_rating(mut self, value: Option>) -> Self { + pub fn maybe_aggregate_rating( + mut self, + value: Option>, + ) -> Self { self._fields.12 = value; self } @@ -5258,12 +5564,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `alternateName` field (optional) - pub fn alternate_name(mut self, value: impl Into>>) -> Self { + pub fn alternate_name( + mut self, + value: impl Into>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `alternateName` field to an Option value (optional) - pub fn maybe_alternate_name(mut self, value: Option>) -> Self { + pub fn maybe_alternate_name( + mut self, + value: Option>, + ) -> Self { self._fields.13 = value; self } @@ -5290,7 +5602,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `archivedAt` field (optional) - pub fn archived_at(mut self, value: impl Into>>) -> Self { + pub fn archived_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.15 = value.into(); self } @@ -5316,12 +5631,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `associatedMedia` field (optional) - pub fn associated_media(mut self, value: impl Into>>) -> Self { + pub fn associated_media( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } /// Set the `associatedMedia` field to an Option value (optional) - pub fn maybe_associated_media(mut self, value: Option>) -> Self { + pub fn maybe_associated_media( + mut self, + value: Option>, + ) -> Self { self._fields.17 = value; self } @@ -5433,7 +5754,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `commentCount` field (optional) - pub fn comment_count(mut self, value: impl Into>>) -> Self { + pub fn comment_count( + mut self, + value: impl Into>>, + ) -> Self { self._fields.26 = value.into(); self } @@ -5465,12 +5789,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `contentLocation` field (optional) - pub fn content_location(mut self, value: impl Into>>) -> Self { + pub fn content_location( + mut self, + value: impl Into>>, + ) -> Self { self._fields.28 = value.into(); self } /// Set the `contentLocation` field to an Option value (optional) - pub fn maybe_content_location(mut self, value: Option>) -> Self { + pub fn maybe_content_location( + mut self, + value: Option>, + ) -> Self { self._fields.28 = value; self } @@ -5478,12 +5808,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `contentRating` field (optional) - pub fn content_rating(mut self, value: impl Into>>) -> Self { + pub fn content_rating( + mut self, + value: impl Into>>, + ) -> Self { self._fields.29 = value.into(); self } /// Set the `contentRating` field to an Option value (optional) - pub fn maybe_content_rating(mut self, value: Option>) -> Self { + pub fn maybe_content_rating( + mut self, + value: Option>, + ) -> Self { self._fields.29 = value; self } @@ -5510,7 +5846,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `contributor` field (optional) - pub fn contributor(mut self, value: impl Into>>) -> Self { + pub fn contributor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.31 = value.into(); self } @@ -5523,12 +5862,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `copyrightHolder` field (optional) - pub fn copyright_holder(mut self, value: impl Into>>) -> Self { + pub fn copyright_holder( + mut self, + value: impl Into>>, + ) -> Self { self._fields.32 = value.into(); self } /// Set the `copyrightHolder` field to an Option value (optional) - pub fn maybe_copyright_holder(mut self, value: Option>) -> Self { + pub fn maybe_copyright_holder( + mut self, + value: Option>, + ) -> Self { self._fields.32 = value; self } @@ -5536,12 +5881,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `copyrightNotice` field (optional) - pub fn copyright_notice(mut self, value: impl Into>>) -> Self { + pub fn copyright_notice( + mut self, + value: impl Into>>, + ) -> Self { self._fields.33 = value.into(); self } /// Set the `copyrightNotice` field to an Option value (optional) - pub fn maybe_copyright_notice(mut self, value: Option>) -> Self { + pub fn maybe_copyright_notice( + mut self, + value: Option>, + ) -> Self { self._fields.33 = value; self } @@ -5549,12 +5900,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `copyrightYear` field (optional) - pub fn copyright_year(mut self, value: impl Into>>) -> Self { + pub fn copyright_year( + mut self, + value: impl Into>>, + ) -> Self { self._fields.34 = value.into(); self } /// Set the `copyrightYear` field to an Option value (optional) - pub fn maybe_copyright_year(mut self, value: Option>) -> Self { + pub fn maybe_copyright_year( + mut self, + value: Option>, + ) -> Self { self._fields.34 = value; self } @@ -5583,7 +5940,10 @@ impl WebSiteBuilder { self } /// Set the `countryOfOrigin` field to an Option value (optional) - pub fn maybe_country_of_origin(mut self, value: Option>) -> Self { + pub fn maybe_country_of_origin( + mut self, + value: Option>, + ) -> Self { self._fields.36 = value; self } @@ -5623,7 +5983,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `creditText` field (optional) - pub fn credit_text(mut self, value: impl Into>>) -> Self { + pub fn credit_text( + mut self, + value: impl Into>>, + ) -> Self { self._fields.39 = value.into(); self } @@ -5636,7 +5999,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `dateCreated` field (optional) - pub fn date_created(mut self, value: impl Into>>) -> Self { + pub fn date_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.40 = value.into(); self } @@ -5649,7 +6015,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `dateModified` field (optional) - pub fn date_modified(mut self, value: impl Into>>) -> Self { + pub fn date_modified( + mut self, + value: impl Into>>, + ) -> Self { self._fields.41 = value.into(); self } @@ -5662,12 +6031,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `datePublished` field (optional) - pub fn date_published(mut self, value: impl Into>>) -> Self { + pub fn date_published( + mut self, + value: impl Into>>, + ) -> Self { self._fields.42 = value.into(); self } /// Set the `datePublished` field to an Option value (optional) - pub fn maybe_date_published(mut self, value: Option>) -> Self { + pub fn maybe_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.42 = value; self } @@ -5675,7 +6050,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `description` field (optional) - pub fn description(mut self, value: impl Into>>) -> Self { + pub fn description( + mut self, + value: impl Into>>, + ) -> Self { self._fields.43 = value.into(); self } @@ -5696,7 +6074,10 @@ impl WebSiteBuilder { self } /// Set the `digitalSourceType` field to an Option value (optional) - pub fn maybe_digital_source_type(mut self, value: Option>) -> Self { + pub fn maybe_digital_source_type( + mut self, + value: Option>, + ) -> Self { self._fields.44 = value; self } @@ -5723,12 +6104,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `discussionUrl` field (optional) - pub fn discussion_url(mut self, value: impl Into>>) -> Self { + pub fn discussion_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.46 = value.into(); self } /// Set the `discussionUrl` field to an Option value (optional) - pub fn maybe_discussion_url(mut self, value: Option>) -> Self { + pub fn maybe_discussion_url( + mut self, + value: Option>, + ) -> Self { self._fields.46 = value; self } @@ -5789,7 +6176,10 @@ impl WebSiteBuilder { self } /// Set the `educationalLevel` field to an Option value (optional) - pub fn maybe_educational_level(mut self, value: Option>) -> Self { + pub fn maybe_educational_level( + mut self, + value: Option>, + ) -> Self { self._fields.50 = value; self } @@ -5797,12 +6187,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `educationalUse` field (optional) - pub fn educational_use(mut self, value: impl Into>>) -> Self { + pub fn educational_use( + mut self, + value: impl Into>>, + ) -> Self { self._fields.51 = value.into(); self } /// Set the `educationalUse` field to an Option value (optional) - pub fn maybe_educational_use(mut self, value: Option>) -> Self { + pub fn maybe_educational_use( + mut self, + value: Option>, + ) -> Self { self._fields.51 = value; self } @@ -5823,12 +6219,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `encodingFormat` field (optional) - pub fn encoding_format(mut self, value: impl Into>>) -> Self { + pub fn encoding_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.53 = value.into(); self } /// Set the `encodingFormat` field to an Option value (optional) - pub fn maybe_encoding_format(mut self, value: Option>) -> Self { + pub fn maybe_encoding_format( + mut self, + value: Option>, + ) -> Self { self._fields.53 = value; self } @@ -5849,12 +6251,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `exampleOfWork` field (optional) - pub fn example_of_work(mut self, value: impl Into>>) -> Self { + pub fn example_of_work( + mut self, + value: impl Into>>, + ) -> Self { self._fields.55 = value.into(); self } /// Set the `exampleOfWork` field to an Option value (optional) - pub fn maybe_example_of_work(mut self, value: Option>) -> Self { + pub fn maybe_example_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.55 = value; self } @@ -5875,7 +6283,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `fileFormat` field (optional) - pub fn file_format(mut self, value: impl Into>>) -> Self { + pub fn file_format( + mut self, + value: impl Into>>, + ) -> Self { self._fields.57 = value.into(); self } @@ -5979,7 +6390,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `inLanguage` field (optional) - pub fn in_language(mut self, value: impl Into>>) -> Self { + pub fn in_language( + mut self, + value: impl Into>>, + ) -> Self { self._fields.65 = value.into(); self } @@ -6019,7 +6433,10 @@ impl WebSiteBuilder { self } /// Set the `interactivityType` field to an Option value (optional) - pub fn maybe_interactivity_type(mut self, value: Option>) -> Self { + pub fn maybe_interactivity_type( + mut self, + value: Option>, + ) -> Self { self._fields.67 = value; self } @@ -6078,12 +6495,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `isBasedOnUrl` field (optional) - pub fn is_based_on_url(mut self, value: impl Into>>) -> Self { + pub fn is_based_on_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.71 = value.into(); self } /// Set the `isBasedOnUrl` field to an Option value (optional) - pub fn maybe_is_based_on_url(mut self, value: Option>) -> Self { + pub fn maybe_is_based_on_url( + mut self, + value: Option>, + ) -> Self { self._fields.71 = value; self } @@ -6099,7 +6522,10 @@ impl WebSiteBuilder { self } /// Set the `isFamilyFriendly` field to an Option value (optional) - pub fn maybe_is_family_friendly(mut self, value: Option>) -> Self { + pub fn maybe_is_family_friendly( + mut self, + value: Option>, + ) -> Self { self._fields.72 = value; self } @@ -6178,12 +6604,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `locationCreated` field (optional) - pub fn location_created(mut self, value: impl Into>>) -> Self { + pub fn location_created( + mut self, + value: impl Into>>, + ) -> Self { self._fields.78 = value.into(); self } /// Set the `locationCreated` field to an Option value (optional) - pub fn maybe_location_created(mut self, value: Option>) -> Self { + pub fn maybe_location_created( + mut self, + value: Option>, + ) -> Self { self._fields.78 = value; self } @@ -6191,7 +6623,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `mainEntity` field (optional) - pub fn main_entity(mut self, value: impl Into>>) -> Self { + pub fn main_entity( + mut self, + value: impl Into>>, + ) -> Self { self._fields.79 = value.into(); self } @@ -6212,7 +6647,10 @@ impl WebSiteBuilder { self } /// Set the `mainEntityOfPage` field to an Option value (optional) - pub fn maybe_main_entity_of_page(mut self, value: Option>) -> Self { + pub fn maybe_main_entity_of_page( + mut self, + value: Option>, + ) -> Self { self._fields.80 = value; self } @@ -6246,12 +6684,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `materialExtent` field (optional) - pub fn material_extent(mut self, value: impl Into>>) -> Self { + pub fn material_extent( + mut self, + value: impl Into>>, + ) -> Self { self._fields.83 = value.into(); self } /// Set the `materialExtent` field to an Option value (optional) - pub fn maybe_material_extent(mut self, value: Option>) -> Self { + pub fn maybe_material_extent( + mut self, + value: Option>, + ) -> Self { self._fields.83 = value; self } @@ -6324,12 +6768,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `potentialAction` field (optional) - pub fn potential_action(mut self, value: impl Into>>) -> Self { + pub fn potential_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.89 = value.into(); self } /// Set the `potentialAction` field to an Option value (optional) - pub fn maybe_potential_action(mut self, value: Option>) -> Self { + pub fn maybe_potential_action( + mut self, + value: Option>, + ) -> Self { self._fields.89 = value; self } @@ -6363,7 +6813,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `publication` field (optional) - pub fn publication(mut self, value: impl Into>>) -> Self { + pub fn publication( + mut self, + value: impl Into>>, + ) -> Self { self._fields.92 = value.into(); self } @@ -6397,7 +6850,10 @@ impl WebSiteBuilder { self } /// Set the `publisherImprint` field to an Option value (optional) - pub fn maybe_publisher_imprint(mut self, value: Option>) -> Self { + pub fn maybe_publisher_imprint( + mut self, + value: Option>, + ) -> Self { self._fields.94 = value; self } @@ -6424,7 +6880,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `recordedAt` field (optional) - pub fn recorded_at(mut self, value: impl Into>>) -> Self { + pub fn recorded_at( + mut self, + value: impl Into>>, + ) -> Self { self._fields.96 = value.into(); self } @@ -6437,12 +6896,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `releasedEvent` field (optional) - pub fn released_event(mut self, value: impl Into>>) -> Self { + pub fn released_event( + mut self, + value: impl Into>>, + ) -> Self { self._fields.97 = value.into(); self } /// Set the `releasedEvent` field to an Option value (optional) - pub fn maybe_released_event(mut self, value: Option>) -> Self { + pub fn maybe_released_event( + mut self, + value: Option>, + ) -> Self { self._fields.97 = value; self } @@ -6489,12 +6954,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `schemaVersion` field (optional) - pub fn schema_version(mut self, value: impl Into>>) -> Self { + pub fn schema_version( + mut self, + value: impl Into>>, + ) -> Self { self._fields.101 = value.into(); self } /// Set the `schemaVersion` field to an Option value (optional) - pub fn maybe_schema_version(mut self, value: Option>) -> Self { + pub fn maybe_schema_version( + mut self, + value: Option>, + ) -> Self { self._fields.101 = value; self } @@ -6510,7 +6981,10 @@ impl WebSiteBuilder { self } /// Set the `sdDatePublished` field to an Option value (optional) - pub fn maybe_sd_date_published(mut self, value: Option>) -> Self { + pub fn maybe_sd_date_published( + mut self, + value: Option>, + ) -> Self { self._fields.102 = value; self } @@ -6531,7 +7005,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `sdPublisher` field (optional) - pub fn sd_publisher(mut self, value: impl Into>>) -> Self { + pub fn sd_publisher( + mut self, + value: impl Into>>, + ) -> Self { self._fields.104 = value.into(); self } @@ -6589,12 +7066,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `spatialCoverage` field (optional) - pub fn spatial_coverage(mut self, value: impl Into>>) -> Self { + pub fn spatial_coverage( + mut self, + value: impl Into>>, + ) -> Self { self._fields.108 = value.into(); self } /// Set the `spatialCoverage` field to an Option value (optional) - pub fn maybe_spatial_coverage(mut self, value: Option>) -> Self { + pub fn maybe_spatial_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.108 = value; self } @@ -6662,7 +7145,10 @@ impl WebSiteBuilder { self } /// Set the `temporalCoverage` field to an Option value (optional) - pub fn maybe_temporal_coverage(mut self, value: Option>) -> Self { + pub fn maybe_temporal_coverage( + mut self, + value: Option>, + ) -> Self { self._fields.113 = value; self } @@ -6696,7 +7182,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `thumbnailUrl` field (optional) - pub fn thumbnail_url(mut self, value: impl Into>>) -> Self { + pub fn thumbnail_url( + mut self, + value: impl Into>>, + ) -> Self { self._fields.116 = value.into(); self } @@ -6709,7 +7198,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `timeRequired` field (optional) - pub fn time_required(mut self, value: impl Into>>) -> Self { + pub fn time_required( + mut self, + value: impl Into>>, + ) -> Self { self._fields.117 = value.into(); self } @@ -6730,7 +7222,10 @@ impl WebSiteBuilder { self } /// Set the `translationOfWork` field to an Option value (optional) - pub fn maybe_translation_of_work(mut self, value: Option>) -> Self { + pub fn maybe_translation_of_work( + mut self, + value: Option>, + ) -> Self { self._fields.118 = value; self } @@ -6759,7 +7254,10 @@ impl WebSiteBuilder { self } /// Set the `typicalAgeRange` field to an Option value (optional) - pub fn maybe_typical_age_range(mut self, value: Option>) -> Self { + pub fn maybe_typical_age_range( + mut self, + value: Option>, + ) -> Self { self._fields.120 = value; self } @@ -6832,7 +7330,10 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `workExample` field (optional) - pub fn work_example(mut self, value: impl Into>>) -> Self { + pub fn work_example( + mut self, + value: impl Into>>, + ) -> Self { self._fields.126 = value.into(); self } @@ -6845,12 +7346,18 @@ impl WebSiteBuilder { impl WebSiteBuilder { /// Set the `workTranslation` field (optional) - pub fn work_translation(mut self, value: impl Into>>) -> Self { + pub fn work_translation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.127 = value.into(); self } /// Set the `workTranslation` field to an Option value (optional) - pub fn maybe_work_translation(mut self, value: Option>) -> Self { + pub fn maybe_work_translation( + mut self, + value: Option>, + ) -> Self { self._fields.127 = value; self } @@ -7128,4 +7635,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain.rs b/crates/jacquard-api/src/social_grain.rs index 73e4258aa..521e03a6f 100644 --- a/crates/jacquard-api/src/social_grain.rs +++ b/crates/jacquard-api/src/social_grain.rs @@ -11,6 +11,7 @@ pub mod favorite; pub mod gallery; pub mod photo; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -28,14 +29,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { pub height: i64, pub width: i64, @@ -80,7 +78,7 @@ impl LexiconSchema for AspectRatio { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -218,7 +216,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -228,10 +229,10 @@ where } fn lexicon_doc_social_grain_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.defs"), @@ -274,4 +275,4 @@ fn lexicon_doc_social_grain_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain/actor.rs b/crates/jacquard-api/src/social_grain/actor.rs index 1af4f7e42..c307855da 100644 --- a/crates/jacquard-api/src/social_grain/actor.rs +++ b/crates/jacquard-api/src/social_grain/actor.rs @@ -8,32 +8,30 @@ //! Generated bindings for the `social.grain.actor` Lexicon namespace/module. pub mod profile; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Handle, UriValue}; +use jacquard_common::types::string::{Did, Handle, Datetime, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::label::Label; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::label::Label; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileView { #[serde(skip_serializing_if = "Option::is_none")] pub avatar: Option>, @@ -112,7 +110,7 @@ impl LexiconSchema for ProfileView { pub mod profile_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -328,7 +326,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ProfileView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ProfileView { ProfileView { avatar: self._fields.0, created_at: self._fields.1, @@ -343,10 +344,10 @@ where } fn lexicon_doc_social_grain_actor_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.actor.defs"), @@ -355,10 +356,9 @@ fn lexicon_doc_social_grain_actor_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("profileView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("handle")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -425,4 +425,4 @@ fn lexicon_doc_social_grain_actor_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain/actor/profile.rs b/crates/jacquard-api/src/social_grain/actor/profile.rs index 611b4198a..5773739cd 100644 --- a/crates/jacquard-api/src/social_grain/actor/profile.rs +++ b/crates/jacquard-api/src/social_grain/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a basic account profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -123,20 +123,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -192,7 +197,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -331,10 +336,10 @@ where } fn lexicon_doc_social_grain_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.actor.profile"), @@ -343,9 +348,9 @@ fn lexicon_doc_social_grain_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a basic account profile.", - )), + description: Some( + CowStr::new_static("A declaration of a basic account profile."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { properties: { @@ -353,9 +358,7 @@ fn lexicon_doc_social_grain_actor_profile() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -367,9 +370,9 @@ fn lexicon_doc_social_grain_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form profile description text.", - )), + description: Some( + CowStr::new_static("Free-form profile description text."), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -394,4 +397,4 @@ fn lexicon_doc_social_grain_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain/favorite.rs b/crates/jacquard-api/src/social_grain/favorite.rs index 8d7859bac..7eee266ce 100644 --- a/crates/jacquard-api/src/social_grain/favorite.rs +++ b/crates/jacquard-api/src/social_grain/favorite.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -103,7 +103,7 @@ impl LexiconSchema for Favorite { pub mod favorite_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -251,10 +251,10 @@ where } fn lexicon_doc_social_grain_favorite() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.favorite"), @@ -265,10 +265,12 @@ fn lexicon_doc_social_grain_favorite() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("createdAt"), - SmolStr::new_static("subject"), - ]), + required: Some( + vec![ + SmolStr::new_static("createdAt"), + SmolStr::new_static("subject") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -297,4 +299,4 @@ fn lexicon_doc_social_grain_favorite() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain/gallery.rs b/crates/jacquard-api/src/social_grain/gallery.rs index 1b4de8651..710060754 100644 --- a/crates/jacquard-api/src/social_grain/gallery.rs +++ b/crates/jacquard-api/src/social_grain/gallery.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `social.grain.gallery` Lexicon namespace/module. pub mod item; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,13 +28,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::label::Label; use crate::com_atproto::label::SelfLabels; use crate::social_grain::actor::ProfileView; use crate::social_grain::photo::PhotoView; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -65,11 +66,9 @@ pub struct GalleryGetRecordOutput { pub value: Gallery, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GalleryView { pub cid: Cid, pub creator: ProfileView, @@ -170,7 +169,7 @@ impl LexiconSchema for GalleryView { pub mod gallery_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -215,12 +214,7 @@ pub mod gallery_state { /// Builder for constructing an instance of this type. pub struct GalleryBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option, - ), + _fields: (Option, Option, Option>, Option), _type: PhantomData S>, } @@ -311,7 +305,10 @@ where St::Title: gallery_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> GalleryBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> GalleryBuilder, S> { self._fields.3 = Option::Some(value.into()); GalleryBuilder { _state: PhantomData, @@ -350,10 +347,10 @@ where } fn lexicon_doc_social_grain_gallery() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.gallery"), @@ -423,7 +420,7 @@ fn lexicon_doc_social_grain_gallery() -> LexiconDoc<'static> { pub mod gallery_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -708,7 +705,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GalleryView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GalleryView { GalleryView { cid: self._fields.0.unwrap(), creator: self._fields.1.unwrap(), @@ -723,10 +723,10 @@ where } fn lexicon_doc_social_grain_gallery_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.gallery.defs"), @@ -735,13 +735,14 @@ fn lexicon_doc_social_grain_gallery_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("galleryView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("creator"), - SmolStr::new_static("record"), - SmolStr::new_static("indexedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("creator"), + SmolStr::new_static("record"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -755,7 +756,9 @@ fn lexicon_doc_social_grain_gallery_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("creator"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("social.grain.actor.defs#profileView"), + r#ref: CowStr::new_static( + "social.grain.actor.defs#profileView", + ), ..Default::default() }), ); @@ -770,9 +773,9 @@ fn lexicon_doc_social_grain_gallery_defs() -> LexiconDoc<'static> { SmolStr::new_static("items"), LexObjectProperty::Array(LexArray { items: LexArrayItem::Union(LexRefUnion { - refs: vec![CowStr::new_static( - "social.grain.photo.defs#photoView", - )], + refs: vec![ + CowStr::new_static("social.grain.photo.defs#photoView") + ], ..Default::default() }), ..Default::default() @@ -810,4 +813,4 @@ fn lexicon_doc_social_grain_gallery_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain/gallery/item.rs b/crates/jacquard-api/src/social_grain/gallery/item.rs index 0b0f3a59f..a60aab6a1 100644 --- a/crates/jacquard-api/src/social_grain/gallery/item.rs +++ b/crates/jacquard-api/src/social_grain/gallery/item.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -112,7 +112,7 @@ fn _default_item_position() -> Option { pub mod item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -171,12 +171,7 @@ pub mod item_state { /// Builder for constructing an instance of this type. pub struct ItemBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -260,7 +255,10 @@ where St::Item: item_state::IsUnset, { /// Set the `item` field (required) - pub fn item(mut self, value: impl Into>) -> ItemBuilder, S> { + pub fn item( + mut self, + value: impl Into>, + ) -> ItemBuilder, S> { self._fields.2 = Option::Some(value.into()); ItemBuilder { _state: PhantomData, @@ -313,10 +311,10 @@ where } fn lexicon_doc_social_grain_gallery_item() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.gallery.item"), @@ -327,11 +325,12 @@ fn lexicon_doc_social_grain_gallery_item() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("createdAt"), - SmolStr::new_static("gallery"), - SmolStr::new_static("item"), - ]), + required: Some( + vec![ + SmolStr::new_static("createdAt"), + SmolStr::new_static("gallery"), SmolStr::new_static("item") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -373,4 +372,4 @@ fn lexicon_doc_social_grain_gallery_item() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain/photo.rs b/crates/jacquard-api/src/social_grain/photo.rs index b66ca75fb..2a65dfce3 100644 --- a/crates/jacquard-api/src/social_grain/photo.rs +++ b/crates/jacquard-api/src/social_grain/photo.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `social.grain.photo` Lexicon namespace/module. pub mod exif; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -28,11 +29,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_grain::AspectRatio; -use crate::social_grain::photo; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_grain::AspectRatio; +use crate::social_grain::photo; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -64,11 +65,9 @@ pub struct PhotoGetRecordOutput { pub value: Photo, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ExifView { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -100,11 +99,9 @@ pub struct ExifView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PhotoView { ///Alt text description of the image, for accessibility. pub alt: S, @@ -185,16 +182,19 @@ impl LexiconSchema for Photo { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("photo"), @@ -240,7 +240,7 @@ impl LexiconSchema for PhotoView { pub mod photo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -285,12 +285,7 @@ pub mod photo_state { /// Builder for constructing an instance of this type. pub struct PhotoBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option>, - ), + _fields: (Option, Option>, Option, Option>), _type: PhantomData S>, } @@ -336,7 +331,10 @@ where St::Alt: photo_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> PhotoBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> PhotoBuilder, S> { self._fields.0 = Option::Some(value.into()); PhotoBuilder { _state: PhantomData, @@ -420,10 +418,10 @@ where } fn lexicon_doc_social_grain_photo() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.photo"), @@ -434,19 +432,22 @@ fn lexicon_doc_social_grain_photo() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("photo"), - SmolStr::new_static("alt"), - ]), + required: Some( + vec![ + SmolStr::new_static("photo"), SmolStr::new_static("alt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text description of the image, for accessibility.", - )), + description: Some( + CowStr::new_static( + "Alt text description of the image, for accessibility.", + ), + ), ..Default::default() }), ); @@ -466,9 +467,7 @@ fn lexicon_doc_social_grain_photo() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("photo"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -485,7 +484,7 @@ fn lexicon_doc_social_grain_photo() -> LexiconDoc<'static> { pub mod exif_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -569,7 +568,20 @@ impl ExifViewBuilder { ExifViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -582,7 +594,20 @@ impl ExifViewBuilder { ExifViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -832,10 +857,10 @@ where } fn lexicon_doc_social_grain_photo_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.photo.defs"), @@ -844,10 +869,12 @@ fn lexicon_doc_social_grain_photo_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("exifView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("photo"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("photo"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -867,33 +894,23 @@ fn lexicon_doc_social_grain_photo_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("dateTimeOriginal"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("exposureTime"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("fNumber"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("flash"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("focalLengthIn35mmFormat"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("iSO"), @@ -903,27 +920,19 @@ fn lexicon_doc_social_grain_photo_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("lensMake"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("lensModel"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("make"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("model"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("photo"), @@ -1035,7 +1044,7 @@ fn lexicon_doc_social_grain_photo_defs() -> LexiconDoc<'static> { pub mod photo_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1182,7 +1191,10 @@ where St::Alt: photo_view_state::IsUnset, { /// Set the `alt` field (required) - pub fn alt(mut self, value: impl Into) -> PhotoViewBuilder, S> { + pub fn alt( + mut self, + value: impl Into, + ) -> PhotoViewBuilder, S> { self._fields.0 = Option::Some(value.into()); PhotoViewBuilder { _state: PhantomData, @@ -1317,7 +1329,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PhotoView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PhotoView { PhotoView { alt: self._fields.0.unwrap(), aspect_ratio: self._fields.1, @@ -1329,4 +1344,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_grain/photo/exif.rs b/crates/jacquard-api/src/social_grain/photo/exif.rs index 843f357eb..9eb32c2b5 100644 --- a/crates/jacquard-api/src/social_grain/photo/exif.rs +++ b/crates/jacquard-api/src/social_grain/photo/exif.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Basic EXIF metadata for a photo. Integers are scaled by 1000000 to accommodate decimal values and potentially other tags in the future. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -124,7 +124,7 @@ impl LexiconSchema for Exif { pub mod exif_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -206,7 +206,18 @@ impl ExifBuilder { ExifBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -219,7 +230,18 @@ impl ExifBuilder { ExifBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -381,7 +403,10 @@ where St::Photo: exif_state::IsUnset, { /// Set the `photo` field (required) - pub fn photo(mut self, value: impl Into>) -> ExifBuilder, S> { + pub fn photo( + mut self, + value: impl Into>, + ) -> ExifBuilder, S> { self._fields.11 = Option::Some(value.into()); ExifBuilder { _state: PhantomData, @@ -436,10 +461,10 @@ where } fn lexicon_doc_social_grain_photo_exif() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.grain.photo.exif"), @@ -550,4 +575,4 @@ fn lexicon_doc_social_grain_photo_exif() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_lexical.rs b/crates/jacquard-api/src/social_lexical.rs index 405a0df5e..fd07b9d6f 100644 --- a/crates/jacquard-api/src/social_lexical.rs +++ b/crates/jacquard-api/src/social_lexical.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.lexical` Lexicon namespace/module. -pub mod works; +pub mod works; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_lexical/works.rs b/crates/jacquard-api/src/social_lexical/works.rs index ff0ab62af..ebd65b1d8 100644 --- a/crates/jacquard-api/src/social_lexical/works.rs +++ b/crates/jacquard-api/src/social_lexical/works.rs @@ -7,4 +7,4 @@ pub mod collection; pub mod collectionitem; pub mod identifiers; -pub mod work; +pub mod work; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_lexical/works/collection.rs b/crates/jacquard-api/src/social_lexical/works/collection.rs index 4811ab8be..b3cd93b1c 100644 --- a/crates/jacquard-api/src/social_lexical/works/collection.rs +++ b/crates/jacquard-api/src/social_lexical/works/collection.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,8 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; -/// +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -131,7 +130,7 @@ impl LexiconSchema for Collection { pub mod collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -283,7 +282,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Collection { Collection { created_at: self._fields.0.unwrap(), labels: self._fields.1, @@ -294,10 +296,10 @@ where } fn lexicon_doc_social_lexical_works_collection() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.lexical.works.collection"), @@ -309,10 +311,12 @@ fn lexicon_doc_social_lexical_works_collection() -> LexiconDoc<'static> { description: Some(CowStr::new_static("")), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -352,4 +356,4 @@ fn lexicon_doc_social_lexical_works_collection() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_lexical/works/collectionitem.rs b/crates/jacquard-api/src/social_lexical/works/collectionitem.rs index decbd6748..48883fa39 100644 --- a/crates/jacquard-api/src/social_lexical/works/collectionitem.rs +++ b/crates/jacquard-api/src/social_lexical/works/collectionitem.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,8 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; -/// +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -108,7 +107,7 @@ impl LexiconSchema for Collectionitem { pub mod collectionitem_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -165,7 +164,10 @@ pub mod collectionitem_state { } /// Builder for constructing an instance of this type. -pub struct CollectionitemBuilder { +pub struct CollectionitemBuilder< + St: collectionitem_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option>), _type: PhantomData S>, @@ -281,7 +283,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Collectionitem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Collectionitem { Collectionitem { created_at: self._fields.0.unwrap(), list: self._fields.1.unwrap(), @@ -292,10 +297,10 @@ where } fn lexicon_doc_social_lexical_works_collectionitem() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.lexical.works.collectionitem"), @@ -307,11 +312,12 @@ fn lexicon_doc_social_lexical_works_collectionitem() -> LexiconDoc<'static> { description: Some(CowStr::new_static("")), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("list"), - SmolStr::new_static("work"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("list"), SmolStr::new_static("work"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -350,4 +356,4 @@ fn lexicon_doc_social_lexical_works_collectionitem() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_lexical/works/identifiers.rs b/crates/jacquard-api/src/social_lexical/works/identifiers.rs index abd15ceb4..428baf397 100644 --- a/crates/jacquard-api/src/social_lexical/works/identifiers.rs +++ b/crates/jacquard-api/src/social_lexical/works/identifiers.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,16 +24,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_lexical::works::identifiers; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_lexical::works::identifiers; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Identifier { /// pub provider: IdentifierProvider, @@ -46,7 +43,6 @@ pub struct Identifier { pub extra_data: Option>>, } -/// #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum IdentifierProvider { @@ -129,6 +125,7 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( rename_all = "camelCase", @@ -230,10 +227,10 @@ impl LexiconSchema for Identifiers { } fn lexicon_doc_social_lexical_works_identifiers() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.lexical.works.identifiers"), @@ -242,10 +239,12 @@ fn lexicon_doc_social_lexical_works_identifiers() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("identifier"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("provider"), - SmolStr::new_static("providerId"), - ]), + required: Some( + vec![ + SmolStr::new_static("provider"), + SmolStr::new_static("providerId") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -281,10 +280,12 @@ fn lexicon_doc_social_lexical_works_identifiers() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("work"), - SmolStr::new_static("identifiers"), - ]), + required: Some( + vec![ + SmolStr::new_static("work"), + SmolStr::new_static("identifiers") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -323,7 +324,7 @@ fn lexicon_doc_social_lexical_works_identifiers() -> LexiconDoc<'static> { pub mod identifiers_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -461,11 +462,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Identifiers { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Identifiers { Identifiers { identifiers: self._fields.0.unwrap(), work: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_lexical/works/work.rs b/crates/jacquard-api/src/social_lexical/works/work.rs index 486833935..14a8d96ca 100644 --- a/crates/jacquard-api/src/social_lexical/works/work.rs +++ b/crates/jacquard-api/src/social_lexical/works/work.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,8 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; -/// +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -51,7 +50,6 @@ pub struct Work { pub extra_data: Option>>, } -/// #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum WorkWorkType { @@ -275,7 +273,7 @@ impl LexiconSchema for Work { pub mod work_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -379,7 +377,10 @@ where St::Title: work_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> WorkBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> WorkBuilder, S> { self._fields.1 = Option::Some(value.into()); WorkBuilder { _state: PhantomData, @@ -450,10 +451,10 @@ where } fn lexicon_doc_social_lexical_works_work() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.lexical.works.work"), @@ -465,10 +466,12 @@ fn lexicon_doc_social_lexical_works_work() -> LexiconDoc<'static> { description: Some(CowStr::new_static("")), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("workType"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), + SmolStr::new_static("workType") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -518,4 +521,4 @@ fn lexicon_doc_social_lexical_works_work() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_nstar.rs b/crates/jacquard-api/src/social_nstar.rs index b7b928067..c691927ad 100644 --- a/crates/jacquard-api/src/social_nstar.rs +++ b/crates/jacquard-api/src/social_nstar.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `social.nstar` Lexicon namespace/module. pub mod epds; -pub mod public; +pub mod public; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_nstar/epds.rs b/crates/jacquard-api/src/social_nstar/epds.rs index 8b5131836..1358a38f0 100644 --- a/crates/jacquard-api/src/social_nstar/epds.rs +++ b/crates/jacquard-api/src/social_nstar/epds.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.nstar.epds` Lexicon namespace/module. -pub mod repo; +pub mod repo; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_nstar/epds/repo.rs b/crates/jacquard-api/src/social_nstar/epds/repo.rs index c69e47f68..5daceaae4 100644 --- a/crates/jacquard-api/src/social_nstar/epds/repo.rs +++ b/crates/jacquard-api/src/social_nstar/epds/repo.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.nstar.epds.repo` Lexicon namespace/module. -pub mod get_status; +pub mod get_status; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_nstar/epds/repo/get_status.rs b/crates/jacquard-api/src/social_nstar/epds/repo/get_status.rs index caf442fc6..70ac38d9d 100644 --- a/crates/jacquard-api/src/social_nstar/epds/repo/get_status.rs +++ b/crates/jacquard-api/src/social_nstar/epds/repo/get_status.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Tid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStatus { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetStatusOutput { pub active: bool, pub did: Did, @@ -132,9 +127,13 @@ where GetStatusOutputStatus::Suspended => GetStatusOutputStatus::Suspended, GetStatusOutputStatus::Deleted => GetStatusOutputStatus::Deleted, GetStatusOutputStatus::Deactivated => GetStatusOutputStatus::Deactivated, - GetStatusOutputStatus::Desynchronized => GetStatusOutputStatus::Desynchronized, + GetStatusOutputStatus::Desynchronized => { + GetStatusOutputStatus::Desynchronized + } GetStatusOutputStatus::Throttled => GetStatusOutputStatus::Throttled, - GetStatusOutputStatus::Other(v) => GetStatusOutputStatus::Other(v.into_static()), + GetStatusOutputStatus::Other(v) => { + GetStatusOutputStatus::Other(v.into_static()) + } } } } @@ -169,7 +168,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetStatusRequest { pub mod get_status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -272,4 +271,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_nstar/public.rs b/crates/jacquard-api/src/social_nstar/public.rs index 357115988..c8cdd1959 100644 --- a/crates/jacquard-api/src/social_nstar/public.rs +++ b/crates/jacquard-api/src/social_nstar/public.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.nstar.public` Lexicon namespace/module. -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_nstar/public/profile.rs b/crates/jacquard-api/src/social_nstar/public/profile.rs index 3ad26951e..ebbc32ec8 100644 --- a/crates/jacquard-api/src/social_nstar/public/profile.rs +++ b/crates/jacquard-api/src/social_nstar/public/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a NorthStar Social public profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -128,20 +128,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -219,7 +224,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -395,10 +400,10 @@ where } fn lexicon_doc_social_nstar_public_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.nstar.public.profile"), @@ -407,9 +412,11 @@ fn lexicon_doc_social_nstar_public_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a NorthStar Social public profile.", - )), + description: Some( + CowStr::new_static( + "A declaration of a NorthStar Social public profile.", + ), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { properties: { @@ -417,9 +424,7 @@ fn lexicon_doc_social_nstar_public_profile() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -431,9 +436,9 @@ fn lexicon_doc_social_nstar_public_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form profile description text.", - )), + description: Some( + CowStr::new_static("Free-form profile description text."), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -450,9 +455,9 @@ fn lexicon_doc_social_nstar_public_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("pronouns"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Free-form pronouns text.", - )), + description: Some( + CowStr::new_static("Free-form pronouns text."), + ), max_length: Some(200usize), max_graphemes: Some(20usize), ..Default::default() @@ -476,4 +481,4 @@ fn lexicon_doc_social_nstar_public_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_octosphere.rs b/crates/jacquard-api/src/social_octosphere.rs index a89139e2d..e9d5556e8 100644 --- a/crates/jacquard-api/src/social_octosphere.rs +++ b/crates/jacquard-api/src/social_octosphere.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.octosphere` Lexicon namespace/module. -pub mod publication; +pub mod publication; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_octosphere/publication.rs b/crates/jacquard-api/src/social_octosphere/publication.rs index 71f95021b..bdd458495 100644 --- a/crates/jacquard-api/src/social_octosphere/publication.rs +++ b/crates/jacquard-api/src/social_octosphere/publication.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Scientific publication record bridged from Octopus.ac via Octosphere. Represents a single version of an Octopus publication. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -143,7 +143,8 @@ impl Serialize for PublicationPublicationType { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for PublicationPublicationType { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for PublicationPublicationType { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -170,7 +171,9 @@ where PublicationPublicationType::ResearchProblem => { PublicationPublicationType::ResearchProblem } - PublicationPublicationType::Hypothesis => PublicationPublicationType::Hypothesis, + PublicationPublicationType::Hypothesis => { + PublicationPublicationType::Hypothesis + } PublicationPublicationType::Protocol => PublicationPublicationType::Protocol, PublicationPublicationType::Analysis => PublicationPublicationType::Analysis, PublicationPublicationType::Interpretation => { @@ -180,7 +183,9 @@ where PublicationPublicationType::RealWorldApplication } PublicationPublicationType::Data => PublicationPublicationType::Data, - PublicationPublicationType::PeerReview => PublicationPublicationType::PeerReview, + PublicationPublicationType::PeerReview => { + PublicationPublicationType::PeerReview + } PublicationPublicationType::Other(v) => { PublicationPublicationType::Other(v.into_static()) } @@ -343,7 +348,7 @@ impl LexiconSchema for Publication { pub mod publication_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -659,8 +664,22 @@ impl PublicationBuilder { PublicationBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -673,8 +692,22 @@ impl PublicationBuilder { PublicationBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1000,7 +1033,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Publication { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Publication { Publication { canonical_url: self._fields.0, citations: self._fields.1.unwrap(), @@ -1024,10 +1060,10 @@ where } fn lexicon_doc_social_octosphere_publication() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.octosphere.publication"), @@ -1248,4 +1284,4 @@ fn lexicon_doc_social_octosphere_publication() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong.rs b/crates/jacquard-api/src/social_oolong.rs index 80898ccab..1dbb60b9a 100644 --- a/crates/jacquard-api/src/social_oolong.rs +++ b/crates/jacquard-api/src/social_oolong.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.oolong` Lexicon namespace/module. -pub mod alpha; +pub mod alpha; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha.rs b/crates/jacquard-api/src/social_oolong/alpha.rs index 6892a8128..c37364e5b 100644 --- a/crates/jacquard-api/src/social_oolong/alpha.rs +++ b/crates/jacquard-api/src/social_oolong/alpha.rs @@ -12,4 +12,4 @@ pub mod infuser; pub mod like; pub mod tea; pub mod vendor; -pub mod vessel; +pub mod vessel; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/brew.rs b/crates/jacquard-api/src/social_oolong/alpha/brew.rs index 2dc2a2d09..73ca0e519 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/brew.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/brew.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A tea brewing session #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -388,7 +388,7 @@ impl LexiconSchema for Brew { pub mod brew_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -484,7 +484,18 @@ impl BrewBuilder { BrewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -497,7 +508,18 @@ impl BrewBuilder { BrewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -538,12 +560,18 @@ impl BrewBuilder { impl BrewBuilder { /// Set the `infusionMethod` field (optional) - pub fn infusion_method(mut self, value: impl Into>>) -> Self { + pub fn infusion_method( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `infusionMethod` field to an Option value (optional) - pub fn maybe_infusion_method(mut self, value: Option>) -> Self { + pub fn maybe_infusion_method( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -724,10 +752,10 @@ where } fn lexicon_doc_social_oolong_alpha_brew() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.brew"), @@ -870,4 +898,4 @@ fn lexicon_doc_social_oolong_alpha_brew() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/cafe.rs b/crates/jacquard-api/src/social_oolong/alpha/cafe.rs index 070c6babb..020b5c2e1 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/cafe.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/cafe.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A cafe or teahouse where tea is served #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -171,7 +171,7 @@ impl LexiconSchema for Cafe { pub mod cafe_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -329,7 +329,10 @@ where St::Name: cafe_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> CafeBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> CafeBuilder, S> { self._fields.4 = Option::Some(value.into()); CafeBuilder { _state: PhantomData, @@ -415,10 +418,10 @@ where } fn lexicon_doc_social_oolong_alpha_cafe() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.cafe"), @@ -523,4 +526,4 @@ fn lexicon_doc_social_oolong_alpha_cafe() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/comment.rs b/crates/jacquard-api/src/social_oolong/alpha/comment.rs index a4a2f2c0d..4cfc1c4de 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/comment.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/comment.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A comment on an Oolong record (brew, tea, vendor, vessel, infuser, or another comment) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -136,7 +136,7 @@ impl LexiconSchema for Comment { pub mod comment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -195,12 +195,7 @@ pub mod comment_state { /// Builder for constructing an instance of this type. pub struct CommentBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - Option, - ), + _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, } @@ -297,7 +292,10 @@ where St::Text: comment_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> CommentBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> CommentBuilder, S> { self._fields.3 = Option::Some(value.into()); CommentBuilder { _state: PhantomData, @@ -337,10 +335,10 @@ where } fn lexicon_doc_social_oolong_alpha_comment() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.comment"), @@ -411,4 +409,4 @@ fn lexicon_doc_social_oolong_alpha_comment() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/drink.rs b/crates/jacquard-api/src/social_oolong/alpha/drink.rs index 5c17f09f3..71e18dd25 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/drink.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/drink.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A tea ordered at a cafe #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -63,6 +63,7 @@ pub struct Drink { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum DrinkStyle { Gongfu, @@ -280,7 +281,7 @@ impl LexiconSchema for Drink { pub mod drink_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -559,10 +560,10 @@ where } fn lexicon_doc_social_oolong_alpha_drink() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.drink"), @@ -680,4 +681,4 @@ fn lexicon_doc_social_oolong_alpha_drink() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/infuser.rs b/crates/jacquard-api/src/social_oolong/alpha/infuser.rs index 590aba616..730cb1f27 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/infuser.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/infuser.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A standalone infuser used inside a vessel to contain loose leaf during brewing (basket, ball, sock, etc.). Tea bags and loose-leaf-in-vessel are not infusers — they are infusion methods on the brew record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -256,7 +256,7 @@ impl LexiconSchema for Infuser { pub mod infuser_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -413,7 +413,10 @@ where St::Name: infuser_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> InfuserBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> InfuserBuilder, S> { self._fields.4 = Option::Some(value.into()); InfuserBuilder { _state: PhantomData, @@ -484,10 +487,10 @@ where } fn lexicon_doc_social_oolong_alpha_infuser() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.infuser"), @@ -593,4 +596,4 @@ fn lexicon_doc_social_oolong_alpha_infuser() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/like.rs b/crates/jacquard-api/src/social_oolong/alpha/like.rs index 2e084a23b..44e98ca1e 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/like.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A like on an Oolong record (brew, tea, vendor, vessel, or infuser) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -255,10 +255,10 @@ where } fn lexicon_doc_social_oolong_alpha_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.like"), @@ -267,24 +267,28 @@ fn lexicon_doc_social_oolong_alpha_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A like on an Oolong record (brew, tea, vendor, vessel, or infuser)", - )), + description: Some( + CowStr::new_static( + "A like on an Oolong record (brew, tea, vendor, vessel, or infuser)", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the like was created", - )), + description: Some( + CowStr::new_static("Timestamp when the like was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -307,4 +311,4 @@ fn lexicon_doc_social_oolong_alpha_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/tea.rs b/crates/jacquard-api/src/social_oolong/alpha/tea.rs index 03ce14de0..9aa16a66d 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/tea.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/tea.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A tea variety tracked by the user #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -334,7 +334,7 @@ impl LexiconSchema for Tea { pub mod tea_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -414,9 +414,7 @@ impl TeaBuilder { pub fn new() -> Self { TeaBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -427,9 +425,7 @@ impl TeaBuilder { pub fn builder() -> Self { TeaBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -630,10 +626,10 @@ where } fn lexicon_doc_social_oolong_alpha_tea() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.tea"), @@ -769,4 +765,4 @@ fn lexicon_doc_social_oolong_alpha_tea() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/vendor.rs b/crates/jacquard-api/src/social_oolong/alpha/vendor.rs index d2084aef7..384fb1445 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/vendor.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/vendor.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A tea vendor — seller, blender, or importer of tea #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -159,7 +159,7 @@ impl LexiconSchema for Vendor { pub mod vendor_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -302,7 +302,10 @@ where St::Name: vendor_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> VendorBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> VendorBuilder, S> { self._fields.3 = Option::Some(value.into()); VendorBuilder { _state: PhantomData, @@ -371,10 +374,10 @@ where } fn lexicon_doc_social_oolong_alpha_vendor() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.vendor"), @@ -479,4 +482,4 @@ fn lexicon_doc_social_oolong_alpha_vendor() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_oolong/alpha/vessel.rs b/crates/jacquard-api/src/social_oolong/alpha/vessel.rs index 05b23896d..f92c190c6 100644 --- a/crates/jacquard-api/src/social_oolong/alpha/vessel.rs +++ b/crates/jacquard-api/src/social_oolong/alpha/vessel.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A tea brewing vessel — holds water during brewing #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -272,7 +272,7 @@ impl LexiconSchema for Vessel { pub mod vessel_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -443,7 +443,10 @@ where St::Name: vessel_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> VesselBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> VesselBuilder, S> { self._fields.5 = Option::Some(value.into()); VesselBuilder { _state: PhantomData, @@ -516,10 +519,10 @@ where } fn lexicon_doc_social_oolong_alpha_vessel() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.oolong.alpha.vessel"), @@ -632,4 +635,4 @@ fn lexicon_doc_social_oolong_alpha_vessel() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace.rs b/crates/jacquard-api/src/social_pace.rs index b14dfa74d..fd01d0576 100644 --- a/crates/jacquard-api/src/social_pace.rs +++ b/crates/jacquard-api/src/social_pace.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `social.pace` Lexicon namespace/module. pub mod daily; pub mod feed; -pub mod goal; +pub mod goal; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/daily.rs b/crates/jacquard-api/src/social_pace/daily.rs index 71873d042..7b411b360 100644 --- a/crates/jacquard-api/src/social_pace/daily.rs +++ b/crates/jacquard-api/src/social_pace/daily.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `social.pace.daily` Lexicon namespace/module. pub mod ring; -pub mod step; +pub mod step; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/daily/ring.rs b/crates/jacquard-api/src/social_pace/daily/ring.rs index a55175e76..a582673dd 100644 --- a/crates/jacquard-api/src/social_pace/daily/ring.rs +++ b/crates/jacquard-api/src/social_pace/daily/ring.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A record of daily activity rings (Apple Fitness), including move, exercise, and stand goals. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -115,7 +115,7 @@ impl LexiconSchema for Ring { pub mod ring_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -361,7 +361,10 @@ where St::Move: ring_state::IsUnset, { /// Set the `move` field (required) - pub fn r#move(mut self, value: impl Into) -> RingBuilder, S> { + pub fn r#move( + mut self, + value: impl Into, + ) -> RingBuilder, S> { self._fields.3 = Option::Some(value.into()); RingBuilder { _state: PhantomData, @@ -468,10 +471,10 @@ where } fn lexicon_doc_social_pace_daily_ring() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pace.daily.ring"), @@ -555,4 +558,4 @@ fn lexicon_doc_social_pace_daily_ring() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/daily/step.rs b/crates/jacquard-api/src/social_pace/daily/step.rs index c521c9d51..d99ea2458 100644 --- a/crates/jacquard-api/src/social_pace/daily/step.rs +++ b/crates/jacquard-api/src/social_pace/daily/step.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A daily recording of your steps for that day. This record is expected to be update throughout the day and represent's 12am-12pm in your timezone, or what you count as a "day". The key is also traditionally the date of your "day" yyy-mm-dd. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +108,7 @@ impl LexiconSchema for Step { pub mod step_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -232,7 +232,10 @@ where St::Steps: step_state::IsUnset, { /// Set the `steps` field (required) - pub fn steps(mut self, value: impl Into) -> StepBuilder, S> { + pub fn steps( + mut self, + value: impl Into, + ) -> StepBuilder, S> { self._fields.1 = Option::Some(value.into()); StepBuilder { _state: PhantomData, @@ -289,10 +292,10 @@ where } fn lexicon_doc_social_pace_daily_step() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pace.daily.step"), @@ -355,4 +358,4 @@ fn lexicon_doc_social_pace_daily_step() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/feed.rs b/crates/jacquard-api/src/social_pace/feed.rs index 55ec840b9..dfbb3f5e8 100644 --- a/crates/jacquard-api/src/social_pace/feed.rs +++ b/crates/jacquard-api/src/social_pace/feed.rs @@ -8,12 +8,13 @@ //! Generated bindings for the `social.pace.feed` Lexicon namespace/module. pub mod activity; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The type of activity being recorded. List taken from Apple Health Activities mostly #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -242,10 +243,7 @@ where /// A split within an activity, like a mile split or kilometer split. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Split { ///The distance covered in this split. Follows the units defined in the parent. pub distance: S, @@ -274,7 +272,7 @@ impl LexiconSchema for Split { pub mod split_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -417,7 +415,10 @@ where St::Order: split_state::IsUnset, { /// Set the `order` field (required) - pub fn order(mut self, value: impl Into) -> SplitBuilder, S> { + pub fn order( + mut self, + value: impl Into, + ) -> SplitBuilder, S> { self._fields.2 = Option::Some(value.into()); SplitBuilder { _state: PhantomData, @@ -455,10 +456,10 @@ where } fn lexicon_doc_social_pace_feed_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pace.feed.defs"), @@ -526,4 +527,4 @@ fn lexicon_doc_social_pace_feed_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/feed/activity.rs b/crates/jacquard-api/src/social_pace/feed/activity.rs index c5c71c70f..5d4eaa025 100644 --- a/crates/jacquard-api/src/social_pace/feed/activity.rs +++ b/crates/jacquard-api/src/social_pace/feed/activity.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_pace::feed::ActivityType; -use crate::social_pace::feed::Split; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_pace::feed::ActivityType; +use crate::social_pace::feed::Split; /// A recording of an activity. Like running, walking, lifting weights, etc. Helpful to create the rkey tid from the start time and clock id 23 so you can upsert easily. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -137,23 +137,29 @@ impl LexiconSchema for Activity { if let Some(ref value) = self.route { { let mime = value.blob().mime_type.as_str(); - let accepted: &[&str] = &["application/vnd.garmin.tcx+xml", "application/gpx+xml."]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let accepted: &[&str] = &[ + "application/vnd.garmin.tcx+xml", + "application/gpx+xml.", + ]; + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("route"), accepted: vec![ "application/vnd.garmin.tcx+xml".to_string(), - "application/gpx+xml.".to_string(), + "application/gpx+xml.".to_string() ], actual: mime.to_string(), }); @@ -166,7 +172,7 @@ impl LexiconSchema for Activity { pub mod activity_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -489,10 +495,10 @@ where } fn lexicon_doc_social_pace_feed_activity() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pace.feed.activity"), @@ -620,4 +626,4 @@ fn lexicon_doc_social_pace_feed_activity() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/goal.rs b/crates/jacquard-api/src/social_pace/goal.rs index d0ec0ed06..cb7f94e33 100644 --- a/crates/jacquard-api/src/social_pace/goal.rs +++ b/crates/jacquard-api/src/social_pace/goal.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `social.pace.goal` Lexicon namespace/module. pub mod ring; -pub mod step; +pub mod step; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/goal/ring.rs b/crates/jacquard-api/src/social_pace/goal/ring.rs index 2fea4e110..36bd71626 100644 --- a/crates/jacquard-api/src/social_pace/goal/ring.rs +++ b/crates/jacquard-api/src/social_pace/goal/ring.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A record of daily activity rings (Apple Fitness), including move, exercise, and stand goals. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -115,7 +115,7 @@ impl LexiconSchema for Ring { pub mod ring_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -361,7 +361,10 @@ where St::Move: ring_state::IsUnset, { /// Set the `move` field (required) - pub fn r#move(mut self, value: impl Into) -> RingBuilder, S> { + pub fn r#move( + mut self, + value: impl Into, + ) -> RingBuilder, S> { self._fields.3 = Option::Some(value.into()); RingBuilder { _state: PhantomData, @@ -468,10 +471,10 @@ where } fn lexicon_doc_social_pace_goal_ring() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pace.goal.ring"), @@ -555,4 +558,4 @@ fn lexicon_doc_social_pace_goal_ring() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pace/goal/step.rs b/crates/jacquard-api/src/social_pace/goal/step.rs index 4b8b60d3e..c08ddb3b0 100644 --- a/crates/jacquard-api/src/social_pace/goal/step.rs +++ b/crates/jacquard-api/src/social_pace/goal/step.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A daily recording of your steps for that day. This record is expected to be update throughout the day and represent's 12am-12pm in your timezone, or what you count as a "day". The key is also traditionally the date of your "day" yyy-mm-dd. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -108,7 +108,7 @@ impl LexiconSchema for Step { pub mod step_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -232,7 +232,10 @@ where St::Steps: step_state::IsUnset, { /// Set the `steps` field (required) - pub fn steps(mut self, value: impl Into) -> StepBuilder, S> { + pub fn steps( + mut self, + value: impl Into, + ) -> StepBuilder, S> { self._fields.1 = Option::Some(value.into()); StepBuilder { _state: PhantomData, @@ -289,10 +292,10 @@ where } fn lexicon_doc_social_pace_goal_step() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pace.goal.step"), @@ -355,4 +358,4 @@ fn lexicon_doc_social_pace_goal_step() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pmsky.rs b/crates/jacquard-api/src/social_pmsky.rs index cc19600c4..433ce28be 100644 --- a/crates/jacquard-api/src/social_pmsky.rs +++ b/crates/jacquard-api/src/social_pmsky.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `social.pmsky` Lexicon namespace/module. pub mod proposal; -pub mod vote; +pub mod vote; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pmsky/proposal.rs b/crates/jacquard-api/src/social_pmsky/proposal.rs index 77d523a34..8a1b86b86 100644 --- a/crates/jacquard-api/src/social_pmsky/proposal.rs +++ b/crates/jacquard-api/src/social_pmsky/proposal.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -142,7 +142,7 @@ impl LexiconSchema for Proposal { pub mod proposal_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -270,9 +270,7 @@ impl ProposalBuilder { pub fn new() -> Self { ProposalBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -283,9 +281,7 @@ impl ProposalBuilder { pub fn builder() -> Self { ProposalBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -400,7 +396,10 @@ where St::Typ: proposal_state::IsUnset, { /// Set the `typ` field (required) - pub fn typ(mut self, value: impl Into) -> ProposalBuilder, S> { + pub fn typ( + mut self, + value: impl Into, + ) -> ProposalBuilder, S> { self._fields.7 = Option::Some(value.into()); ProposalBuilder { _state: PhantomData, @@ -435,7 +434,10 @@ where St::Val: proposal_state::IsUnset, { /// Set the `val` field (required) - pub fn val(mut self, value: impl Into) -> ProposalBuilder, S> { + pub fn val( + mut self, + value: impl Into, + ) -> ProposalBuilder, S> { self._fields.9 = Option::Some(value.into()); ProposalBuilder { _state: PhantomData, @@ -504,10 +506,10 @@ where } fn lexicon_doc_social_pmsky_proposal() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pmsky.proposal"), @@ -661,4 +663,4 @@ fn lexicon_doc_social_pmsky_proposal() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_pmsky/vote.rs b/crates/jacquard-api/src/social_pmsky/vote.rs index 8792de7b5..78c9812db 100644 --- a/crates/jacquard-api/src/social_pmsky/vote.rs +++ b/crates/jacquard-api/src/social_pmsky/vote.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, UriValue}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -123,7 +123,7 @@ impl LexiconSchema for Vote { pub mod vote_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -279,7 +279,10 @@ where St::Cts: vote_state::IsUnset, { /// Set the `cts` field (required) - pub fn cts(mut self, value: impl Into) -> VoteBuilder, S> { + pub fn cts( + mut self, + value: impl Into, + ) -> VoteBuilder, S> { self._fields.2 = Option::Some(value.into()); VoteBuilder { _state: PhantomData, @@ -321,7 +324,10 @@ where St::Src: vote_state::IsUnset, { /// Set the `src` field (required) - pub fn src(mut self, value: impl Into>) -> VoteBuilder, S> { + pub fn src( + mut self, + value: impl Into>, + ) -> VoteBuilder, S> { self._fields.5 = Option::Some(value.into()); VoteBuilder { _state: PhantomData, @@ -337,7 +343,10 @@ where St::Uri: vote_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> VoteBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> VoteBuilder, S> { self._fields.6 = Option::Some(value.into()); VoteBuilder { _state: PhantomData, @@ -353,7 +362,10 @@ where St::Val: vote_state::IsUnset, { /// Set the `val` field (required) - pub fn val(mut self, value: impl Into) -> VoteBuilder, S> { + pub fn val( + mut self, + value: impl Into, + ) -> VoteBuilder, S> { self._fields.7 = Option::Some(value.into()); VoteBuilder { _state: PhantomData, @@ -402,10 +414,10 @@ where } fn lexicon_doc_social_pmsky_vote() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.pmsky.vote"), @@ -522,4 +534,4 @@ fn lexicon_doc_social_pmsky_vote() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky.rs b/crates/jacquard-api/src/social_psky.rs index caecad6f8..819ffa214 100644 --- a/crates/jacquard-api/src/social_psky.rs +++ b/crates/jacquard-api/src/social_psky.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `social.psky` Lexicon namespace/module. pub mod actor; pub mod chat; -pub mod richtext; +pub mod richtext; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky/actor.rs b/crates/jacquard-api/src/social_psky/actor.rs index e37f4935e..7a37ae8e3 100644 --- a/crates/jacquard-api/src/social_psky/actor.rs +++ b/crates/jacquard-api/src/social_psky/actor.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.psky.actor` Lexicon namespace/module. -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky/actor/profile.rs b/crates/jacquard-api/src/social_psky/actor/profile.rs index ad73a2f30..a7b78660c 100644 --- a/crates/jacquard-api/src/social_psky/actor/profile.rs +++ b/crates/jacquard-api/src/social_psky/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A declaration of a Picosky account profile. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -126,7 +126,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -220,10 +220,10 @@ where } fn lexicon_doc_social_psky_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.psky.actor.profile"), @@ -232,9 +232,9 @@ fn lexicon_doc_social_psky_actor_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A declaration of a Picosky account profile.", - )), + description: Some( + CowStr::new_static("A declaration of a Picosky account profile."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { properties: { @@ -259,4 +259,4 @@ fn lexicon_doc_social_psky_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky/chat.rs b/crates/jacquard-api/src/social_psky/chat.rs index 9591f7bc5..f65e35565 100644 --- a/crates/jacquard-api/src/social_psky/chat.rs +++ b/crates/jacquard-api/src/social_psky/chat.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `social.psky.chat` Lexicon namespace/module. pub mod message; -pub mod room; +pub mod room; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky/chat/message.rs b/crates/jacquard-api/src/social_psky/chat/message.rs index 1f02947f5..f3c528037 100644 --- a/crates/jacquard-api/src/social_psky/chat/message.rs +++ b/crates/jacquard-api/src/social_psky/chat/message.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; -use crate::social_psky::richtext::facet::Facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::social_psky::richtext::facet::Facet; /// A Picosky message containing at most 2048 graphemes. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -136,7 +136,7 @@ impl LexiconSchema for Message { pub mod message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -181,12 +181,7 @@ pub mod message_state { /// Builder for constructing an instance of this type. pub struct MessageBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>>, - Option>, - Option>, - ), + _fields: (Option, Option>>, Option>, Option>), _type: PhantomData S>, } @@ -319,10 +314,10 @@ where } fn lexicon_doc_social_psky_chat_message() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.psky.chat.message"), @@ -331,15 +326,18 @@ fn lexicon_doc_social_psky_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A Picosky message containing at most 2048 graphemes.", - )), + description: Some( + CowStr::new_static( + "A Picosky message containing at most 2048 graphemes.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("content"), - SmolStr::new_static("room"), - ]), + required: Some( + vec![ + SmolStr::new_static("content"), SmolStr::new_static("room") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -355,9 +353,11 @@ fn lexicon_doc_social_psky_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("facets"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Annotations of text (mentions, URLs, hashtags, etc)", - )), + description: Some( + CowStr::new_static( + "Annotations of text (mentions, URLs, hashtags, etc)", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("social.psky.richtext.facet"), ..Default::default() @@ -390,4 +390,4 @@ fn lexicon_doc_social_psky_chat_message() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky/chat/room.rs b/crates/jacquard-api/src/social_psky/chat/room.rs index 96bb5b383..0dfaddcfd 100644 --- a/crates/jacquard-api/src/social_psky/chat/room.rs +++ b/crates/jacquard-api/src/social_psky/chat/room.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Did, Language}; +use jacquard_common::types::string::{Did, AtUri, Cid, Language}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_psky::chat::room; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_psky::chat::room; /// A Picosky room belonging to the user. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -67,11 +67,9 @@ pub struct RoomGetRecordOutput { pub value: Room, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModlistRef { /// Defaults to `false`. #[serde(default = "_default_modlist_ref_active")] @@ -212,7 +210,7 @@ impl LexiconSchema for ModlistRef { pub mod room_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -337,7 +335,10 @@ where St::Name: room_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> RoomBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> RoomBuilder, S> { self._fields.3 = Option::Some(value.into()); RoomBuilder { _state: PhantomData, @@ -405,10 +406,10 @@ where } fn lexicon_doc_social_psky_chat_room() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.psky.chat.room"), @@ -417,7 +418,9 @@ fn lexicon_doc_social_psky_chat_room() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A Picosky room belonging to the user.")), + description: Some( + CowStr::new_static("A Picosky room belonging to the user."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("name")]), @@ -470,9 +473,9 @@ fn lexicon_doc_social_psky_chat_room() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("topic"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Topic title of the room.", - )), + description: Some( + CowStr::new_static("Topic title of the room."), + ), max_length: Some(2560usize), max_graphemes: Some(256usize), ..Default::default() @@ -488,10 +491,9 @@ fn lexicon_doc_social_psky_chat_room() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modlistRef"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("active"), - SmolStr::new_static("users"), - ]), + required: Some( + vec![SmolStr::new_static("active"), SmolStr::new_static("users")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -528,7 +530,7 @@ fn _default_modlist_ref_active() -> bool { pub mod modlist_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -666,11 +668,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ModlistRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ModlistRef { ModlistRef { active: self._fields.0.unwrap(), users: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky/richtext.rs b/crates/jacquard-api/src/social_psky/richtext.rs index 2bf88dc58..0cee91a8d 100644 --- a/crates/jacquard-api/src/social_psky/richtext.rs +++ b/crates/jacquard-api/src/social_psky/richtext.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.psky.richtext` Lexicon namespace/module. -pub mod facet; +pub mod facet; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_psky/richtext/facet.rs b/crates/jacquard-api/src/social_psky/richtext/facet.rs index fa2ec8847..a750bb6c7 100644 --- a/crates/jacquard-api/src/social_psky/richtext/facet.rs +++ b/crates/jacquard-api/src/social_psky/richtext/facet.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_psky::richtext::facet; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_psky::richtext::facet; /// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ByteSlice { pub byte_end: i64, pub byte_start: i64, @@ -42,10 +39,7 @@ pub struct ByteSlice { /// Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Link { pub uri: UriValue, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -55,10 +49,7 @@ pub struct Link { /// Annotation of a sub-string within rich text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Facet { pub features: Vec>, pub index: facet::ByteSlice, @@ -66,6 +57,7 @@ pub struct Facet { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -81,10 +73,7 @@ pub enum FacetFeaturesItem { /// Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Mention { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -94,10 +83,7 @@ pub struct Mention { /// Facet feature for a room. The text usually includes a '#' prefix, but the facet reference should not (except in the case of a room tag that includes a '#' prefix) - TODO: update when rooms are actually implemented #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Room { pub room: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -225,7 +211,7 @@ impl LexiconSchema for Room { pub mod byte_slice_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -363,7 +349,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ByteSlice { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ByteSlice { ByteSlice { byte_end: self._fields.0.unwrap(), byte_start: self._fields.1.unwrap(), @@ -373,10 +362,10 @@ where } fn lexicon_doc_social_psky_richtext_facet() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.psky.richtext.facet"), @@ -445,13 +434,16 @@ fn lexicon_doc_social_psky_richtext_facet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Annotation of a sub-string within rich text.", - )), - required: Some(vec![ - SmolStr::new_static("index"), - SmolStr::new_static("features"), - ]), + description: Some( + CowStr::new_static( + "Annotation of a sub-string within rich text.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("index"), SmolStr::new_static("features") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -460,9 +452,8 @@ fn lexicon_doc_social_psky_richtext_facet() -> LexiconDoc<'static> { LexObjectProperty::Array(LexArray { items: LexArrayItem::Union(LexRefUnion { refs: vec![ - CowStr::new_static("#mention"), - CowStr::new_static("#link"), - CowStr::new_static("#room"), + CowStr::new_static("#mention"), CowStr::new_static("#link"), + CowStr::new_static("#room") ], ..Default::default() }), @@ -538,7 +529,7 @@ fn lexicon_doc_social_psky_richtext_facet() -> LexiconDoc<'static> { pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -617,7 +608,10 @@ where St::Uri: link_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> LinkBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> LinkBuilder, S> { self._fields.0 = Option::Some(value.into()); LinkBuilder { _state: PhantomData, @@ -650,7 +644,7 @@ where pub mod facet_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -695,10 +689,7 @@ pub mod facet_state { /// Builder for constructing an instance of this type. pub struct FacetBuilder { _state: PhantomData St>, - _fields: ( - Option>>, - Option>, - ), + _fields: (Option>>, Option>), _type: PhantomData S>, } @@ -802,7 +793,7 @@ where pub mod mention_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -881,7 +872,10 @@ where St::Did: mention_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> MentionBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> MentionBuilder, S> { self._fields.0 = Option::Some(value.into()); MentionBuilder { _state: PhantomData, @@ -910,4 +904,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase.rs b/crates/jacquard-api/src/social_showcase.rs index f79ff5020..8309963e0 100644 --- a/crates/jacquard-api/src/social_showcase.rs +++ b/crates/jacquard-api/src/social_showcase.rs @@ -12,12 +12,13 @@ pub mod graph; pub mod library; pub mod profile; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -29,17 +30,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_showcase; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase; /// Activity sharing preferences #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ActivitySettings { ///Activity retention period Defaults to `90`. #[serde(default = "_default_activity_settings_retention_days")] @@ -103,7 +101,8 @@ impl Serialize for ActivitySettingsShareActivity { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ActivitySettingsShareActivity { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ActivitySettingsShareActivity { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -128,7 +127,9 @@ where fn into_static(self) -> Self::Output { match self { ActivitySettingsShareActivity::All => ActivitySettingsShareActivity::All, - ActivitySettingsShareActivity::Followers => ActivitySettingsShareActivity::Followers, + ActivitySettingsShareActivity::Followers => { + ActivitySettingsShareActivity::Followers + } ActivitySettingsShareActivity::None => ActivitySettingsShareActivity::None, ActivitySettingsShareActivity::Other(v) => { ActivitySettingsShareActivity::Other(v.into_static()) @@ -140,10 +141,7 @@ where /// Image aspect ratio #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { #[serde(skip_serializing_if = "Option::is_none")] pub height: Option, @@ -156,10 +154,7 @@ pub struct AspectRatio { /// Reference to an item in a collection #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CollectionItem { pub added_at: Datetime, ///For custom sorting @@ -173,10 +168,7 @@ pub struct CollectionItem { /// View of a collection with items #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CollectionView { pub author: social_showcase::ProfileView, pub cid: Cid, @@ -203,10 +195,7 @@ pub struct CollectionView { /// Display preferences #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DisplaySettings { #[serde(skip_serializing_if = "Option::is_none")] pub grid_layout: Option>, @@ -216,6 +205,7 @@ pub struct DisplaySettings { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum DisplaySettingsGridLayout { Compact, @@ -262,7 +252,8 @@ impl Serialize for DisplaySettingsGridLayout { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for DisplaySettingsGridLayout { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for DisplaySettingsGridLayout { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -295,6 +286,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum DisplaySettingsTheme { Light, @@ -371,7 +363,9 @@ where DisplaySettingsTheme::Light => DisplaySettingsTheme::Light, DisplaySettingsTheme::Dark => DisplaySettingsTheme::Dark, DisplaySettingsTheme::Auto => DisplaySettingsTheme::Auto, - DisplaySettingsTheme::Other(v) => DisplaySettingsTheme::Other(v.into_static()), + DisplaySettingsTheme::Other(v) => { + DisplaySettingsTheme::Other(v.into_static()) + } } } } @@ -379,10 +373,7 @@ where /// Image embedded in an item #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ItemImage { ///Alt text for accessibility #[serde(skip_serializing_if = "Option::is_none")] @@ -397,10 +388,7 @@ pub struct ItemImage { /// View of an item with metadata #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ItemView { pub author: social_showcase::ProfileView, #[serde(skip_serializing_if = "Option::is_none")] @@ -429,10 +417,7 @@ pub struct ItemView { /// Notification preferences #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NotificationSettings { pub comments: bool, pub follows: bool, @@ -444,10 +429,7 @@ pub struct NotificationSettings { /// Privacy preferences #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PrivacySettings { ///Let others comment pub allow_comments: bool, @@ -462,10 +444,7 @@ pub struct PrivacySettings { /// View of a user profile #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileView { #[serde(skip_serializing_if = "Option::is_none")] pub avatar: Option>, @@ -484,10 +463,7 @@ pub struct ProfileView { /// Subject of a reaction #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReactionSubject { pub cid: Cid, pub uri: AtUri, @@ -498,10 +474,7 @@ pub struct ReactionSubject { /// View of a reaction to content #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReactionView { pub actor: social_showcase::ProfileView, pub created_at: Datetime, @@ -516,10 +489,7 @@ pub struct ReactionView { /// A reference to an item featured in a user's showcase (hydrated at read time) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ShowcaseItem { pub added_at: Datetime, ///Display order (0 = first) @@ -533,10 +503,7 @@ pub struct ShowcaseItem { /// Visibility preferences #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VisibilitySettings { pub default_collection_visibility: VisibilitySettingsDefaultCollectionVisibility, pub default_item_visibility: VisibilitySettingsDefaultItemVisibility, @@ -545,6 +512,7 @@ pub struct VisibilitySettings { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsDefaultCollectionVisibility { Public, @@ -592,8 +560,7 @@ impl Serialize for VisibilitySettingsDefaultCollectionVisibility { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for VisibilitySettingsDefaultCollectionVisibility -{ +for VisibilitySettingsDefaultCollectionVisibility { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -609,7 +576,8 @@ impl Default for VisibilitySettingsDefaultCollectionVisibil } } -impl jacquard_common::IntoStatic for VisibilitySettingsDefaultCollectionVisibility +impl jacquard_common::IntoStatic +for VisibilitySettingsDefaultCollectionVisibility where S: BosStr + jacquard_common::IntoStatic, S::Output: BosStr, @@ -630,6 +598,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsDefaultItemVisibility { Public, @@ -680,8 +649,7 @@ impl Serialize for VisibilitySettingsDefaultItemVisibility { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for VisibilitySettingsDefaultItemVisibility -{ +for VisibilitySettingsDefaultItemVisibility { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -697,7 +665,8 @@ impl Default for VisibilitySettingsDefaultItemVisibility } } -impl jacquard_common::IntoStatic for VisibilitySettingsDefaultItemVisibility +impl jacquard_common::IntoStatic +for VisibilitySettingsDefaultItemVisibility where S: BosStr + jacquard_common::IntoStatic, S::Output: BosStr, @@ -721,6 +690,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum VisibilitySettingsProfileVisibility { Public, @@ -771,8 +741,7 @@ impl Serialize for VisibilitySettingsProfileVisibility { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for VisibilitySettingsProfileVisibility -{ +for VisibilitySettingsProfileVisibility { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1029,23 +998,25 @@ impl LexiconSchema for ItemImage { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blob"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -1310,7 +1281,7 @@ fn _default_activity_settings_retention_days() -> i64 { pub mod activity_settings_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1367,13 +1338,12 @@ pub mod activity_settings_state { } /// Builder for constructing an instance of this type. -pub struct ActivitySettingsBuilder { +pub struct ActivitySettingsBuilder< + St: activity_settings_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - ), + _fields: (Option, Option>, Option), _type: PhantomData S>, } @@ -1487,7 +1457,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ActivitySettings { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ActivitySettings { ActivitySettings { retention_days: self._fields.0.unwrap(), share_activity: self._fields.1.unwrap(), @@ -1498,10 +1471,10 @@ where } fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.showcase.defs"), @@ -1510,12 +1483,16 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("activitySettings"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Activity sharing preferences")), - required: Some(vec![ - SmolStr::new_static("shareNewItems"), - SmolStr::new_static("shareActivity"), - SmolStr::new_static("retentionDays"), - ]), + description: Some( + CowStr::new_static("Activity sharing preferences"), + ), + required: Some( + vec![ + SmolStr::new_static("shareNewItems"), + SmolStr::new_static("shareActivity"), + SmolStr::new_static("retentionDays") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1528,9 +1505,9 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("shareActivity"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Who sees your activity feed", - )), + description: Some( + CowStr::new_static("Who sees your activity feed"), + ), max_length: Some(10usize), ..Default::default() }), @@ -1575,12 +1552,15 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("collectionItem"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Reference to an item in a collection")), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("addedAt"), - SmolStr::new_static("order"), - ]), + description: Some( + CowStr::new_static("Reference to an item in a collection"), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("addedAt"), + SmolStr::new_static("order") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1600,9 +1580,11 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI reference to item (always shows latest version)", - )), + description: Some( + CowStr::new_static( + "AT-URI reference to item (always shows latest version)", + ), + ), max_length: Some(8192usize), ..Default::default() }), @@ -1615,17 +1597,19 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("collectionView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("View of a collection with items")), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("name"), - SmolStr::new_static("tags"), - SmolStr::new_static("type"), - SmolStr::new_static("visibility"), - SmolStr::new_static("author"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static("View of a collection with items"), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("name"), SmolStr::new_static("tags"), + SmolStr::new_static("type"), + SmolStr::new_static("visibility"), + SmolStr::new_static("author"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1645,9 +1629,7 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("coverImage"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -1766,7 +1748,9 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Alt text for accessibility")), + description: Some( + CowStr::new_static("Alt text for accessibility"), + ), max_length: Some(300usize), ..Default::default() }), @@ -1780,9 +1764,7 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("blob"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -1792,17 +1774,19 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("itemView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("View of an item with metadata")), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("title"), - SmolStr::new_static("tags"), - SmolStr::new_static("images"), - SmolStr::new_static("visibility"), - SmolStr::new_static("author"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static("View of an item with metadata"), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("title"), SmolStr::new_static("tags"), + SmolStr::new_static("images"), + SmolStr::new_static("visibility"), + SmolStr::new_static("author"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1918,11 +1902,13 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { SmolStr::new_static("notificationSettings"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Notification preferences")), - required: Some(vec![ - SmolStr::new_static("reactions"), - SmolStr::new_static("follows"), - SmolStr::new_static("comments"), - ]), + required: Some( + vec![ + SmolStr::new_static("reactions"), + SmolStr::new_static("follows"), + SmolStr::new_static("comments") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1953,11 +1939,13 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { SmolStr::new_static("privacySettings"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Privacy preferences")), - required: Some(vec![ - SmolStr::new_static("allowReactions"), - SmolStr::new_static("allowComments"), - SmolStr::new_static("indexable"), - ]), + required: Some( + vec![ + SmolStr::new_static("allowReactions"), + SmolStr::new_static("allowComments"), + SmolStr::new_static("indexable") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1988,24 +1976,19 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { SmolStr::new_static("profileView"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("View of a user profile")), - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("handle")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("banner"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("did"), @@ -2047,7 +2030,9 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { SmolStr::new_static("reactionSubject"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Subject of a reaction")), - required: Some(vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")]), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("cid")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2073,14 +2058,16 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reactionView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("View of a reaction to content")), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("actor"), - SmolStr::new_static("subject"), - SmolStr::new_static("type"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static("View of a reaction to content"), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("actor"), + SmolStr::new_static("subject"), SmolStr::new_static("type"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2176,11 +2163,13 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { SmolStr::new_static("visibilitySettings"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("Visibility preferences")), - required: Some(vec![ - SmolStr::new_static("profileVisibility"), - SmolStr::new_static("defaultItemVisibility"), - SmolStr::new_static("defaultCollectionVisibility"), - ]), + required: Some( + vec![ + SmolStr::new_static("profileVisibility"), + SmolStr::new_static("defaultItemVisibility"), + SmolStr::new_static("defaultCollectionVisibility") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2218,7 +2207,7 @@ fn lexicon_doc_social_showcase_defs() -> LexiconDoc<'static> { pub mod collection_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2275,7 +2264,10 @@ pub mod collection_item_state { } /// Builder for constructing an instance of this type. -pub struct CollectionItemBuilder { +pub struct CollectionItemBuilder< + St: collection_item_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -2391,7 +2383,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CollectionItem { CollectionItem { added_at: self._fields.0.unwrap(), order: self._fields.1.unwrap(), @@ -2403,7 +2398,7 @@ where pub mod collection_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2560,7 +2555,10 @@ pub mod collection_view_state { } /// Builder for constructing an instance of this type. -pub struct CollectionViewBuilder { +pub struct CollectionViewBuilder< + St: collection_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -2600,7 +2598,19 @@ impl CollectionViewBuilder { CollectionViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2613,7 +2623,19 @@ impl CollectionViewBuilder { CollectionViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -2718,12 +2740,18 @@ impl CollectionViewBuilder { impl CollectionViewBuilder { /// Set the `items` field (optional) - pub fn items(mut self, value: impl Into>>>) -> Self { + pub fn items( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `items` field to an Option value (optional) - pub fn maybe_items(mut self, value: Option>>) -> Self { + pub fn maybe_items( + mut self, + value: Option>>, + ) -> Self { self._fields.6 = value; self } @@ -2869,7 +2897,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CollectionView { CollectionView { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -2891,7 +2922,7 @@ where pub mod item_image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2924,11 +2955,7 @@ pub mod item_image_state { /// Builder for constructing an instance of this type. pub struct ItemImageBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - ), + _fields: (Option, Option>, Option>), _type: PhantomData S>, } @@ -2991,7 +3018,10 @@ impl ItemImageBuilder { self } /// Set the `aspectRatio` field to an Option value (optional) - pub fn maybe_aspect_ratio(mut self, value: Option>) -> Self { + pub fn maybe_aspect_ratio( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -3031,7 +3061,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ItemImage { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ItemImage { ItemImage { alt: self._fields.0, aspect_ratio: self._fields.1, @@ -3043,7 +3076,7 @@ where pub mod item_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3241,7 +3274,20 @@ impl ItemViewBuilder { ItemViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3254,7 +3300,20 @@ impl ItemViewBuilder { ItemViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3547,7 +3606,7 @@ where pub mod notification_settings_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3615,14 +3674,20 @@ pub struct NotificationSettingsBuilder< impl NotificationSettings { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> NotificationSettingsBuilder { + pub fn new() -> NotificationSettingsBuilder< + notification_settings_state::Empty, + DefaultStr, + > { NotificationSettingsBuilder::new() } } impl NotificationSettings { /// Create a new builder for this type - pub fn builder() -> NotificationSettingsBuilder { + pub fn builder() -> NotificationSettingsBuilder< + notification_settings_state::Empty, + S, + > { NotificationSettingsBuilder::builder() } } @@ -3738,7 +3803,7 @@ where pub mod privacy_settings_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3795,7 +3860,10 @@ pub mod privacy_settings_state { } /// Builder for constructing an instance of this type. -pub struct PrivacySettingsBuilder { +pub struct PrivacySettingsBuilder< + St: privacy_settings_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -3911,7 +3979,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PrivacySettings { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PrivacySettings { PrivacySettings { allow_comments: self._fields.0.unwrap(), allow_reactions: self._fields.1.unwrap(), @@ -3923,7 +3994,7 @@ where pub mod reaction_subject_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3966,7 +4037,10 @@ pub mod reaction_subject_state { } /// Builder for constructing an instance of this type. -pub struct ReactionSubjectBuilder { +pub struct ReactionSubjectBuilder< + St: reaction_subject_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -4061,7 +4135,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReactionSubject { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReactionSubject { ReactionSubject { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -4072,7 +4149,7 @@ where pub mod reaction_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4327,7 +4404,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReactionView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReactionView { ReactionView { actor: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -4341,7 +4421,7 @@ where pub mod showcase_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -4514,7 +4594,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ShowcaseItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ShowcaseItem { ShowcaseItem { added_at: self._fields.0.unwrap(), order: self._fields.1.unwrap(), @@ -4522,4 +4605,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/collection.rs b/crates/jacquard-api/src/social_showcase/collection.rs index 0e4b10750..abccd53f3 100644 --- a/crates/jacquard-api/src/social_showcase/collection.rs +++ b/crates/jacquard-api/src/social_showcase/collection.rs @@ -7,4 +7,4 @@ pub mod delete_collection; pub mod get_collection; pub mod list_collections; -pub mod update_collection; +pub mod update_collection; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/collection/delete_collection.rs b/crates/jacquard-api/src/social_showcase/collection/delete_collection.rs index d74363e0d..00d05bc91 100644 --- a/crates/jacquard-api/src/social_showcase/collection/delete_collection.rs +++ b/crates/jacquard-api/src/social_showcase/collection/delete_collection.rs @@ -10,19 +10,16 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteCollection { ///The AT-URI of the collection to delete pub uri: AtUri, @@ -30,6 +27,7 @@ pub struct DeleteCollection { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct DeleteCollectionOutput { @@ -49,8 +47,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteCollectionResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteCollection { const NSID: &'static str = "social.showcase.collection.deleteCollection"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteCollectionResponse; } @@ -60,15 +59,16 @@ Path: `/xrpc/social.showcase.collection.deleteCollection`. The request payload t pub struct DeleteCollectionRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteCollectionRequest { const PATH: &'static str = "/xrpc/social.showcase.collection.deleteCollection"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteCollection; type Response = DeleteCollectionResponse; } pub mod delete_collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +99,10 @@ pub mod delete_collection_state { } /// Builder for constructing an instance of this type. -pub struct DeleteCollectionBuilder { +pub struct DeleteCollectionBuilder< + St: delete_collection_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -173,10 +176,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteCollection { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteCollection { DeleteCollection { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/collection/get_collection.rs b/crates/jacquard-api/src/social_showcase/collection/get_collection.rs index aa734000f..3227c64bd 100644 --- a/crates/jacquard-api/src/social_showcase/collection/get_collection.rs +++ b/crates/jacquard-api/src/social_showcase/collection/get_collection.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::CollectionView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::CollectionView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetCollection { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetCollectionOutput { #[serde(flatten)] pub value: CollectionView, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetCollectionRequest { pub mod get_collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -100,7 +95,10 @@ pub mod get_collection_state { } /// Builder for constructing an instance of this type. -pub struct GetCollectionBuilder { +pub struct GetCollectionBuilder< + St: get_collection_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -172,4 +170,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/collection/list_collections.rs b/crates/jacquard-api/src/social_showcase/collection/list_collections.rs index 400d2e2bd..9bd75cc9d 100644 --- a/crates/jacquard-api/src/social_showcase/collection/list_collections.rs +++ b/crates/jacquard-api/src/social_showcase/collection/list_collections.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::CollectionView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::CollectionView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListCollections { pub actor: AtIdentifier, /// (max length: 512) @@ -34,11 +31,9 @@ pub struct ListCollections { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListCollectionsOutput { pub collections: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod list_collections_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -112,7 +107,10 @@ pub mod list_collections_state { } /// Builder for constructing an instance of this type. -pub struct ListCollectionsBuilder { +pub struct ListCollectionsBuilder< + St: list_collections_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -212,4 +210,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/collection/update_collection.rs b/crates/jacquard-api/src/social_showcase/collection/update_collection.rs index f42d9848f..00c09232a 100644 --- a/crates/jacquard-api/src/social_showcase/collection/update_collection.rs +++ b/crates/jacquard-api/src/social_showcase/collection/update_collection.rs @@ -8,23 +8,20 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::CollectionItem; -use crate::social_showcase::CollectionView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::CollectionItem; +use crate::social_showcase::CollectionView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateCollection { #[serde(skip_serializing_if = "Option::is_none")] pub cover_image: Option>, @@ -44,6 +41,7 @@ pub struct UpdateCollection { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UpdateCollectionVisibility { Public, @@ -90,7 +88,8 @@ impl Serialize for UpdateCollectionVisibility { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for UpdateCollectionVisibility { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for UpdateCollectionVisibility { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -123,11 +122,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateCollectionOutput { #[serde(flatten)] pub value: CollectionView, @@ -148,8 +145,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateCollectionResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateCollection { const NSID: &'static str = "social.showcase.collection.updateCollection"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateCollectionResponse; } @@ -159,15 +157,16 @@ Path: `/xrpc/social.showcase.collection.updateCollection`. The request payload t pub struct UpdateCollectionRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateCollectionRequest { const PATH: &'static str = "/xrpc/social.showcase.collection.updateCollection"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateCollection; type Response = UpdateCollectionResponse; } pub mod update_collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -198,7 +197,10 @@ pub mod update_collection_state { } /// Builder for constructing an instance of this type. -pub struct UpdateCollectionBuilder { +pub struct UpdateCollectionBuilder< + St: update_collection_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -334,12 +336,18 @@ where impl UpdateCollectionBuilder { /// Set the `visibility` field (optional) - pub fn visibility(mut self, value: impl Into>>) -> Self { + pub fn visibility( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `visibility` field to an Option value (optional) - pub fn maybe_visibility(mut self, value: Option>) -> Self { + pub fn maybe_visibility( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -364,7 +372,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateCollection { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateCollection { UpdateCollection { cover_image: self._fields.0, description: self._fields.1, @@ -376,4 +387,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/feed.rs b/crates/jacquard-api/src/social_showcase/feed.rs index 04e7e42f5..9625f4a16 100644 --- a/crates/jacquard-api/src/social_showcase/feed.rs +++ b/crates/jacquard-api/src/social_showcase/feed.rs @@ -7,4 +7,4 @@ pub mod get_author_feed; pub mod get_timeline; pub mod reaction; -pub mod search_posts; +pub mod search_posts; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/feed/get_author_feed.rs b/crates/jacquard-api/src/social_showcase/feed/get_author_feed.rs index af707f93d..24f96e746 100644 --- a/crates/jacquard-api/src/social_showcase/feed/get_author_feed.rs +++ b/crates/jacquard-api/src/social_showcase/feed/get_author_feed.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ItemView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ItemView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAuthorFeed { pub actor: AtIdentifier, /// (max length: 512) @@ -34,11 +31,9 @@ pub struct GetAuthorFeed { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAuthorFeedOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod get_author_feed_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -112,7 +107,10 @@ pub mod get_author_feed_state { } /// Builder for constructing an instance of this type. -pub struct GetAuthorFeedBuilder { +pub struct GetAuthorFeedBuilder< + St: get_author_feed_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -212,4 +210,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/feed/get_timeline.rs b/crates/jacquard-api/src/social_showcase/feed/get_timeline.rs index c84d2226f..bc37c128e 100644 --- a/crates/jacquard-api/src/social_showcase/feed/get_timeline.rs +++ b/crates/jacquard-api/src/social_showcase/feed/get_timeline.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ItemView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ItemView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTimeline { /// (max length: 512) #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetTimeline { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetTimelineOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod get_timeline_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -176,4 +171,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/feed/reaction.rs b/crates/jacquard-api/src/social_showcase/feed/reaction.rs index b8c2fa138..308b4e920 100644 --- a/crates/jacquard-api/src/social_showcase/feed/reaction.rs +++ b/crates/jacquard-api/src/social_showcase/feed/reaction.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_showcase::ReactionSubject; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ReactionSubject; /// Reaction record - emoji reactions to items/collections #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -118,7 +118,7 @@ impl LexiconSchema for Reaction { pub mod reaction_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -302,10 +302,10 @@ where } fn lexicon_doc_social_showcase_feed_reaction() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.showcase.feed.reaction"), @@ -314,16 +314,19 @@ fn lexicon_doc_social_showcase_feed_reaction() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Reaction record - emoji reactions to items/collections", - )), + description: Some( + CowStr::new_static( + "Reaction record - emoji reactions to items/collections", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("type"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), SmolStr::new_static("type"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -346,9 +349,11 @@ fn lexicon_doc_social_showcase_feed_reaction() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("type"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Emoji reaction shortcode (e.g., :heart:, :fire:, :star:)", - )), + description: Some( + CowStr::new_static( + "Emoji reaction shortcode (e.g., :heart:, :fire:, :star:)", + ), + ), max_length: Some(100usize), ..Default::default() }), @@ -364,4 +369,4 @@ fn lexicon_doc_social_showcase_feed_reaction() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/feed/search_posts.rs b/crates/jacquard-api/src/social_showcase/feed/search_posts.rs index 7082f7a28..c2af54756 100644 --- a/crates/jacquard-api/src/social_showcase/feed/search_posts.rs +++ b/crates/jacquard-api/src/social_showcase/feed/search_posts.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::CollectionView; -use crate::social_showcase::ItemView; -use crate::social_showcase::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::CollectionView; +use crate::social_showcase::ItemView; +use crate::social_showcase::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchPosts { /// (max length: 512) #[serde(skip_serializing_if = "Option::is_none")] @@ -38,11 +35,9 @@ pub struct SearchPosts { pub r#type: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchPostsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -51,6 +46,7 @@ pub struct SearchPostsOutput { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -97,7 +93,7 @@ fn _default_limit() -> Option { pub mod search_posts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -202,7 +198,10 @@ where St::Q: search_posts_state::IsUnset, { /// Set the `q` field (required) - pub fn q(mut self, value: impl Into) -> SearchPostsBuilder, S> { + pub fn q( + mut self, + value: impl Into, + ) -> SearchPostsBuilder, S> { self._fields.2 = Option::Some(value.into()); SearchPostsBuilder { _state: PhantomData, @@ -239,4 +238,4 @@ where r#type: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/graph.rs b/crates/jacquard-api/src/social_showcase/graph.rs index c8ff05ba0..468198fda 100644 --- a/crates/jacquard-api/src/social_showcase/graph.rs +++ b/crates/jacquard-api/src/social_showcase/graph.rs @@ -8,4 +8,4 @@ pub mod block; pub mod follow; pub mod get_blocks; pub mod get_followers; -pub mod get_following; +pub mod get_following; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/graph/block.rs b/crates/jacquard-api/src/social_showcase/graph/block.rs index 23613037d..c8580a03c 100644 --- a/crates/jacquard-api/src/social_showcase/graph/block.rs +++ b/crates/jacquard-api/src/social_showcase/graph/block.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Block record - block users from interacting (mirrors app.bsky.graph.block) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Block { pub mod block_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -253,10 +253,10 @@ where } fn lexicon_doc_social_showcase_graph_block() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.showcase.graph.block"), @@ -309,4 +309,4 @@ fn lexicon_doc_social_showcase_graph_block() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/graph/follow.rs b/crates/jacquard-api/src/social_showcase/graph/follow.rs index 98592e672..75ca6e6c9 100644 --- a/crates/jacquard-api/src/social_showcase/graph/follow.rs +++ b/crates/jacquard-api/src/social_showcase/graph/follow.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Follow record - who follows who (mirrors app.bsky.graph.follow) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Follow { pub mod follow_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -253,10 +253,10 @@ where } fn lexicon_doc_social_showcase_graph_follow() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.showcase.graph.follow"), @@ -265,15 +265,19 @@ fn lexicon_doc_social_showcase_graph_follow() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Follow record - who follows who (mirrors app.bsky.graph.follow)", - )), + description: Some( + CowStr::new_static( + "Follow record - who follows who (mirrors app.bsky.graph.follow)", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -287,9 +291,9 @@ fn lexicon_doc_social_showcase_graph_follow() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of user being followed", - )), + description: Some( + CowStr::new_static("DID of user being followed"), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -305,4 +309,4 @@ fn lexicon_doc_social_showcase_graph_follow() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/graph/get_blocks.rs b/crates/jacquard-api/src/social_showcase/graph/get_blocks.rs index e912ba76d..baa8ebf19 100644 --- a/crates/jacquard-api/src/social_showcase/graph/get_blocks.rs +++ b/crates/jacquard-api/src/social_showcase/graph/get_blocks.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBlocks { /// (max length: 512) #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetBlocks { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetBlocksOutput { pub blocks: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod get_blocks_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -176,4 +171,4 @@ where limit: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/graph/get_followers.rs b/crates/jacquard-api/src/social_showcase/graph/get_followers.rs index 69a1b6f3c..b89a4921f 100644 --- a/crates/jacquard-api/src/social_showcase/graph/get_followers.rs +++ b/crates/jacquard-api/src/social_showcase/graph/get_followers.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollowers { pub actor: AtIdentifier, /// (max length: 512) @@ -34,11 +31,9 @@ pub struct GetFollowers { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollowersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod get_followers_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,4 +207,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/graph/get_following.rs b/crates/jacquard-api/src/social_showcase/graph/get_following.rs index fdba3b498..24500c392 100644 --- a/crates/jacquard-api/src/social_showcase/graph/get_following.rs +++ b/crates/jacquard-api/src/social_showcase/graph/get_following.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollowing { pub actor: AtIdentifier, /// (max length: 512) @@ -34,11 +31,9 @@ pub struct GetFollowing { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetFollowingOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod get_following_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,4 +207,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/library.rs b/crates/jacquard-api/src/social_showcase/library.rs index 81fb198d5..9dd7312d7 100644 --- a/crates/jacquard-api/src/social_showcase/library.rs +++ b/crates/jacquard-api/src/social_showcase/library.rs @@ -9,4 +9,4 @@ pub mod delete_item; pub mod get_item; pub mod item; pub mod list_items; -pub mod update_item; +pub mod update_item; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/library/create_item.rs b/crates/jacquard-api/src/social_showcase/library/create_item.rs index d756db52b..8e4f431a3 100644 --- a/crates/jacquard-api/src/social_showcase/library/create_item.rs +++ b/crates/jacquard-api/src/social_showcase/library/create_item.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ItemImage; -use crate::social_showcase::ItemView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::UriValue; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ItemImage; +use crate::social_showcase::ItemView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateItem { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -41,6 +38,7 @@ pub struct CreateItem { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum CreateItemVisibility { Public, @@ -117,16 +115,16 @@ where CreateItemVisibility::Public => CreateItemVisibility::Public, CreateItemVisibility::Unlisted => CreateItemVisibility::Unlisted, CreateItemVisibility::Private => CreateItemVisibility::Private, - CreateItemVisibility::Other(v) => CreateItemVisibility::Other(v.into_static()), + CreateItemVisibility::Other(v) => { + CreateItemVisibility::Other(v.into_static()) + } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateItemOutput { #[serde(flatten)] pub value: ItemView, @@ -147,8 +145,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateItemResponse { impl jacquard_common::xrpc::XrpcRequest for CreateItem { const NSID: &'static str = "social.showcase.library.createItem"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateItemResponse; } @@ -158,15 +157,16 @@ Path: `/xrpc/social.showcase.library.createItem`. The request payload type is `C pub struct CreateItemRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateItemRequest { const PATH: &'static str = "/xrpc/social.showcase.library.createItem"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateItem; type Response = CreateItemResponse; } pub mod create_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -441,7 +441,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateItem { CreateItem { category: self._fields.0, description: self._fields.1, @@ -454,4 +457,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/library/delete_item.rs b/crates/jacquard-api/src/social_showcase/library/delete_item.rs index b6ce7e6f6..9afeed50a 100644 --- a/crates/jacquard-api/src/social_showcase/library/delete_item.rs +++ b/crates/jacquard-api/src/social_showcase/library/delete_item.rs @@ -10,19 +10,16 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteItem { ///The AT-URI of the item to delete pub uri: AtUri, @@ -30,6 +27,7 @@ pub struct DeleteItem { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct DeleteItemOutput { @@ -49,8 +47,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteItemResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteItem { const NSID: &'static str = "social.showcase.library.deleteItem"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteItemResponse; } @@ -60,15 +59,16 @@ Path: `/xrpc/social.showcase.library.deleteItem`. The request payload type is `D pub struct DeleteItemRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteItemRequest { const PATH: &'static str = "/xrpc/social.showcase.library.deleteItem"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteItem; type Response = DeleteItemResponse; } pub mod delete_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -173,10 +173,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteItem { DeleteItem { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/library/get_item.rs b/crates/jacquard-api/src/social_showcase/library/get_item.rs index 1eea43c42..51a1ce19c 100644 --- a/crates/jacquard-api/src/social_showcase/library/get_item.rs +++ b/crates/jacquard-api/src/social_showcase/library/get_item.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ItemView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ItemView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetItem { pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetItemOutput { #[serde(flatten)] pub value: ItemView, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetItemRequest { pub mod get_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where uri: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/library/item.rs b/crates/jacquard-api/src/social_showcase/library/item.rs index 4a68d9bbb..c9f0ff723 100644 --- a/crates/jacquard-api/src/social_showcase/library/item.rs +++ b/crates/jacquard-api/src/social_showcase/library/item.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_showcase::ItemImage; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ItemImage; /// Showcase item record #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -71,6 +71,7 @@ pub struct Item { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ItemVisibility { Public, @@ -291,7 +292,7 @@ fn _default_item_schema_version() -> Option { pub mod item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -421,7 +422,18 @@ impl ItemBuilder { ItemBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -434,7 +446,18 @@ impl ItemBuilder { ItemBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -563,7 +586,10 @@ where St::Tags: item_state::IsUnset, { /// Set the `tags` field (required) - pub fn tags(mut self, value: impl Into>) -> ItemBuilder, S> { + pub fn tags( + mut self, + value: impl Into>, + ) -> ItemBuilder, S> { self._fields.8 = Option::Some(value.into()); ItemBuilder { _state: PhantomData, @@ -579,7 +605,10 @@ where St::Title: item_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> ItemBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> ItemBuilder, S> { self._fields.9 = Option::Some(value.into()); ItemBuilder { _state: PhantomData, @@ -669,10 +698,10 @@ where } fn lexicon_doc_social_showcase_library_item() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.showcase.library.item"), @@ -815,4 +844,4 @@ fn lexicon_doc_social_showcase_library_item() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/library/list_items.rs b/crates/jacquard-api/src/social_showcase/library/list_items.rs index cf3c6e913..25cb7f81c 100644 --- a/crates/jacquard-api/src/social_showcase/library/list_items.rs +++ b/crates/jacquard-api/src/social_showcase/library/list_items.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ItemView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ItemView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListItems { pub actor: AtIdentifier, /// (max length: 512) @@ -34,11 +31,9 @@ pub struct ListItems { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListItemsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -81,7 +76,7 @@ fn _default_limit() -> Option { pub mod list_items_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,4 +207,4 @@ where limit: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/library/update_item.rs b/crates/jacquard-api/src/social_showcase/library/update_item.rs index 5e2de14a4..7e4123194 100644 --- a/crates/jacquard-api/src/social_showcase/library/update_item.rs +++ b/crates/jacquard-api/src/social_showcase/library/update_item.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ItemImage; -use crate::social_showcase::ItemView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ItemImage; +use crate::social_showcase::ItemView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateItem { #[serde(skip_serializing_if = "Option::is_none")] pub category: Option, @@ -47,6 +44,7 @@ pub struct UpdateItem { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UpdateItemVisibility { Public, @@ -123,16 +121,16 @@ where UpdateItemVisibility::Public => UpdateItemVisibility::Public, UpdateItemVisibility::Unlisted => UpdateItemVisibility::Unlisted, UpdateItemVisibility::Private => UpdateItemVisibility::Private, - UpdateItemVisibility::Other(v) => UpdateItemVisibility::Other(v.into_static()), + UpdateItemVisibility::Other(v) => { + UpdateItemVisibility::Other(v.into_static()) + } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateItemOutput { #[serde(flatten)] pub value: ItemView, @@ -153,8 +151,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateItemResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateItem { const NSID: &'static str = "social.showcase.library.updateItem"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateItemResponse; } @@ -164,15 +163,16 @@ Path: `/xrpc/social.showcase.library.updateItem`. The request payload type is `U pub struct UpdateItemRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateItemRequest { const PATH: &'static str = "/xrpc/social.showcase.library.updateItem"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateItem; type Response = UpdateItemResponse; } pub mod update_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -367,7 +367,10 @@ where impl UpdateItemBuilder { /// Set the `visibility` field (optional) - pub fn visibility(mut self, value: impl Into>>) -> Self { + pub fn visibility( + mut self, + value: impl Into>>, + ) -> Self { self._fields.8 = value.into(); self } @@ -399,7 +402,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateItem { UpdateItem { category: self._fields.0, description: self._fields.1, @@ -413,4 +419,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/profile.rs b/crates/jacquard-api/src/social_showcase/profile.rs index 20e256b52..65ea70480 100644 --- a/crates/jacquard-api/src/social_showcase/profile.rs +++ b/crates/jacquard-api/src/social_showcase/profile.rs @@ -7,4 +7,4 @@ pub mod get_profile; pub mod preferences; pub mod profile; -pub mod update_profile; +pub mod update_profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/profile/get_profile.rs b/crates/jacquard-api/src/social_showcase/profile/get_profile.rs index 96ed0a984..eee1f5306 100644 --- a/crates/jacquard-api/src/social_showcase/profile/get_profile.rs +++ b/crates/jacquard-api/src/social_showcase/profile/get_profile.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ProfileView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ProfileView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfile { pub actor: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetProfileOutput { #[serde(flatten)] pub value: ProfileView, @@ -69,7 +64,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetProfileRequest { pub mod get_profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -172,4 +167,4 @@ where actor: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/profile/preferences.rs b/crates/jacquard-api/src/social_showcase/profile/preferences.rs index f8edbf1be..c7adc968e 100644 --- a/crates/jacquard-api/src/social_showcase/profile/preferences.rs +++ b/crates/jacquard-api/src/social_showcase/profile/preferences.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,14 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::social_showcase::ActivitySettings; use crate::social_showcase::DisplaySettings; use crate::social_showcase::NotificationSettings; use crate::social_showcase::PrivacySettings; use crate::social_showcase::VisibilitySettings; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// User preferences and settings #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -122,7 +122,7 @@ fn _default_preferences_schema_version() -> Option { pub mod preferences_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -407,7 +407,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Preferences { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Preferences { Preferences { activity: self._fields.0.unwrap(), display: self._fields.1, @@ -422,10 +425,10 @@ where } fn lexicon_doc_social_showcase_profile_preferences() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.showcase.profile.preferences"), @@ -434,16 +437,20 @@ fn lexicon_doc_social_showcase_profile_preferences() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("User preferences and settings")), + description: Some( + CowStr::new_static("User preferences and settings"), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("visibility"), - SmolStr::new_static("activity"), - SmolStr::new_static("notifications"), - SmolStr::new_static("privacy"), - SmolStr::new_static("updatedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("visibility"), + SmolStr::new_static("activity"), + SmolStr::new_static("notifications"), + SmolStr::new_static("privacy"), + SmolStr::new_static("updatedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -516,4 +523,4 @@ fn lexicon_doc_social_showcase_profile_preferences() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/profile/profile.rs b/crates/jacquard-api/src/social_showcase/profile/profile.rs index f4e2ae42a..167385579 100644 --- a/crates/jacquard-api/src/social_showcase/profile/profile.rs +++ b/crates/jacquard-api/src/social_showcase/profile/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,10 +25,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_showcase::ShowcaseItem; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ShowcaseItem; /// User profile record #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -169,23 +169,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -208,23 +210,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg", "image/webp"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), accepted: vec![ - "image/png".to_string(), - "image/jpeg".to_string(), - "image/webp".to_string(), + "image/png".to_string(), "image/jpeg".to_string(), + "image/webp".to_string() ], actual: mime.to_string(), }); @@ -332,7 +336,7 @@ fn _default_profile_schema_version() -> Option { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -448,8 +452,22 @@ impl ProfileBuilder { ProfileBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -462,8 +480,22 @@ impl ProfileBuilder { ProfileBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -560,7 +592,10 @@ where St::Did: profile_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into) -> ProfileBuilder, S> { + pub fn did( + mut self, + value: impl Into, + ) -> ProfileBuilder, S> { self._fields.6 = Option::Some(value.into()); ProfileBuilder { _state: PhantomData, @@ -754,10 +789,10 @@ where } fn lexicon_doc_social_showcase_profile_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.showcase.profile.profile"), @@ -769,41 +804,42 @@ fn lexicon_doc_social_showcase_profile_profile() -> LexiconDoc<'static> { description: Some(CowStr::new_static("User profile record")), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - SmolStr::new_static("tags"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("did"), SmolStr::new_static("handle"), + SmolStr::new_static("tags"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("accentColor"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Custom accent color hex code (e.g. #2e4a6e)", - )), + description: Some( + CowStr::new_static( + "Custom accent color hex code (e.g. #2e4a6e)", + ), + ), max_length: Some(7usize), ..Default::default() }), ); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("banner"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("bio"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Profile description")), + description: Some( + CowStr::new_static("Profile description"), + ), max_length: Some(256usize), ..Default::default() }), @@ -860,9 +896,9 @@ fn lexicon_doc_social_showcase_profile_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("showcase"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Featured showcase items", - )), + description: Some( + CowStr::new_static("Featured showcase items"), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static( "social.showcase.defs#showcaseItem", @@ -876,9 +912,9 @@ fn lexicon_doc_social_showcase_profile_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Profile tags for discovery (max 10)", - )), + description: Some( + CowStr::new_static("Profile tags for discovery (max 10)"), + ), items: LexArrayItem::String(LexString { max_length: Some(64usize), ..Default::default() @@ -890,9 +926,9 @@ fn lexicon_doc_social_showcase_profile_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("theme"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Profile theme preset name", - )), + description: Some( + CowStr::new_static("Profile theme preset name"), + ), max_length: Some(64usize), ..Default::default() }), @@ -907,7 +943,9 @@ fn lexicon_doc_social_showcase_profile_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("website"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("External website URL")), + description: Some( + CowStr::new_static("External website URL"), + ), format: Some(LexStringFormat::Uri), max_length: Some(2048usize), ..Default::default() @@ -924,4 +962,4 @@ fn lexicon_doc_social_showcase_profile_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_showcase/profile/update_profile.rs b/crates/jacquard-api/src/social_showcase/profile/update_profile.rs index 76610a84e..5e7186a19 100644 --- a/crates/jacquard-api/src/social_showcase/profile/update_profile.rs +++ b/crates/jacquard-api/src/social_showcase/profile/update_profile.rs @@ -8,23 +8,20 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::social_showcase::ProfileView; -use crate::social_showcase::ShowcaseItem; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::string::UriValue; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_showcase::ProfileView; +use crate::social_showcase::ShowcaseItem; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateProfile { #[serde(skip_serializing_if = "Option::is_none")] pub avatar: Option>, @@ -45,11 +42,9 @@ pub struct UpdateProfile { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateProfileOutput { #[serde(flatten)] pub value: ProfileView, @@ -70,8 +65,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateProfileResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateProfile { const NSID: &'static str = "social.showcase.profile.updateProfile"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateProfileResponse; } @@ -81,8 +77,9 @@ Path: `/xrpc/social.showcase.profile.updateProfile`. The request payload type is pub struct UpdateProfileRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateProfileRequest { const PATH: &'static str = "/xrpc/social.showcase.profile.updateProfile"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateProfile; type Response = UpdateProfileResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_sket.rs b/crates/jacquard-api/src/social_sket.rs index a3695388a..d511de91b 100644 --- a/crates/jacquard-api/src/social_sket.rs +++ b/crates/jacquard-api/src/social_sket.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.sket` Lexicon namespace/module. -pub mod actor; +pub mod actor; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_sket/actor.rs b/crates/jacquard-api/src/social_sket/actor.rs index 0221b924f..85223d543 100644 --- a/crates/jacquard-api/src/social_sket/actor.rs +++ b/crates/jacquard-api/src/social_sket/actor.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.sket.actor` Lexicon namespace/module. -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_sket/actor/profile.rs b/crates/jacquard-api/src/social_sket/actor/profile.rs index 3cfda6998..a4a289cc4 100644 --- a/crates/jacquard-api/src/social_sket/actor/profile.rs +++ b/crates/jacquard-api/src/social_sket/actor/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,8 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; -/// +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -126,20 +125,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("avatar"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -161,20 +165,25 @@ impl LexiconSchema for Profile { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("banner"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -230,7 +239,7 @@ impl LexiconSchema for Profile { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -390,10 +399,10 @@ where } fn lexicon_doc_social_sket_actor_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.sket.actor.profile"), @@ -410,15 +419,11 @@ fn lexicon_doc_social_sket_actor_profile() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("avatar"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("banner"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), @@ -455,4 +460,4 @@ fn lexicon_doc_social_sket_actor_profile() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/social_tophhie.rs b/crates/jacquard-api/src/social_tophhie.rs index d4b17a28e..c83ddde0e 100644 --- a/crates/jacquard-api/src/social_tophhie.rs +++ b/crates/jacquard-api/src/social_tophhie.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `social.tophhie` Lexicon namespace/module. -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/social_tophhie/profile.rs b/crates/jacquard-api/src/social_tophhie/profile.rs index 7525c8b7e..c50d2e921 100644 --- a/crates/jacquard-api/src/social_tophhie/profile.rs +++ b/crates/jacquard-api/src/social_tophhie/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::social_tophhie::profile; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::social_tophhie::profile; /// Granular communication consent flags. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CommunicationPreferences { ///True if the user consents to receive marketing communications. pub marketing: bool, @@ -42,6 +39,7 @@ pub struct CommunicationPreferences { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( rename_all = "camelCase", @@ -77,10 +75,7 @@ pub struct ProfileGetRecordOutput { /// Granular PDS preference consent flags. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PdsPreferences { ///True if the user participates in accessibility scoring. pub accessibility_scoring: bool, @@ -170,7 +165,7 @@ impl LexiconSchema for PdsPreferences { pub mod communication_preferences_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,20 +207,28 @@ pub struct CommunicationPreferencesBuilder< impl CommunicationPreferences { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() - -> CommunicationPreferencesBuilder { + pub fn new() -> CommunicationPreferencesBuilder< + communication_preferences_state::Empty, + DefaultStr, + > { CommunicationPreferencesBuilder::new() } } impl CommunicationPreferences { /// Create a new builder for this type - pub fn builder() -> CommunicationPreferencesBuilder { + pub fn builder() -> CommunicationPreferencesBuilder< + communication_preferences_state::Empty, + S, + > { CommunicationPreferencesBuilder::builder() } } -impl CommunicationPreferencesBuilder { +impl CommunicationPreferencesBuilder< + communication_preferences_state::Empty, + DefaultStr, +> { /// Create a new builder with all fields unset, using the default string type, if needed pub fn new() -> Self { CommunicationPreferencesBuilder { @@ -236,7 +239,9 @@ impl CommunicationPreferencesBuilder CommunicationPreferencesBuilder { +impl< + S: BosStr, +> CommunicationPreferencesBuilder { /// Create a new builder with all fields unset pub fn builder() -> Self { CommunicationPreferencesBuilder { @@ -256,7 +261,10 @@ where pub fn marketing( mut self, value: impl Into, - ) -> CommunicationPreferencesBuilder, S> { + ) -> CommunicationPreferencesBuilder< + communication_preferences_state::SetMarketing, + S, + > { self._fields.0 = Option::Some(value.into()); CommunicationPreferencesBuilder { _state: PhantomData, @@ -291,10 +299,10 @@ where } fn lexicon_doc_social_tophhie_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("social.tophhie.profile"), @@ -303,7 +311,9 @@ fn lexicon_doc_social_tophhie_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("communicationPreferences"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Granular communication consent flags.")), + description: Some( + CowStr::new_static("Granular communication consent flags."), + ), required: Some(vec![SmolStr::new_static("marketing")]), properties: { #[allow(unused_mut)] @@ -325,11 +335,13 @@ fn lexicon_doc_social_tophhie_profile() -> LexiconDoc<'static> { key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { description: Some(CowStr::new_static("Tophhie profile record")), - required: Some(vec![ - SmolStr::new_static("createdAt"), - SmolStr::new_static("pdsPreferences"), - SmolStr::new_static("communicationPreferences"), - ]), + required: Some( + vec![ + SmolStr::new_static("createdAt"), + SmolStr::new_static("pdsPreferences"), + SmolStr::new_static("communicationPreferences") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -343,9 +355,11 @@ fn lexicon_doc_social_tophhie_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "ISO 8601 timestamp when this profile record was created.", - )), + description: Some( + CowStr::new_static( + "ISO 8601 timestamp when this profile record was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -360,9 +374,11 @@ fn lexicon_doc_social_tophhie_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "ISO 8601 timestamp when this profile record was updated.", - )), + description: Some( + CowStr::new_static( + "ISO 8601 timestamp when this profile record was updated.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -377,11 +393,15 @@ fn lexicon_doc_social_tophhie_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("pdsPreferences"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Granular PDS preference consent flags.")), - required: Some(vec![ - SmolStr::new_static("showOnHomepage"), - SmolStr::new_static("accessibilityScoring"), - ]), + description: Some( + CowStr::new_static("Granular PDS preference consent flags."), + ), + required: Some( + vec![ + SmolStr::new_static("showOnHomepage"), + SmolStr::new_static("accessibilityScoring") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -410,7 +430,7 @@ fn lexicon_doc_social_tophhie_profile() -> LexiconDoc<'static> { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -615,7 +635,7 @@ where pub mod pds_preferences_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -658,7 +678,10 @@ pub mod pds_preferences_state { } /// Builder for constructing an instance of this type. -pub struct PdsPreferencesBuilder { +pub struct PdsPreferencesBuilder< + St: pds_preferences_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -753,11 +776,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PdsPreferences { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PdsPreferences { PdsPreferences { accessibility_scoring: self._fields.0.unwrap(), show_on_homepage: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/space_atbb.rs b/crates/jacquard-api/src/space_atbb.rs index e165ddfe2..ae04e3ca9 100644 --- a/crates/jacquard-api/src/space_atbb.rs +++ b/crates/jacquard-api/src/space_atbb.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `space.atbb` Lexicon namespace/module. -pub mod auth_full; +pub mod auth_full; \ No newline at end of file diff --git a/crates/jacquard-api/src/space_atbb/auth_full.rs b/crates/jacquard-api/src/space_atbb/auth_full.rs index 47c8e1197..bcf6bdc49 100644 --- a/crates/jacquard-api/src/space_atbb/auth_full.rs +++ b/crates/jacquard-api/src/space_atbb/auth_full.rs @@ -5,4 +5,4 @@ // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; \ No newline at end of file diff --git a/crates/jacquard-api/src/space_litenote.rs b/crates/jacquard-api/src/space_litenote.rs index 0af8b72f2..c541077d7 100644 --- a/crates/jacquard-api/src/space_litenote.rs +++ b/crates/jacquard-api/src/space_litenote.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `space.litenote` Lexicon namespace/module. -pub mod note; +pub mod note; \ No newline at end of file diff --git a/crates/jacquard-api/src/space_litenote/note.rs b/crates/jacquard-api/src/space_litenote/note.rs index 601a6b2be..138da3ecd 100644 --- a/crates/jacquard-api/src/space_litenote/note.rs +++ b/crates/jacquard-api/src/space_litenote/note.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::space_litenote::note; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::space_litenote::note; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Image { ///Alt text for the image. #[serde(skip_serializing_if = "Option::is_none")] @@ -212,16 +209,19 @@ impl LexiconSchema for Image { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -321,7 +321,7 @@ impl LexiconSchema for Note { pub mod image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -450,10 +450,10 @@ where } fn lexicon_doc_space_litenote_note() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("space.litenote.note"), @@ -469,16 +469,16 @@ fn lexicon_doc_space_litenote_note() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Alt text for the image.")), + description: Some( + CowStr::new_static("Alt text for the image."), + ), max_length: Some(2000usize), ..Default::default() }), ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -594,7 +594,7 @@ fn lexicon_doc_space_litenote_note() -> LexiconDoc<'static> { pub mod note_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -694,7 +694,10 @@ where St::Content: note_state::IsUnset, { /// Set the `content` field (required) - pub fn content(mut self, value: impl Into) -> NoteBuilder, S> { + pub fn content( + mut self, + value: impl Into, + ) -> NoteBuilder, S> { self._fields.0 = Option::Some(value.into()); NoteBuilder { _state: PhantomData, @@ -788,7 +791,10 @@ where St::Title: note_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> NoteBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> NoteBuilder, S> { self._fields.7 = Option::Some(value.into()); NoteBuilder { _state: PhantomData, @@ -832,4 +838,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/space_remanso.rs b/crates/jacquard-api/src/space_remanso.rs index 6fe7d6664..6cf6ee98d 100644 --- a/crates/jacquard-api/src/space_remanso.rs +++ b/crates/jacquard-api/src/space_remanso.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `space.remanso` Lexicon namespace/module. -pub mod note; +pub mod note; \ No newline at end of file diff --git a/crates/jacquard-api/src/space_remanso/note.rs b/crates/jacquard-api/src/space_remanso/note.rs index 894e247f5..804c0adf2 100644 --- a/crates/jacquard-api/src/space_remanso/note.rs +++ b/crates/jacquard-api/src/space_remanso/note.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::space_remanso::note; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::space_remanso::note; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Image { ///Alt text for the image. #[serde(skip_serializing_if = "Option::is_none")] @@ -489,16 +486,19 @@ impl LexiconSchema for Image { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -608,7 +608,7 @@ impl LexiconSchema for Note { pub mod image_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -737,10 +737,10 @@ where } fn lexicon_doc_space_remanso_note() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("space.remanso.note"), @@ -756,16 +756,16 @@ fn lexicon_doc_space_remanso_note() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Alt text for the image.")), + description: Some( + CowStr::new_static("Alt text for the image."), + ), max_length: Some(2000usize), ..Default::default() }), ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -899,7 +899,7 @@ fn lexicon_doc_space_remanso_note() -> LexiconDoc<'static> { pub mod note_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1001,7 +1001,10 @@ where St::Content: note_state::IsUnset, { /// Set the `content` field (required) - pub fn content(mut self, value: impl Into) -> NoteBuilder, S> { + pub fn content( + mut self, + value: impl Into, + ) -> NoteBuilder, S> { self._fields.0 = Option::Some(value.into()); NoteBuilder { _state: PhantomData, @@ -1121,7 +1124,10 @@ where St::Title: note_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> NoteBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> NoteBuilder, S> { self._fields.9 = Option::Some(value.into()); NoteBuilder { _state: PhantomData, @@ -1169,4 +1175,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/st_lifepo.rs b/crates/jacquard-api/src/st_lifepo.rs index e9ca7ff84..bbfe7c3ba 100644 --- a/crates/jacquard-api/src/st_lifepo.rs +++ b/crates/jacquard-api/src/st_lifepo.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `st.lifepo` Lexicon namespace/module. pub mod event; -pub mod profile; +pub mod profile; \ No newline at end of file diff --git a/crates/jacquard-api/src/st_lifepo/event.rs b/crates/jacquard-api/src/st_lifepo/event.rs index 478e9f84c..3d577137d 100644 --- a/crates/jacquard-api/src/st_lifepo/event.rs +++ b/crates/jacquard-api/src/st_lifepo/event.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Datetime}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Event { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -33,11 +30,9 @@ pub struct Event { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EventOutput { ///AT URI of the created event record. pub uri: AtUri, @@ -58,8 +53,9 @@ impl jacquard_common::xrpc::XrpcResp for EventResponse { impl jacquard_common::xrpc::XrpcRequest for Event { const NSID: &'static str = "st.lifepo.event"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = EventResponse; } @@ -69,15 +65,16 @@ Path: `/xrpc/st.lifepo.event`. The request payload type is `Event`; send that pub struct EventRequest; impl jacquard_common::xrpc::XrpcEndpoint for EventRequest { const PATH: &'static str = "/xrpc/st.lifepo.event"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Event; type Response = EventResponse; } pub mod event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -213,7 +210,10 @@ where St::Title: event_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> EventBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> EventBuilder, S> { self._fields.3 = Option::Some(value.into()); EventBuilder { _state: PhantomData, @@ -249,4 +249,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/st_lifepo/profile.rs b/crates/jacquard-api/src/st_lifepo/profile.rs index 19ac14107..04467b61f 100644 --- a/crates/jacquard-api/src/st_lifepo/profile.rs +++ b/crates/jacquard-api/src/st_lifepo/profile.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,17 +21,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::st_lifepo::profile; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::st_lifepo::profile; /// A single life event entry. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LifeEvent { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -43,20 +40,16 @@ pub struct LifeEvent { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Profile { pub actor: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ProfileOutput { pub bio: S, pub handle: S, @@ -110,7 +103,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ProfileRequest { pub mod life_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -276,7 +269,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> LifeEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> LifeEvent { LifeEvent { description: self._fields.0, end_date: self._fields.1, @@ -288,10 +284,10 @@ where } fn lexicon_doc_st_lifepo_profile() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("st.lifepo.profile"), @@ -301,18 +297,18 @@ fn lexicon_doc_st_lifepo_profile() -> LexiconDoc<'static> { SmolStr::new_static("lifeEvent"), LexUserType::Object(LexObject { description: Some(CowStr::new_static("A single life event entry.")), - required: Some(vec![ - SmolStr::new_static("title"), - SmolStr::new_static("startDate"), - ]), + required: Some( + vec![ + SmolStr::new_static("title"), + SmolStr::new_static("startDate") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("description"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("endDate"), @@ -330,9 +326,7 @@ fn lexicon_doc_st_lifepo_profile() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("title"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -342,24 +336,26 @@ fn lexicon_doc_st_lifepo_profile() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("actor")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("actor"), - LexXrpcParametersProperty::String(LexString { - description: Some(CowStr::new_static( - "The DID or handle of the user.", - )), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("actor")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("actor"), + LexXrpcParametersProperty::String(LexString { + description: Some( + CowStr::new_static("The DID or handle of the user."), + ), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -371,7 +367,7 @@ fn lexicon_doc_st_lifepo_profile() -> LexiconDoc<'static> { pub mod profile_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -450,7 +446,10 @@ where St::Actor: profile_state::IsUnset, { /// Set the `actor` field (required) - pub fn actor(mut self, value: impl Into) -> ProfileBuilder, S> { + pub fn actor( + mut self, + value: impl Into, + ) -> ProfileBuilder, S> { self._fields.0 = Option::Some(value.into()); ProfileBuilder { _state: PhantomData, @@ -471,4 +470,4 @@ where actor: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/st_snowpo.rs b/crates/jacquard-api/src/st_snowpo.rs index 6fcf708ea..fa10e6de8 100644 --- a/crates/jacquard-api/src/st_snowpo.rs +++ b/crates/jacquard-api/src/st_snowpo.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `st.snowpo` Lexicon namespace/module. -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/st_snowpo/post.rs b/crates/jacquard-api/src/st_snowpo/post.rs index d4846f004..85b738597 100644 --- a/crates/jacquard-api/src/st_snowpo/post.rs +++ b/crates/jacquard-api/src/st_snowpo/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record linking to a Markdown file. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -127,16 +127,19 @@ impl LexiconSchema for Post { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["text/markdown"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("content"), @@ -162,7 +165,7 @@ impl LexiconSchema for Post { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -361,10 +364,10 @@ where } fn lexicon_doc_st_snowpo_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("st.snowpo.post"), @@ -448,4 +451,4 @@ fn lexicon_doc_st_snowpo_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/store__88x31.rs b/crates/jacquard-api/src/store__88x31.rs index 57efed11f..b38036648 100644 --- a/crates/jacquard-api/src/store__88x31.rs +++ b/crates/jacquard-api/src/store__88x31.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `store..88x31` Lexicon namespace/module. pub mod button; -pub mod like; +pub mod like; \ No newline at end of file diff --git a/crates/jacquard-api/src/store__88x31/button.rs b/crates/jacquard-api/src/store__88x31/button.rs index 74a95c412..5493b789a 100644 --- a/crates/jacquard-api/src/store__88x31/button.rs +++ b/crates/jacquard-api/src/store__88x31/button.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record containing an 88x31 button. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -149,16 +149,19 @@ impl LexiconSchema for Button { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("blob"), @@ -218,7 +221,7 @@ impl LexiconSchema for Button { pub mod button_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -263,13 +266,7 @@ pub mod button_state { /// Builder for constructing an instance of this type. pub struct ButtonBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option, - Option, - Option, - ), + _fields: (Option, Option>, Option, Option, Option), _type: PhantomData S>, } @@ -417,10 +414,10 @@ where } fn lexicon_doc_store_88x31_button() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("store.88x31.button"), @@ -508,4 +505,4 @@ fn lexicon_doc_store_88x31_button() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/store__88x31/like.rs b/crates/jacquard-api/src/store__88x31/like.rs index 7ba71c7b3..96f9a9402 100644 --- a/crates/jacquard-api/src/store__88x31/like.rs +++ b/crates/jacquard-api/src/store__88x31/like.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Record declaring a 'like' of a piece of an 88x31 button. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Like { pub mod like_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -253,10 +253,10 @@ where } fn lexicon_doc_store_88x31_like() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("store.88x31.like"), @@ -265,15 +265,19 @@ fn lexicon_doc_store_88x31_like() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record declaring a 'like' of a piece of an 88x31 button.", - )), + description: Some( + CowStr::new_static( + "Record declaring a 'like' of a piece of an 88x31 button.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -302,4 +306,4 @@ fn lexicon_doc_store_88x31_like() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/systems_timker.rs b/crates/jacquard-api/src/systems_timker.rs index 5186e8a97..9ed9bf63d 100644 --- a/crates/jacquard-api/src/systems_timker.rs +++ b/crates/jacquard-api/src/systems_timker.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `systems.timker` Lexicon namespace/module. -pub mod hawlt; +pub mod hawlt; \ No newline at end of file diff --git a/crates/jacquard-api/src/systems_timker/hawlt.rs b/crates/jacquard-api/src/systems_timker/hawlt.rs index 90de89564..2aa941bfc 100644 --- a/crates/jacquard-api/src/systems_timker/hawlt.rs +++ b/crates/jacquard-api/src/systems_timker/hawlt.rs @@ -7,4 +7,4 @@ pub mod get_note; pub mod list_notes; pub mod note; -pub mod put_note; +pub mod put_note; \ No newline at end of file diff --git a/crates/jacquard-api/src/systems_timker/hawlt/get_note.rs b/crates/jacquard-api/src/systems_timker/hawlt/get_note.rs index 0f72ba314..a1cb0c435 100644 --- a/crates/jacquard-api/src/systems_timker/hawlt/get_note.rs +++ b/crates/jacquard-api/src/systems_timker/hawlt/get_note.rs @@ -8,32 +8,27 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::systems_timker::hawlt::note::Note; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::string::{AtUri, Cid, RecordKey, Rkey}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::systems_timker::hawlt::note::Note; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetNote { pub repo: AtIdentifier, pub rkey: RecordKey>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetNoteOutput { pub cid: Cid, pub uri: AtUri, @@ -72,7 +67,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetNoteRequest { pub mod get_note_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -208,4 +203,4 @@ where rkey: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/systems_timker/hawlt/list_notes.rs b/crates/jacquard-api/src/systems_timker/hawlt/list_notes.rs index f6c9438a6..466bc372a 100644 --- a/crates/jacquard-api/src/systems_timker/hawlt/list_notes.rs +++ b/crates/jacquard-api/src/systems_timker/hawlt/list_notes.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -22,17 +22,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::systems_timker::hawlt::list_notes; -use crate::systems_timker::hawlt::note::Note; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::systems_timker::hawlt::note::Note; +use crate::systems_timker::hawlt::list_notes; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListNotes { /// (max length: 100) #[serde(skip_serializing_if = "Option::is_none")] @@ -43,11 +40,9 @@ pub struct ListNotes { pub repo: AtIdentifier, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListNotesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -59,10 +54,7 @@ pub struct ListNotesOutput { /// A note record with its AT URI, CID, and server-side index timestamp. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NoteView { pub cid: Cid, pub indexed_at: Datetime, @@ -117,7 +109,7 @@ impl LexiconSchema for NoteView { pub mod list_notes_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -252,7 +244,7 @@ where pub mod note_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -327,12 +319,7 @@ pub mod note_view_state { /// Builder for constructing an instance of this type. pub struct NoteViewBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option>, - Option>, - ), + _fields: (Option>, Option, Option>, Option>), _type: PhantomData S>, } @@ -479,10 +466,10 @@ where } fn lexicon_doc_systems_timker_hawlt_listNotes() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("systems.timker.hawlt.listNotes"), @@ -491,50 +478,55 @@ fn lexicon_doc_systems_timker_hawlt_listNotes() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("repo")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - max_length: Some(100usize), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("repo"), - LexXrpcParametersProperty::String(LexString { - format: Some(LexStringFormat::AtIdentifier), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("repo")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + max_length: Some(100usize), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("repo"), + LexXrpcParametersProperty::String(LexString { + format: Some(LexStringFormat::AtIdentifier), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("noteView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A note record with its AT URI, CID, and server-side index timestamp.", - )), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("value"), - SmolStr::new_static("indexedAt"), - ]), + description: Some( + CowStr::new_static( + "A note record with its AT URI, CID, and server-side index timestamp.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("value"), + SmolStr::new_static("indexedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -575,4 +567,4 @@ fn lexicon_doc_systems_timker_hawlt_listNotes() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/systems_timker/hawlt/note.rs b/crates/jacquard-api/src/systems_timker/hawlt/note.rs index 1af193c66..39e881c93 100644 --- a/crates/jacquard-api/src/systems_timker/hawlt/note.rs +++ b/crates/jacquard-api/src/systems_timker/hawlt/note.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,17 +25,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::systems_timker::hawlt::note; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::systems_timker::hawlt::note; /// An image attachment with alt text. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Attachment { ///Alt text for the image. Required for accessibility. pub alt: S, @@ -59,7 +56,7 @@ pub struct Note { #[serde(skip_serializing_if = "Option::is_none")] pub attachments: Option>>, /**The primary note content. Max 3000 graphemes, 30000 bytes - Note: large string limit is intentional for diary-style entries.*/ +Note: large string limit is intentional for diary-style entries.*/ pub content: S, ///Content warning label. When present, note content should be hidden by default. Max 100 graphemes, 1000 bytes #[serde(skip_serializing_if = "Option::is_none")] @@ -146,16 +143,19 @@ impl LexiconSchema for Attachment { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), @@ -289,7 +289,7 @@ impl LexiconSchema for Note { pub mod attachment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -427,7 +427,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Attachment { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Attachment { Attachment { alt: self._fields.0.unwrap(), image: self._fields.1.unwrap(), @@ -437,10 +440,10 @@ where } fn lexicon_doc_systems_timker_hawlt_note() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("systems.timker.hawlt.note"), @@ -449,20 +452,23 @@ fn lexicon_doc_systems_timker_hawlt_note() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("attachment"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("An image attachment with alt text.")), - required: Some(vec![ - SmolStr::new_static("image"), - SmolStr::new_static("alt"), - ]), + description: Some( + CowStr::new_static("An image attachment with alt text."), + ), + required: Some( + vec![SmolStr::new_static("image"), SmolStr::new_static("alt")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text for the image. Required for accessibility.", - )), + description: Some( + CowStr::new_static( + "Alt text for the image. Required for accessibility.", + ), + ), max_length: Some(10000usize), max_graphemes: Some(1000usize), ..Default::default() @@ -470,9 +476,7 @@ fn lexicon_doc_systems_timker_hawlt_note() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -603,7 +607,7 @@ fn lexicon_doc_systems_timker_hawlt_note() -> LexiconDoc<'static> { pub mod note_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -697,7 +701,10 @@ impl NoteBuilder { impl NoteBuilder { /// Set the `attachments` field (optional) - pub fn attachments(mut self, value: impl Into>>>) -> Self { + pub fn attachments( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -714,7 +721,10 @@ where St::Content: note_state::IsUnset, { /// Set the `content` field (required) - pub fn content(mut self, value: impl Into) -> NoteBuilder, S> { + pub fn content( + mut self, + value: impl Into, + ) -> NoteBuilder, S> { self._fields.1 = Option::Some(value.into()); NoteBuilder { _state: PhantomData, @@ -812,4 +822,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/systems_timker/hawlt/put_note.rs b/crates/jacquard-api/src/systems_timker/hawlt/put_note.rs index 0bdc8377a..b0fc8c3b5 100644 --- a/crates/jacquard-api/src/systems_timker/hawlt/put_note.rs +++ b/crates/jacquard-api/src/systems_timker/hawlt/put_note.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::systems_timker::hawlt::note::Note; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Cid, RecordKey, Rkey}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::systems_timker::hawlt::note::Note; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutNote { ///The note record to write. pub record: Note, @@ -32,11 +29,9 @@ pub struct PutNote { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PutNoteOutput { pub cid: Cid, pub uri: AtUri, @@ -57,8 +52,9 @@ impl jacquard_common::xrpc::XrpcResp for PutNoteResponse { impl jacquard_common::xrpc::XrpcRequest for PutNote { const NSID: &'static str = "systems.timker.hawlt.putNote"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PutNoteResponse; } @@ -68,15 +64,16 @@ Path: `/xrpc/systems.timker.hawlt.putNote`. The request payload type is `PutNote pub struct PutNoteRequest; impl jacquard_common::xrpc::XrpcEndpoint for PutNoteRequest { const PATH: &'static str = "/xrpc/systems.timker.hawlt.putNote"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PutNote; type Response = PutNoteResponse; } pub mod put_note_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -221,4 +218,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_lenooby09.rs b/crates/jacquard-api/src/tech_lenooby09.rs index 37c419162..15620b3da 100644 --- a/crates/jacquard-api/src/tech_lenooby09.rs +++ b/crates/jacquard-api/src/tech_lenooby09.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tech.lenooby09` Lexicon namespace/module. -pub mod didgit; +pub mod didgit; \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_lenooby09/didgit.rs b/crates/jacquard-api/src/tech_lenooby09/didgit.rs index 32e3a10dd..adbf46a41 100644 --- a/crates/jacquard-api/src/tech_lenooby09/didgit.rs +++ b/crates/jacquard-api/src/tech_lenooby09/didgit.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `tech.lenooby09.didgit` Lexicon namespace/module. pub mod object; pub mod r#ref; -pub mod signature_proof; +pub mod signature_proof; \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_lenooby09/didgit/object.rs b/crates/jacquard-api/src/tech_lenooby09/didgit/object.rs index 4a84ee2e6..41c7d6e61 100644 --- a/crates/jacquard-api/src/tech_lenooby09/didgit/object.rs +++ b/crates/jacquard-api/src/tech_lenooby09/didgit/object.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A did-git object stored in an AT Protocol repository. Each record represents a single content-addressable object (blob, tree, commit, or tag), keyed by its hex SHA-256 object ID. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -206,16 +206,19 @@ impl LexiconSchema for Object { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["application/octet-stream"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("content"), @@ -242,7 +245,7 @@ impl LexiconSchema for Object { pub mod object_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -390,10 +393,10 @@ where } fn lexicon_doc_tech_lenooby09_didgit_object() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.lenooby09.didgit.object"), @@ -443,4 +446,4 @@ fn lexicon_doc_tech_lenooby09_didgit_object() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_lenooby09/didgit/ref.rs b/crates/jacquard-api/src/tech_lenooby09/didgit/ref.rs index 125c6f435..4deb48925 100644 --- a/crates/jacquard-api/src/tech_lenooby09/didgit/ref.rs +++ b/crates/jacquard-api/src/tech_lenooby09/didgit/ref.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A did-git ref stored in an AT Protocol repository. Each record maps a repository name and ref name (e.g. refs/heads/main) to the hex SHA-256 object ID it points to. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -141,7 +141,7 @@ impl LexiconSchema for Ref { pub mod ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -246,7 +246,10 @@ where St::ObjectId: ref_state::IsUnset, { /// Set the `objectId` field (required) - pub fn object_id(mut self, value: impl Into) -> RefBuilder, S> { + pub fn object_id( + mut self, + value: impl Into, + ) -> RefBuilder, S> { self._fields.0 = Option::Some(value.into()); RefBuilder { _state: PhantomData, @@ -262,7 +265,10 @@ where St::RefName: ref_state::IsUnset, { /// Set the `refName` field (required) - pub fn ref_name(mut self, value: impl Into) -> RefBuilder, S> { + pub fn ref_name( + mut self, + value: impl Into, + ) -> RefBuilder, S> { self._fields.1 = Option::Some(value.into()); RefBuilder { _state: PhantomData, @@ -316,10 +322,10 @@ where } fn lexicon_doc_tech_lenooby09_didgit_ref() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.lenooby09.didgit.ref"), @@ -391,4 +397,4 @@ fn lexicon_doc_tech_lenooby09_didgit_ref() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_lenooby09/didgit/signature_proof.rs b/crates/jacquard-api/src/tech_lenooby09/didgit/signature_proof.rs index 9fe759c9d..c6867a53b 100644 --- a/crates/jacquard-api/src/tech_lenooby09/didgit/signature_proof.rs +++ b/crates/jacquard-api/src/tech_lenooby09/didgit/signature_proof.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A cryptographic proof that a did-git object was signed by a specific DID. This provides key-rotation-independent verification by anchoring the proof to a PDS or signing event. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -110,7 +110,8 @@ impl Serialize for SignatureProofObjectType { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for SignatureProofObjectType { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for SignatureProofObjectType { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -138,7 +139,9 @@ where SignatureProofObjectType::Tree => SignatureProofObjectType::Tree, SignatureProofObjectType::Commit => SignatureProofObjectType::Commit, SignatureProofObjectType::Tag => SignatureProofObjectType::Tag, - SignatureProofObjectType::Other(v) => SignatureProofObjectType::Other(v.into_static()), + SignatureProofObjectType::Other(v) => { + SignatureProofObjectType::Other(v.into_static()) + } } } } @@ -269,7 +272,7 @@ impl LexiconSchema for SignatureProof { pub mod signature_proof_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -380,7 +383,10 @@ pub mod signature_proof_state { } /// Builder for constructing an instance of this type. -pub struct SignatureProofBuilder { +pub struct SignatureProofBuilder< + St: signature_proof_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -581,7 +587,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SignatureProof { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SignatureProof { SignatureProof { object_id: self._fields.0.unwrap(), object_type: self._fields.1.unwrap(), @@ -596,10 +605,10 @@ where } fn lexicon_doc_tech_lenooby09_didgit_signatureProof() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.lenooby09.didgit.signatureProof"), @@ -713,4 +722,4 @@ fn lexicon_doc_tech_lenooby09_didgit_signatureProof() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_manos.rs b/crates/jacquard-api/src/tech_manos.rs index 92c28d230..cc7ae4e20 100644 --- a/crates/jacquard-api/src/tech_manos.rs +++ b/crates/jacquard-api/src/tech_manos.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tech.manos` Lexicon namespace/module. -pub mod twmirror; +pub mod twmirror; \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_manos/twmirror.rs b/crates/jacquard-api/src/tech_manos/twmirror.rs index 62349748e..fc98c6ce5 100644 --- a/crates/jacquard-api/src/tech_manos/twmirror.rs +++ b/crates/jacquard-api/src/tech_manos/twmirror.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tech.manos.twmirror` Lexicon namespace/module. -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_manos/twmirror/post.rs b/crates/jacquard-api/src/tech_manos/twmirror/post.rs index 92d4d40df..8c8d04cc5 100644 --- a/crates/jacquard-api/src/tech_manos/twmirror/post.rs +++ b/crates/jacquard-api/src/tech_manos/twmirror/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tech_manos::twmirror::post; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tech_manos::twmirror::post; pub type TwitterId = S; /// Sidecar record for mirrored Twitter posts. The rkey should match the bskyPost ref. @@ -112,7 +112,7 @@ impl LexiconSchema for Post { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -339,10 +339,10 @@ where } fn lexicon_doc_tech_manos_twmirror_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.manos.twmirror.post"), @@ -423,4 +423,4 @@ fn lexicon_doc_tech_manos_twmirror_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki.rs b/crates/jacquard-api/src/tech_tokimeki.rs index eae3b3cb9..8a2de9e5f 100644 --- a/crates/jacquard-api/src/tech_tokimeki.rs +++ b/crates/jacquard-api/src/tech_tokimeki.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `tech.tokimeki` Lexicon namespace/module. pub mod kaku; pub mod poll; -pub mod takibi; +pub mod takibi; \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku.rs b/crates/jacquard-api/src/tech_tokimeki/kaku.rs index 38ef0f26e..98e8e8f26 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku.rs @@ -14,12 +14,13 @@ pub mod request; pub mod request_response; pub mod room_gate; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -30,19 +31,16 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::actor::ProfileViewBasic; use crate::com_atproto::repo::strong_ref::StrongRef; use crate::tech_tokimeki::kaku; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Width and height representing the aspect ratio of an image #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { ///Height component of aspect ratio pub height: i64, @@ -55,10 +53,7 @@ pub struct AspectRatio { /// A view of a collection with author profile and item count #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CollectionView { ///Collection owner profile pub author: ProfileViewBasic, @@ -90,10 +85,7 @@ pub struct CollectionView { /// A view of a drawing post with author profile and metadata #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PostView { ///Aspect ratio of the image pub aspect_ratio: kaku::AspectRatio, @@ -132,10 +124,7 @@ pub struct PostView { /// Counts of each reaction type on a post #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReactionCounts { ///Count of kami (godly) reactions Defaults to `0`. #[serde(skip_serializing_if = "Option::is_none")] @@ -249,10 +238,7 @@ where /// A view of a Bluesky reply to a linked post #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyView { ///Reply author profile pub author: ProfileViewBasic, @@ -271,10 +257,7 @@ pub struct ReplyView { /// A view of a response to a drawing request #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestResponseView { ///Response author profile pub author: ProfileViewBasic, @@ -296,10 +279,7 @@ pub struct RequestResponseView { /// A view of a drawing request with author profile and response count #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RequestView { ///Request author profile pub author: ProfileViewBasic, @@ -627,7 +607,7 @@ impl LexiconSchema for RequestView { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -765,7 +745,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -775,10 +758,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.defs"), @@ -787,13 +770,14 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("aspectRatio"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Width and height representing the aspect ratio of an image", - )), - required: Some(vec![ - SmolStr::new_static("width"), - SmolStr::new_static("height"), - ]), + description: Some( + CowStr::new_static( + "Width and height representing the aspect ratio of an image", + ), + ), + required: Some( + vec![SmolStr::new_static("width"), SmolStr::new_static("height")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -819,32 +803,36 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("collectionView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A view of a collection with author profile and item count", - )), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static( + "A view of a collection with author profile and item count", + ), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "CID of the collection record", - )), + description: Some( + CowStr::new_static("CID of the collection record"), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -852,9 +840,11 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the collection was created", - )), + description: Some( + CowStr::new_static( + "Timestamp when the collection was created", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -862,7 +852,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Collection description")), + description: Some( + CowStr::new_static("Collection description"), + ), max_length: Some(500usize), max_graphemes: Some(200usize), ..Default::default() @@ -871,9 +863,11 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("indexedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the collection was indexed", - )), + description: Some( + CowStr::new_static( + "Timestamp when the collection was indexed", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -902,9 +896,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the collection record", - )), + description: Some( + CowStr::new_static("AT-URI of the collection record"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -917,17 +911,19 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("postView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A view of a drawing post with author profile and metadata", - )), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("image"), - SmolStr::new_static("aspectRatio"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static( + "A view of a drawing post with author profile and metadata", + ), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("image"), + SmolStr::new_static("aspectRatio"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -941,14 +937,18 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("CID of the post record")), + description: Some( + CowStr::new_static("CID of the post record"), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -956,9 +956,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the post was created", - )), + description: Some( + CowStr::new_static("Timestamp when the post was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -966,7 +966,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("image"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("URL of the drawing image")), + description: Some( + CowStr::new_static("URL of the drawing image"), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -974,9 +976,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("indexedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the post was indexed", - )), + description: Some( + CowStr::new_static("Timestamp when the post was indexed"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -998,7 +1000,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Tags for categorization")), + description: Some( + CowStr::new_static("Tags for categorization"), + ), items: LexArrayItem::String(LexString { max_length: Some(64usize), max_graphemes: Some(32usize), @@ -1011,9 +1015,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional description or title", - )), + description: Some( + CowStr::new_static("Optional description or title"), + ), max_length: Some(1000usize), max_graphemes: Some(300usize), ..Default::default() @@ -1022,7 +1026,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("AT-URI of the post record")), + description: Some( + CowStr::new_static("AT-URI of the post record"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1042,7 +1048,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reactionCounts"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Counts of each reaction type on a post")), + description: Some( + CowStr::new_static("Counts of each reaction type on a post"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -1091,30 +1099,34 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("replyView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A view of a Bluesky reply to a linked post", - )), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static("A view of a Bluesky reply to a linked post"), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("text"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("CID of the Bluesky reply")), + description: Some( + CowStr::new_static("CID of the Bluesky reply"), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -1122,9 +1134,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the reply was created", - )), + description: Some( + CowStr::new_static("Timestamp when the reply was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1141,9 +1153,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the Bluesky reply", - )), + description: Some( + CowStr::new_static("AT-URI of the Bluesky reply"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1156,30 +1168,34 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("requestResponseView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A view of a response to a drawing request", - )), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("post"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static("A view of a response to a drawing request"), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("post"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("CID of the response record")), + description: Some( + CowStr::new_static("CID of the response record"), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -1187,9 +1203,11 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the response was created", - )), + description: Some( + CowStr::new_static( + "Timestamp when the response was created", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1197,9 +1215,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("message"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional message to the requester", - )), + description: Some( + CowStr::new_static("Optional message to the requester"), + ), max_length: Some(500usize), max_graphemes: Some(150usize), ..Default::default() @@ -1215,9 +1233,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the response record", - )), + description: Some( + CowStr::new_static("AT-URI of the response record"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1230,31 +1248,37 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("requestView"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A view of a drawing request with author profile and response count", - )), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("author"), - SmolStr::new_static("text"), - SmolStr::new_static("isOpen"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static( + "A view of a drawing request with author profile and response count", + ), + ), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("author"), SmolStr::new_static("text"), + SmolStr::new_static("isOpen"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("author"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("cid"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("CID of the request record")), + description: Some( + CowStr::new_static("CID of the request record"), + ), format: Some(LexStringFormat::Cid), ..Default::default() }), @@ -1262,9 +1286,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the request was created", - )), + description: Some( + CowStr::new_static("Timestamp when the request was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1272,9 +1296,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("indexedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the request was indexed", - )), + description: Some( + CowStr::new_static("Timestamp when the request was indexed"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1288,9 +1312,11 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("referenceImages"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "URLs of reference images for the request", - )), + description: Some( + CowStr::new_static( + "URLs of reference images for the request", + ), + ), items: LexArrayItem::String(LexString { format: Some(LexStringFormat::Uri), ..Default::default() @@ -1308,7 +1334,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static("Tags for categorization")), + description: Some( + CowStr::new_static("Tags for categorization"), + ), items: LexArrayItem::String(LexString { max_length: Some(64usize), max_graphemes: Some(32usize), @@ -1321,16 +1349,18 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("targetActor"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("app.bsky.actor.defs#profileViewBasic"), + r#ref: CowStr::new_static( + "app.bsky.actor.defs#profileViewBasic", + ), ..Default::default() }), ); map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Description of what to draw", - )), + description: Some( + CowStr::new_static("Description of what to draw"), + ), max_length: Some(1000usize), max_graphemes: Some(300usize), ..Default::default() @@ -1339,9 +1369,9 @@ fn lexicon_doc_tech_tokimeki_kaku_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "AT-URI of the request record", - )), + description: Some( + CowStr::new_static("AT-URI of the request record"), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -1363,7 +1393,7 @@ fn _default_collection_view_is_public() -> Option { pub mod collection_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1454,7 +1484,10 @@ pub mod collection_view_state { } /// Builder for constructing an instance of this type. -pub struct CollectionViewBuilder { +pub struct CollectionViewBuilder< + St: collection_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -1678,7 +1711,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CollectionView { CollectionView { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -1696,7 +1732,7 @@ where pub mod post_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1846,7 +1882,18 @@ impl PostViewBuilder { PostViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1859,7 +1906,18 @@ impl PostViewBuilder { PostViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1989,12 +2047,18 @@ impl PostViewBuilder { impl PostViewBuilder { /// Set the `reactionCounts` field (optional) - pub fn reaction_counts(mut self, value: impl Into>>) -> Self { + pub fn reaction_counts( + mut self, + value: impl Into>>, + ) -> Self { self._fields.7 = value.into(); self } /// Set the `reactionCounts` field to an Option value (optional) - pub fn maybe_reaction_counts(mut self, value: Option>) -> Self { + pub fn maybe_reaction_counts( + mut self, + value: Option>, + ) -> Self { self._fields.7 = value; self } @@ -2047,12 +2111,18 @@ where impl PostViewBuilder { /// Set the `viewerReaction` field (optional) - pub fn viewer_reaction(mut self, value: impl Into>>) -> Self { + pub fn viewer_reaction( + mut self, + value: impl Into>>, + ) -> Self { self._fields.11 = value.into(); self } /// Set the `viewerReaction` field to an Option value (optional) - pub fn maybe_viewer_reaction(mut self, value: Option>) -> Self { + pub fn maybe_viewer_reaction( + mut self, + value: Option>, + ) -> Self { self._fields.11 = value; self } @@ -2141,7 +2211,7 @@ impl Default for ReactionCounts { pub mod reply_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2396,7 +2466,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReplyView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReplyView { ReplyView { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -2410,7 +2483,7 @@ where pub mod request_response_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2519,14 +2592,20 @@ pub struct RequestResponseViewBuilder< impl RequestResponseView { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RequestResponseViewBuilder { + pub fn new() -> RequestResponseViewBuilder< + request_response_view_state::Empty, + DefaultStr, + > { RequestResponseViewBuilder::new() } } impl RequestResponseView { /// Create a new builder for this type - pub fn builder() -> RequestResponseViewBuilder { + pub fn builder() -> RequestResponseViewBuilder< + request_response_view_state::Empty, + S, + > { RequestResponseViewBuilder::builder() } } @@ -2610,7 +2689,10 @@ where } } -impl RequestResponseViewBuilder { +impl< + St: request_response_view_state::State, + S: BosStr, +> RequestResponseViewBuilder { /// Set the `message` field (optional) pub fn message(mut self, value: impl Into>) -> Self { self._fields.3 = value.into(); @@ -2683,7 +2765,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RequestResponseView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RequestResponseView { RequestResponseView { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -2698,7 +2783,7 @@ where pub mod request_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2846,9 +2931,7 @@ impl RequestViewBuilder { pub fn new() -> Self { RequestViewBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -2859,9 +2942,7 @@ impl RequestViewBuilder { pub fn builder() -> Self { RequestViewBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -2958,7 +3039,10 @@ where impl RequestViewBuilder { /// Set the `referenceImages` field (optional) - pub fn reference_images(mut self, value: impl Into>>>) -> Self { + pub fn reference_images( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.5 = value.into(); self } @@ -2997,7 +3081,10 @@ impl RequestViewBuilder { impl RequestViewBuilder { /// Set the `targetActor` field (optional) - pub fn target_actor(mut self, value: impl Into>>) -> Self { + pub fn target_actor( + mut self, + value: impl Into>>, + ) -> Self { self._fields.8 = value.into(); self } @@ -3074,7 +3161,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RequestView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RequestView { RequestView { author: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -3090,4 +3180,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku/collection.rs b/crates/jacquard-api/src/tech_tokimeki/kaku/collection.rs index e41b74ebe..7e239febf 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku/collection.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku/collection.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A collection to organize drawings into folders #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -173,7 +173,7 @@ fn _default_collection_is_public() -> Option { pub mod collection_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -339,7 +339,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Collection { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Collection { Collection { created_at: self._fields.0.unwrap(), description: self._fields.1, @@ -351,10 +354,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_collection() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.collection"), @@ -363,15 +366,19 @@ fn lexicon_doc_tech_tokimeki_kaku_collection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A collection to organize drawings into folders", - )), + description: Some( + CowStr::new_static( + "A collection to organize drawings into folders", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -385,7 +392,9 @@ fn lexicon_doc_tech_tokimeki_kaku_collection() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Collection description")), + description: Some( + CowStr::new_static("Collection description"), + ), max_length: Some(500usize), max_graphemes: Some(200usize), ..Default::default() @@ -418,4 +427,4 @@ fn lexicon_doc_tech_tokimeki_kaku_collection() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku/collection_item.rs b/crates/jacquard-api/src/tech_tokimeki/kaku/collection_item.rs index e4562bc92..1df882055 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku/collection_item.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku/collection_item.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// An item in a collection linking to a post #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -120,7 +120,7 @@ impl LexiconSchema for CollectionItem { pub mod collection_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -177,14 +177,12 @@ pub mod collection_item_state { } /// Builder for constructing an instance of this type. -pub struct CollectionItemBuilder { +pub struct CollectionItemBuilder< + St: collection_item_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option>, - ), + _fields: (Option>, Option, Option, Option>), _type: PhantomData S>, } @@ -312,7 +310,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CollectionItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CollectionItem { CollectionItem { collection: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -324,10 +325,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_collectionItem() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.collectionItem"), @@ -336,16 +337,18 @@ fn lexicon_doc_tech_tokimeki_kaku_collectionItem() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "An item in a collection linking to a post", - )), + description: Some( + CowStr::new_static("An item in a collection linking to a post"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("collection"), - SmolStr::new_static("post"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("collection"), + SmolStr::new_static("post"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -388,4 +391,4 @@ fn lexicon_doc_tech_tokimeki_kaku_collectionItem() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku/post.rs b/crates/jacquard-api/src/tech_tokimeki/kaku/post.rs index 68496003c..9e45595a7 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku/post.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; -use crate::tech_tokimeki::kaku::AspectRatio; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::tech_tokimeki::kaku::AspectRatio; /// A drawing post created with the drawing tool #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -135,20 +135,25 @@ impl LexiconSchema for Post { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/png", "image/jpeg"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("image"), - accepted: vec!["image/png".to_string(), "image/jpeg".to_string()], + accepted: vec![ + "image/png".to_string(), "image/jpeg".to_string() + ], actual: mime.to_string(), }); } @@ -192,7 +197,7 @@ impl LexiconSchema for Post { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -444,10 +449,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.post"), @@ -456,16 +461,20 @@ fn lexicon_doc_tech_tokimeki_kaku_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A drawing post created with the drawing tool", - )), + description: Some( + CowStr::new_static( + "A drawing post created with the drawing tool", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("image"), - SmolStr::new_static("aspectRatio"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("image"), + SmolStr::new_static("aspectRatio"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -481,18 +490,16 @@ fn lexicon_doc_tech_tokimeki_kaku_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the post was created", - )), + description: Some( + CowStr::new_static("Timestamp when the post was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), ); map.insert( SmolStr::new_static("image"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("linkedPost"), @@ -511,9 +518,9 @@ fn lexicon_doc_tech_tokimeki_kaku_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Tags for categorization", - )), + description: Some( + CowStr::new_static("Tags for categorization"), + ), items: LexArrayItem::String(LexString { max_length: Some(64usize), max_graphemes: Some(32usize), @@ -526,9 +533,9 @@ fn lexicon_doc_tech_tokimeki_kaku_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional description or title", - )), + description: Some( + CowStr::new_static("Optional description or title"), + ), max_length: Some(1000usize), max_graphemes: Some(300usize), ..Default::default() @@ -545,4 +552,4 @@ fn lexicon_doc_tech_tokimeki_kaku_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku/reaction.rs b/crates/jacquard-api/src/tech_tokimeki/kaku/reaction.rs index 4f0cfcea3..c7f585a21 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku/reaction.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku/reaction.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A reaction to a post #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -199,7 +199,7 @@ impl LexiconSchema for Reaction { pub mod reaction_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -258,11 +258,7 @@ pub mod reaction_state { /// Builder for constructing an instance of this type. pub struct ReactionBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>, - Option>, - ), + _fields: (Option, Option>, Option>), _type: PhantomData S>, } @@ -387,10 +383,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_reaction() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.reaction"), @@ -402,11 +398,12 @@ fn lexicon_doc_tech_tokimeki_kaku_reaction() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A reaction to a post")), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("type"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), SmolStr::new_static("type"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -442,4 +439,4 @@ fn lexicon_doc_tech_tokimeki_kaku_reaction() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku/request.rs b/crates/jacquard-api/src/tech_tokimeki/kaku/request.rs index 5fa67956c..8ee856f29 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku/request.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku/request.rs @@ -10,14 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::blob::BlobRef; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -27,7 +27,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A request for someone to draw something #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -167,7 +167,7 @@ fn _default_request_is_open() -> Option { pub mod request_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -293,7 +293,10 @@ impl RequestBuilder { impl RequestBuilder { /// Set the `referenceImages` field (optional) - pub fn reference_images(mut self, value: impl Into>>>) -> Self { + pub fn reference_images( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -336,7 +339,10 @@ where St::Text: request_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> RequestBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> RequestBuilder, S> { self._fields.5 = Option::Some(value.into()); RequestBuilder { _state: PhantomData, @@ -379,10 +385,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_request() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.request"), @@ -391,15 +397,17 @@ fn lexicon_doc_tech_tokimeki_kaku_request() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A request for someone to draw something", - )), + description: Some( + CowStr::new_static("A request for someone to draw something"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("text"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -419,12 +427,10 @@ fn lexicon_doc_tech_tokimeki_kaku_request() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("referenceImages"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Reference images for the request", - )), - items: LexArrayItem::Blob(LexBlob { - ..Default::default() - }), + description: Some( + CowStr::new_static("Reference images for the request"), + ), + items: LexArrayItem::Blob(LexBlob { ..Default::default() }), max_length: Some(4usize), ..Default::default() }), @@ -432,9 +438,9 @@ fn lexicon_doc_tech_tokimeki_kaku_request() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("tags"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Tags for categorization", - )), + description: Some( + CowStr::new_static("Tags for categorization"), + ), items: LexArrayItem::String(LexString { max_length: Some(64usize), ..Default::default() @@ -446,9 +452,9 @@ fn lexicon_doc_tech_tokimeki_kaku_request() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("targetActor"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional: specific artist to request", - )), + description: Some( + CowStr::new_static("Optional: specific artist to request"), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -456,9 +462,9 @@ fn lexicon_doc_tech_tokimeki_kaku_request() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Description of what to draw", - )), + description: Some( + CowStr::new_static("Description of what to draw"), + ), max_length: Some(1000usize), max_graphemes: Some(300usize), ..Default::default() @@ -475,4 +481,4 @@ fn lexicon_doc_tech_tokimeki_kaku_request() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku/request_response.rs b/crates/jacquard-api/src/tech_tokimeki/kaku/request_response.rs index 3f6e5f3ba..adacff4bb 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku/request_response.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku/request_response.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A post created in response to a request #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -133,7 +133,7 @@ impl LexiconSchema for RequestResponse { pub mod request_response_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -190,14 +190,12 @@ pub mod request_response_state { } /// Builder for constructing an instance of this type. -pub struct RequestResponseBuilder { +pub struct RequestResponseBuilder< + St: request_response_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - ), + _fields: (Option, Option, Option>, Option>), _type: PhantomData S>, } @@ -325,7 +323,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RequestResponse { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RequestResponse { RequestResponse { created_at: self._fields.0.unwrap(), message: self._fields.1, @@ -337,10 +338,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_requestResponse() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.requestResponse"), @@ -349,16 +350,17 @@ fn lexicon_doc_tech_tokimeki_kaku_requestResponse() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A post created in response to a request", - )), + description: Some( + CowStr::new_static("A post created in response to a request"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("request"), - SmolStr::new_static("post"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("request"), SmolStr::new_static("post"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -372,9 +374,9 @@ fn lexicon_doc_tech_tokimeki_kaku_requestResponse() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("message"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional message to the requester", - )), + description: Some( + CowStr::new_static("Optional message to the requester"), + ), max_length: Some(500usize), max_graphemes: Some(150usize), ..Default::default() @@ -405,4 +407,4 @@ fn lexicon_doc_tech_tokimeki_kaku_requestResponse() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/kaku/room_gate.rs b/crates/jacquard-api/src/tech_tokimeki/kaku/room_gate.rs index 9e922c2c2..a0da93a25 100644 --- a/crates/jacquard-api/src/tech_tokimeki/kaku/room_gate.rs +++ b/crates/jacquard-api/src/tech_tokimeki/kaku/room_gate.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// Gate settings for a ROOM post (like threadgate) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -115,7 +115,7 @@ fn _default_room_gate_is_closed() -> Option { pub mod room_gate_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -278,10 +278,10 @@ where } fn lexicon_doc_tech_tokimeki_kaku_roomGate() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.kaku.roomGate"), @@ -290,24 +290,28 @@ fn lexicon_doc_tech_tokimeki_kaku_roomGate() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Gate settings for a ROOM post (like threadgate)", - )), + description: Some( + CowStr::new_static( + "Gate settings for a ROOM post (like threadgate)", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("room"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("room"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the gate was created", - )), + description: Some( + CowStr::new_static("Timestamp when the gate was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -336,4 +340,4 @@ fn lexicon_doc_tech_tokimeki_kaku_roomGate() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/poll.rs b/crates/jacquard-api/src/tech_tokimeki/poll.rs index 6cbdb3546..c96e096b3 100644 --- a/crates/jacquard-api/src/tech_tokimeki/poll.rs +++ b/crates/jacquard-api/src/tech_tokimeki/poll.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `tech.tokimeki.poll` Lexicon namespace/module. pub mod poll; -pub mod vote; +pub mod vote; \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/poll/poll.rs b/crates/jacquard-api/src/tech_tokimeki/poll/poll.rs index d6f54d3b3..f92cbe139 100644 --- a/crates/jacquard-api/src/tech_tokimeki/poll/poll.rs +++ b/crates/jacquard-api/src/tech_tokimeki/poll/poll.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A poll record that can be attached to a post via embed.external #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -133,7 +133,7 @@ impl LexiconSchema for Poll { pub mod poll_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -192,12 +192,7 @@ pub mod poll_state { /// Builder for constructing an instance of this type. pub struct PollBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - ), + _fields: (Option, Option, Option>, Option>), _type: PhantomData S>, } @@ -337,10 +332,10 @@ where } fn lexicon_doc_tech_tokimeki_poll_poll() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.poll.poll"), @@ -349,16 +344,20 @@ fn lexicon_doc_tech_tokimeki_poll_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A poll record that can be attached to a post via embed.external", - )), + description: Some( + CowStr::new_static( + "A poll record that can be attached to a post via embed.external", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("options"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("endsAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("options"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("endsAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -372,9 +371,9 @@ fn lexicon_doc_tech_tokimeki_poll_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("endsAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the poll closes for voting", - )), + description: Some( + CowStr::new_static("When the poll closes for voting"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -382,9 +381,9 @@ fn lexicon_doc_tech_tokimeki_poll_poll() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("options"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Poll options (2-4 choices)", - )), + description: Some( + CowStr::new_static("Poll options (2-4 choices)"), + ), items: LexArrayItem::String(LexString { max_length: Some(100usize), max_graphemes: Some(50usize), @@ -413,4 +412,4 @@ fn lexicon_doc_tech_tokimeki_poll_poll() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/poll/vote.rs b/crates/jacquard-api/src/tech_tokimeki/poll/vote.rs index ca5daec80..675b1571c 100644 --- a/crates/jacquard-api/src/tech_tokimeki/poll/vote.rs +++ b/crates/jacquard-api/src/tech_tokimeki/poll/vote.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A vote on a poll #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -128,7 +128,7 @@ impl LexiconSchema for Vote { pub mod vote_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -312,10 +312,10 @@ where } fn lexicon_doc_tech_tokimeki_poll_vote() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.poll.vote"), @@ -327,11 +327,13 @@ fn lexicon_doc_tech_tokimeki_poll_vote() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A vote on a poll")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("poll"), - SmolStr::new_static("optionIndex"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("poll"), + SmolStr::new_static("optionIndex"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -368,4 +370,4 @@ fn lexicon_doc_tech_tokimeki_poll_vote() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/takibi.rs b/crates/jacquard-api/src/tech_tokimeki/takibi.rs index 892147fa6..6fcf18c3b 100644 --- a/crates/jacquard-api/src/tech_tokimeki/takibi.rs +++ b/crates/jacquard-api/src/tech_tokimeki/takibi.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `tech.tokimeki.takibi` Lexicon namespace/module. pub mod log; -pub mod spark; +pub mod spark; \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/takibi/log.rs b/crates/jacquard-api/src/tech_tokimeki/takibi/log.rs index b82efb586..8a16c2fe6 100644 --- a/crates/jacquard-api/src/tech_tokimeki/takibi/log.rs +++ b/crates/jacquard-api/src/tech_tokimeki/takibi/log.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,11 +24,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; -use crate::tech_tokimeki::takibi::log; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; +use crate::tech_tokimeki::takibi::log; /// A log record - adding wood to the fire. Implicitly records visible sparks as a form of 'silent appreciation'. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -61,10 +61,7 @@ pub struct LogGetRecordOutput { /// Reference to a visible spark with timing information #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SparkRef { ///Milliseconds since the spark appeared on screen (0-10000) pub elapsed: i64, @@ -169,7 +166,7 @@ impl LexiconSchema for SparkRef { pub mod log_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -263,7 +260,10 @@ where impl LogBuilder { /// Set the `visibleSparks` field (optional) - pub fn visible_sparks(mut self, value: impl Into>>>) -> Self { + pub fn visible_sparks( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.1 = value.into(); self } @@ -298,10 +298,10 @@ where } fn lexicon_doc_tech_tokimeki_takibi_log() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.takibi.log"), @@ -354,13 +354,16 @@ fn lexicon_doc_tech_tokimeki_takibi_log() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sparkRef"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Reference to a visible spark with timing information", - )), - required: Some(vec![ - SmolStr::new_static("spark"), - SmolStr::new_static("elapsed"), - ]), + description: Some( + CowStr::new_static( + "Reference to a visible spark with timing information", + ), + ), + required: Some( + vec![ + SmolStr::new_static("spark"), SmolStr::new_static("elapsed") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -392,7 +395,7 @@ fn lexicon_doc_tech_tokimeki_takibi_log() -> LexiconDoc<'static> { pub mod spark_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -537,4 +540,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tech_tokimeki/takibi/spark.rs b/crates/jacquard-api/src/tech_tokimeki/takibi/spark.rs index 556e247b3..8221bed71 100644 --- a/crates/jacquard-api/src/tech_tokimeki/takibi/spark.rs +++ b/crates/jacquard-api/src/tech_tokimeki/takibi/spark.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A spark record - throwing a short message into the fire. Something you like or words that cheer you up. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,7 +129,7 @@ impl LexiconSchema for Spark { pub mod spark_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -239,7 +239,10 @@ where St::Text: spark_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> SparkBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> SparkBuilder, S> { self._fields.1 = Option::Some(value.into()); SparkBuilder { _state: PhantomData, @@ -274,10 +277,10 @@ where } fn lexicon_doc_tech_tokimeki_takibi_spark() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tech.tokimeki.takibi.spark"), @@ -331,4 +334,4 @@ fn lexicon_doc_tech_tokimeki_takibi_spark() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/to_atpr.rs b/crates/jacquard-api/src/to_atpr.rs index 538cf27e4..a0d331c54 100644 --- a/crates/jacquard-api/src/to_atpr.rs +++ b/crates/jacquard-api/src/to_atpr.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `to.atpr` Lexicon namespace/module. -pub mod link; +pub mod link; \ No newline at end of file diff --git a/crates/jacquard-api/src/to_atpr/link.rs b/crates/jacquard-api/src/to_atpr/link.rs index ba794b526..bcd1191ab 100644 --- a/crates/jacquard-api/src/to_atpr/link.rs +++ b/crates/jacquard-api/src/to_atpr/link.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A shortened URL mapping #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -115,7 +115,7 @@ impl LexiconSchema for Link { pub mod link_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -225,7 +225,10 @@ where St::Url: link_state::IsUnset, { /// Set the `url` field (required) - pub fn url(mut self, value: impl Into>) -> LinkBuilder, S> { + pub fn url( + mut self, + value: impl Into>, + ) -> LinkBuilder, S> { self._fields.1 = Option::Some(value.into()); LinkBuilder { _state: PhantomData, @@ -260,10 +263,10 @@ where } fn lexicon_doc_to_atpr_link() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("to.atpr.link"), @@ -275,10 +278,11 @@ fn lexicon_doc_to_atpr_link() -> LexiconDoc<'static> { description: Some(CowStr::new_static("A shortened URL mapping")), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("url"), - SmolStr::new_static("updatedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("url"), SmolStr::new_static("updatedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -308,4 +312,4 @@ fn lexicon_doc_to_atpr_link() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone.rs b/crates/jacquard-api/src/tools_ozone.rs index 0b3f70c5e..026f189cd 100644 --- a/crates/jacquard-api/src/tools_ozone.rs +++ b/crates/jacquard-api/src/tools_ozone.rs @@ -15,4 +15,4 @@ pub mod set; pub mod setting; pub mod signature; pub mod team; -pub mod verification; +pub mod verification; \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/communication.rs b/crates/jacquard-api/src/tools_ozone/communication.rs index 635a01c1f..0c0096bd0 100644 --- a/crates/jacquard-api/src/tools_ozone/communication.rs +++ b/crates/jacquard-api/src/tools_ozone/communication.rs @@ -11,17 +11,18 @@ pub mod delete_template; pub mod list_templates; pub mod update_template; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Language}; +use jacquard_common::types::string::{Did, Datetime, Language}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; @@ -29,13 +30,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TemplateView { ///Subject of the message, used in emails. pub content_markdown: S, @@ -74,7 +72,7 @@ impl LexiconSchema for TemplateView { pub mod template_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -445,7 +443,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TemplateView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TemplateView { TemplateView { content_markdown: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -462,10 +463,10 @@ where } fn lexicon_doc_tools_ozone_communication_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.communication.defs"), @@ -571,4 +572,4 @@ fn lexicon_doc_tools_ozone_communication_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/communication/create_template.rs b/crates/jacquard-api/src/tools_ozone/communication/create_template.rs index a38cff39a..e065dc4ac 100644 --- a/crates/jacquard-api/src/tools_ozone/communication/create_template.rs +++ b/crates/jacquard-api/src/tools_ozone/communication/create_template.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::communication::TemplateView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Language}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::communication::TemplateView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateTemplate { ///Content of the template, markdown supported, can contain variable placeholders. pub content_markdown: S, @@ -40,11 +37,9 @@ pub struct CreateTemplate { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateTemplateOutput { #[serde(flatten)] pub value: TemplateView, @@ -52,19 +47,25 @@ pub struct CreateTemplateOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateTemplateError { #[serde(rename = "DuplicateTemplateName")] DuplicateTemplateName(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateTemplateError { @@ -101,8 +102,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateTemplateResponse { impl jacquard_common::xrpc::XrpcRequest for CreateTemplate { const NSID: &'static str = "tools.ozone.communication.createTemplate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateTemplateResponse; } @@ -112,8 +114,9 @@ Path: `/xrpc/tools.ozone.communication.createTemplate`. The request payload type pub struct CreateTemplateRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateTemplateRequest { const PATH: &'static str = "/xrpc/tools.ozone.communication.createTemplate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateTemplate; type Response = CreateTemplateResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/communication/delete_template.rs b/crates/jacquard-api/src/tools_ozone/communication/delete_template.rs index 6122bfa06..b4e8f8468 100644 --- a/crates/jacquard-api/src/tools_ozone/communication/delete_template.rs +++ b/crates/jacquard-api/src/tools_ozone/communication/delete_template.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteTemplate { pub id: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -40,8 +37,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteTemplateResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteTemplate { const NSID: &'static str = "tools.ozone.communication.deleteTemplate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteTemplateResponse; } @@ -51,8 +49,9 @@ Path: `/xrpc/tools.ozone.communication.deleteTemplate`. The request payload type pub struct DeleteTemplateRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteTemplateRequest { const PATH: &'static str = "/xrpc/tools.ozone.communication.deleteTemplate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteTemplate; type Response = DeleteTemplateResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/communication/list_templates.rs b/crates/jacquard-api/src/tools_ozone/communication/list_templates.rs index 31a174e92..463339364 100644 --- a/crates/jacquard-api/src/tools_ozone/communication/list_templates.rs +++ b/crates/jacquard-api/src/tools_ozone/communication/list_templates.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::communication::TemplateView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::communication::TemplateView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListTemplatesOutput { pub communication_templates: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -60,4 +57,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for ListTemplatesRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = ListTemplates; type Response = ListTemplatesResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/communication/update_template.rs b/crates/jacquard-api/src/tools_ozone/communication/update_template.rs index 08e5c8654..6854e068c 100644 --- a/crates/jacquard-api/src/tools_ozone/communication/update_template.rs +++ b/crates/jacquard-api/src/tools_ozone/communication/update_template.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::communication::TemplateView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Language}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::communication::TemplateView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateTemplate { ///Content of the template, markdown supported, can contain variable placeholders. #[serde(skip_serializing_if = "Option::is_none")] @@ -47,11 +44,9 @@ pub struct UpdateTemplate { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateTemplateOutput { #[serde(flatten)] pub value: TemplateView, @@ -59,19 +54,25 @@ pub struct UpdateTemplateOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdateTemplateError { #[serde(rename = "DuplicateTemplateName")] DuplicateTemplateName(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdateTemplateError { @@ -108,8 +109,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateTemplateResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateTemplate { const NSID: &'static str = "tools.ozone.communication.updateTemplate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateTemplateResponse; } @@ -119,8 +121,9 @@ Path: `/xrpc/tools.ozone.communication.updateTemplate`. The request payload type pub struct UpdateTemplateRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateTemplateRequest { const PATH: &'static str = "/xrpc/tools.ozone.communication.updateTemplate"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateTemplate; type Response = UpdateTemplateResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/hosting.rs b/crates/jacquard-api/src/tools_ozone/hosting.rs index f949d793e..20f169c0f 100644 --- a/crates/jacquard-api/src/tools_ozone/hosting.rs +++ b/crates/jacquard-api/src/tools_ozone/hosting.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tools.ozone.hosting` Lexicon namespace/module. -pub mod get_account_history; +pub mod get_account_history; \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/hosting/get_account_history.rs b/crates/jacquard-api/src/tools_ozone/hosting/get_account_history.rs index 18322cc46..3ece52513 100644 --- a/crates/jacquard-api/src/tools_ozone/hosting/get_account_history.rs +++ b/crates/jacquard-api/src/tools_ozone/hosting/get_account_history.rs @@ -10,27 +10,24 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Handle}; +use jacquard_common::types::string::{Did, Handle, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::hosting::get_account_history; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::hosting::get_account_history; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AccountCreated { #[serde(skip_serializing_if = "Option::is_none")] pub email: Option, @@ -40,33 +37,27 @@ pub struct AccountCreated { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EmailConfirmed { pub email: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EmailUpdated { pub email: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Event { pub created_at: Datetime, pub created_by: S, @@ -75,6 +66,7 @@ pub struct Event { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -91,22 +83,18 @@ pub enum EventDetails { HandleUpdated(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HandleUpdated { pub handle: Handle, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountHistory { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -119,11 +107,9 @@ pub struct GetAccountHistory { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountHistoryOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -132,11 +118,9 @@ pub struct GetAccountHistoryOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PasswordUpdated { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -261,10 +245,10 @@ impl LexiconSchema for PasswordUpdated { } fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.hosting.getAccountHistory"), @@ -279,9 +263,7 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("email"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("handle"), @@ -304,9 +286,7 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("email"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -322,9 +302,7 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("email"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -334,11 +312,13 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("event"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("details"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("details"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -351,9 +331,7 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("createdBy"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("details"), @@ -363,7 +341,7 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { CowStr::new_static("#emailUpdated"), CowStr::new_static("#emailConfirmed"), CowStr::new_static("#passwordUpdated"), - CowStr::new_static("#handleUpdated"), + CowStr::new_static("#handleUpdated") ], ..Default::default() }), @@ -395,43 +373,45 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("did")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("did"), - LexXrpcParametersProperty::String(LexString { - format: Some(LexStringFormat::Did), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("events"), - LexXrpcParametersProperty::Array(LexPrimitiveArray { - items: LexPrimitiveArrayItem::String(LexString { + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("did")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { ..Default::default() }), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + ); + map.insert( + SmolStr::new_static("did"), + LexXrpcParametersProperty::String(LexString { + format: Some(LexStringFormat::Did), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("events"), + LexXrpcParametersProperty::Array(LexPrimitiveArray { + items: LexPrimitiveArrayItem::String(LexString { + ..Default::default() + }), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -455,7 +435,7 @@ fn lexicon_doc_tools_ozone_hosting_getAccountHistory() -> LexiconDoc<'static> { pub mod event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -640,7 +620,7 @@ where pub mod handle_updated_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -671,7 +651,10 @@ pub mod handle_updated_state { } /// Builder for constructing an instance of this type. -pub struct HandleUpdatedBuilder { +pub struct HandleUpdatedBuilder< + St: handle_updated_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -745,7 +728,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> HandleUpdated { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> HandleUpdated { HandleUpdated { handle: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -759,7 +745,7 @@ fn _default_limit() -> Option { pub mod get_account_history_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -790,7 +776,10 @@ pub mod get_account_history_state { } /// Builder for constructing an instance of this type. -pub struct GetAccountHistoryBuilder { +pub struct GetAccountHistoryBuilder< + St: get_account_history_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option>, Option), _type: PhantomData S>, @@ -798,7 +787,10 @@ pub struct GetAccountHistoryBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetAccountHistoryBuilder { + pub fn new() -> GetAccountHistoryBuilder< + get_account_history_state::Empty, + DefaultStr, + > { GetAccountHistoryBuilder::new() } } @@ -904,4 +896,4 @@ where limit: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation.rs b/crates/jacquard-api/src/tools_ozone/moderation.rs index 905ac3361..7f4a05358 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation.rs @@ -22,22 +22,26 @@ pub mod query_statuses; pub mod schedule_action; pub mod search_repos; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did, Handle, UriValue}; +use jacquard_common::types::string::{Did, Handle, AtUri, Cid, Datetime, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::ageassurance::Access; use crate::chat_bsky::convo::ConvoRef; use crate::chat_bsky::convo::MessageRef; @@ -49,16 +53,10 @@ use crate::com_atproto::moderation::SubjectType; use crate::com_atproto::repo::strong_ref::StrongRef; use crate::com_atproto::server::InviteCode; use crate::tools_ozone::moderation; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AccountEvent { ///Indicates that the account has a repository which can be fetched from the host that emitted this event. pub active: bool, @@ -71,6 +69,7 @@ pub struct AccountEvent { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum AccountEventStatus { Unknown, @@ -164,11 +163,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AccountHosting { #[serde(skip_serializing_if = "Option::is_none")] pub created_at: Option, @@ -185,6 +182,7 @@ pub struct AccountHosting { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum AccountHostingStatus { Takendown, @@ -269,7 +267,9 @@ where AccountHostingStatus::Deleted => AccountHostingStatus::Deleted, AccountHostingStatus::Deactivated => AccountHostingStatus::Deactivated, AccountHostingStatus::Unknown => AccountHostingStatus::Unknown, - AccountHostingStatus::Other(v) => AccountHostingStatus::Other(v.into_static()), + AccountHostingStatus::Other(v) => { + AccountHostingStatus::Other(v.into_static()) + } } } } @@ -277,10 +277,7 @@ where /// Statistics about a particular account subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AccountStats { ///Total number of appeals against a moderation action on the account #[serde(skip_serializing_if = "Option::is_none")] @@ -304,10 +301,7 @@ pub struct AccountStats { /// Strike information for an account #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AccountStrike { ///Current number of active strikes (excluding expired strikes) #[serde(skip_serializing_if = "Option::is_none")] @@ -328,10 +322,7 @@ pub struct AccountStrike { /// Age assurance info coming directly from users. Only works on DID subjects. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AgeAssuranceEvent { #[serde(skip_serializing_if = "Option::is_none")] pub access: Option>, @@ -441,7 +432,9 @@ where AgeAssuranceEventStatus::Unknown => AgeAssuranceEventStatus::Unknown, AgeAssuranceEventStatus::Pending => AgeAssuranceEventStatus::Pending, AgeAssuranceEventStatus::Assured => AgeAssuranceEventStatus::Assured, - AgeAssuranceEventStatus::Other(v) => AgeAssuranceEventStatus::Other(v.into_static()), + AgeAssuranceEventStatus::Other(v) => { + AgeAssuranceEventStatus::Other(v.into_static()) + } } } } @@ -449,10 +442,7 @@ where /// Age assurance status override by moderators. Only works on DID subjects. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AgeAssuranceOverrideEvent { #[serde(skip_serializing_if = "Option::is_none")] pub access: Option>, @@ -515,7 +505,8 @@ impl Serialize for AgeAssuranceOverrideEventStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for AgeAssuranceOverrideEventStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for AgeAssuranceOverrideEventStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -539,9 +530,15 @@ where type Output = AgeAssuranceOverrideEventStatus; fn into_static(self) -> Self::Output { match self { - AgeAssuranceOverrideEventStatus::Assured => AgeAssuranceOverrideEventStatus::Assured, - AgeAssuranceOverrideEventStatus::Reset => AgeAssuranceOverrideEventStatus::Reset, - AgeAssuranceOverrideEventStatus::Blocked => AgeAssuranceOverrideEventStatus::Blocked, + AgeAssuranceOverrideEventStatus::Assured => { + AgeAssuranceOverrideEventStatus::Assured + } + AgeAssuranceOverrideEventStatus::Reset => { + AgeAssuranceOverrideEventStatus::Reset + } + AgeAssuranceOverrideEventStatus::Blocked => { + AgeAssuranceOverrideEventStatus::Blocked + } AgeAssuranceOverrideEventStatus::Other(v) => { AgeAssuranceOverrideEventStatus::Other(v.into_static()) } @@ -552,10 +549,7 @@ where /// Purges all age assurance events for the subject. Only works on DID subjects. Moderator-only. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AgeAssurancePurgeEvent { ///Comment describing the reason for the purge. pub comment: S, @@ -563,11 +557,9 @@ pub struct AgeAssurancePurgeEvent { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct BlobView { pub cid: Cid, pub created_at: Datetime, @@ -581,6 +573,7 @@ pub struct BlobView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -594,10 +587,7 @@ pub enum BlobViewDetails { /// Logs cancellation of a scheduled takedown action for an account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CancelScheduledTakedownEvent { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -605,11 +595,9 @@ pub struct CancelScheduledTakedownEvent { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConvoView { pub convo_id: S, pub did: Did, @@ -620,10 +608,7 @@ pub struct ConvoView { /// Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct IdentityEvent { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -638,11 +623,9 @@ pub struct IdentityEvent { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImageDetails { pub height: i64, pub width: i64, @@ -650,11 +633,9 @@ pub struct ImageDetails { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventAcknowledge { ///If true, all other reports on content authored by this account will be resolved (acknowledged). #[serde(skip_serializing_if = "Option::is_none")] @@ -668,10 +649,7 @@ pub struct ModEventAcknowledge { /// Add a comment to a subject. An empty comment will clear any previously set sticky comment. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventComment { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -685,10 +663,7 @@ pub struct ModEventComment { /// Divert a record's blobs to a 3rd party service for further scanning/tagging #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventDivert { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -699,10 +674,7 @@ pub struct ModEventDivert { /// Keep a log of outgoing email to a user #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventEmail { ///Additional comment about the outgoing comm. #[serde(skip_serializing_if = "Option::is_none")] @@ -731,11 +703,9 @@ pub struct ModEventEmail { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventEscalate { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -746,10 +716,7 @@ pub struct ModEventEscalate { /// Apply/Negate labels on a subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventLabel { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -765,10 +732,7 @@ pub struct ModEventLabel { /// Mute incoming reports on a subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventMute { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -781,10 +745,7 @@ pub struct ModEventMute { /// Mute incoming reports from an account #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventMuteReporter { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -798,10 +759,7 @@ pub struct ModEventMuteReporter { /// Set priority score of the subject. Higher score means higher priority. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventPriorityScore { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -813,10 +771,7 @@ pub struct ModEventPriorityScore { /// Report a subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventReport { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -831,10 +786,7 @@ pub struct ModEventReport { /// Resolve appeal on a subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventResolveAppeal { ///Describe resolution. #[serde(skip_serializing_if = "Option::is_none")] @@ -846,10 +798,7 @@ pub struct ModEventResolveAppeal { /// Revert take down action on a subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventReverseTakedown { ///Describe reasoning behind the reversal. #[serde(skip_serializing_if = "Option::is_none")] @@ -870,10 +819,7 @@ pub struct ModEventReverseTakedown { /// Add/Remove a tag on a subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventTag { ///Tags to be added to the subject. If already exists, won't be duplicated. pub add: Vec, @@ -892,10 +838,7 @@ pub struct ModEventTag { /// Take down a subject permanently or temporarily #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventTakedown { ///If true, all other reports on content authored by this account will be resolved (acknowledged). #[serde(skip_serializing_if = "Option::is_none")] @@ -927,10 +870,7 @@ pub struct ModEventTakedown { /// Unmute action on a subject #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventUnmute { ///Describe reasoning behind the reversal. #[serde(skip_serializing_if = "Option::is_none")] @@ -942,10 +882,7 @@ pub struct ModEventUnmute { /// Unmute incoming reports from an account #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventUnmuteReporter { ///Describe reasoning behind the reversal. #[serde(skip_serializing_if = "Option::is_none")] @@ -954,11 +891,9 @@ pub struct ModEventUnmuteReporter { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventView { pub created_at: Datetime, pub created_by: Did, @@ -976,6 +911,7 @@ pub struct ModEventView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1032,6 +968,7 @@ pub enum ModEventViewEvent { CancelScheduledTakedownEvent(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1046,11 +983,9 @@ pub enum ModEventViewSubject { ConvoRef(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModEventViewDetail { pub created_at: Datetime, pub created_by: Did, @@ -1064,6 +999,7 @@ pub struct ModEventViewDetail { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1120,6 +1056,7 @@ pub enum ModEventViewDetailEvent { CancelScheduledTakedownEvent(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1139,10 +1076,7 @@ pub enum ModEventViewDetailSubject { /// Moderation tool information for tracing the source of the action #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModTool { ///Additional arbitrary metadata about the source #[serde(skip_serializing_if = "Option::is_none")] @@ -1153,11 +1087,9 @@ pub struct ModTool { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Moderation { #[serde(skip_serializing_if = "Option::is_none")] pub subject_status: Option>, @@ -1165,11 +1097,9 @@ pub struct Moderation { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ModerationDetail { #[serde(skip_serializing_if = "Option::is_none")] pub subject_status: Option>, @@ -1180,10 +1110,7 @@ pub struct ModerationDetail { /// Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordEvent { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, @@ -1195,6 +1122,7 @@ pub struct RecordEvent { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum RecordEventOp { Create, @@ -1276,11 +1204,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordHosting { #[serde(skip_serializing_if = "Option::is_none")] pub created_at: Option, @@ -1293,6 +1219,7 @@ pub struct RecordHosting { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum RecordHostingStatus { Deleted, @@ -1370,11 +1297,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordView { pub blob_cids: Vec>, pub cid: Cid, @@ -1387,11 +1312,9 @@ pub struct RecordView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordViewDetail { pub blobs: Vec>, pub cid: Cid, @@ -1406,11 +1329,9 @@ pub struct RecordViewDetail { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordViewNotFound { pub uri: AtUri, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -1420,10 +1341,7 @@ pub struct RecordViewNotFound { /// Statistics about a set of record subject items #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordsStats { ///Number of items that were appealed at least once #[serde(skip_serializing_if = "Option::is_none")] @@ -1453,11 +1371,9 @@ pub struct RecordsStats { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RepoView { #[serde(skip_serializing_if = "Option::is_none")] pub deactivated_at: Option, @@ -1480,11 +1396,9 @@ pub struct RepoView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RepoViewDetail { #[serde(skip_serializing_if = "Option::is_none")] pub deactivated_at: Option, @@ -1513,22 +1427,18 @@ pub struct RepoViewDetail { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RepoViewNotFound { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReporterStats { ///The total number of reports made by the user on accounts. pub account_report_count: i64, @@ -1594,10 +1504,7 @@ impl core::fmt::Display for ReviewOpen { /// Account credentials revocation by moderators. Only works on DID subjects. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RevokeAccountCredentialsEvent { ///Comment describing the reason for the revocation. pub comment: S, @@ -1608,10 +1515,7 @@ pub struct RevokeAccountCredentialsEvent { /// Logs a scheduled takedown action for an account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScheduleTakedownEvent { #[serde(skip_serializing_if = "Option::is_none")] pub comment: Option, @@ -1628,10 +1532,7 @@ pub struct ScheduleTakedownEvent { /// View of a scheduled moderation action #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScheduledActionView { ///Type of action to be executed pub action: ScheduledActionViewAction, @@ -1721,7 +1622,8 @@ impl Serialize for ScheduledActionViewAction { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ScheduledActionViewAction { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ScheduledActionViewAction { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1807,7 +1709,8 @@ impl Serialize for ScheduledActionViewStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ScheduledActionViewStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ScheduledActionViewStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1842,6 +1745,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum SubjectReviewState { ToolsOzoneModerationDefsReviewOpen, @@ -1854,28 +1758,36 @@ pub enum SubjectReviewState { impl SubjectReviewState { pub fn as_str(&self) -> &str { match self { - Self::ToolsOzoneModerationDefsReviewOpen => "tools.ozone.moderation.defs#reviewOpen", + Self::ToolsOzoneModerationDefsReviewOpen => { + "tools.ozone.moderation.defs#reviewOpen" + } Self::ToolsOzoneModerationDefsReviewEscalated => { "tools.ozone.moderation.defs#reviewEscalated" } Self::ToolsOzoneModerationDefsReviewClosed => { "tools.ozone.moderation.defs#reviewClosed" } - Self::ToolsOzoneModerationDefsReviewNone => "tools.ozone.moderation.defs#reviewNone", + Self::ToolsOzoneModerationDefsReviewNone => { + "tools.ozone.moderation.defs#reviewNone" + } Self::Other(s) => s.as_ref(), } } /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "tools.ozone.moderation.defs#reviewOpen" => Self::ToolsOzoneModerationDefsReviewOpen, + "tools.ozone.moderation.defs#reviewOpen" => { + Self::ToolsOzoneModerationDefsReviewOpen + } "tools.ozone.moderation.defs#reviewEscalated" => { Self::ToolsOzoneModerationDefsReviewEscalated } "tools.ozone.moderation.defs#reviewClosed" => { Self::ToolsOzoneModerationDefsReviewClosed } - "tools.ozone.moderation.defs#reviewNone" => Self::ToolsOzoneModerationDefsReviewNone, + "tools.ozone.moderation.defs#reviewNone" => { + Self::ToolsOzoneModerationDefsReviewNone + } _ => Self::Other(s), } } @@ -1937,11 +1849,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubjectStatusView { ///Statistics related to the account subject #[serde(skip_serializing_if = "Option::is_none")] @@ -2060,7 +1970,8 @@ impl Serialize for SubjectStatusViewAgeAssuranceState { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for SubjectStatusViewAgeAssuranceState { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for SubjectStatusViewAgeAssuranceState { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -2093,7 +2004,9 @@ where SubjectStatusViewAgeAssuranceState::Unknown => { SubjectStatusViewAgeAssuranceState::Unknown } - SubjectStatusViewAgeAssuranceState::Reset => SubjectStatusViewAgeAssuranceState::Reset, + SubjectStatusViewAgeAssuranceState::Reset => { + SubjectStatusViewAgeAssuranceState::Reset + } SubjectStatusViewAgeAssuranceState::Blocked => { SubjectStatusViewAgeAssuranceState::Blocked } @@ -2153,8 +2066,7 @@ impl Serialize for SubjectStatusViewAgeAssuranceUpdatedBy { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for SubjectStatusViewAgeAssuranceUpdatedBy -{ +for SubjectStatusViewAgeAssuranceUpdatedBy { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -2191,6 +2103,7 @@ where } } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2201,6 +2114,7 @@ pub enum SubjectStatusViewHosting { RecordHosting(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -2218,10 +2132,7 @@ pub enum SubjectStatusViewSubject { /// Detailed view of a subject. For record subjects, the author's repo and profile will be returned. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubjectView { #[serde(skip_serializing_if = "Option::is_none")] pub profile: Option>, @@ -2267,11 +2178,9 @@ impl core::fmt::Display for TimelineEventPlcTombstone { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VideoDetails { pub height: i64, pub length: i64, @@ -3118,7 +3027,7 @@ impl LexiconSchema for VideoDetails { pub mod account_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3163,12 +3072,7 @@ pub mod account_event_state { /// Builder for constructing an instance of this type. pub struct AccountEventBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option, - ), + _fields: (Option, Option, Option>, Option), _type: PhantomData S>, } @@ -3289,7 +3193,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AccountEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AccountEvent { AccountEvent { active: self._fields.0.unwrap(), comment: self._fields.1, @@ -3301,10 +3208,10 @@ where } fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.moderation.defs"), @@ -3390,9 +3297,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("status"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), @@ -3409,9 +3314,11 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("accountStats"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Statistics about a particular account subject", - )), + description: Some( + CowStr::new_static( + "Statistics about a particular account subject", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3453,7 +3360,9 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("accountStrike"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Strike information for an account")), + description: Some( + CowStr::new_static("Strike information for an account"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3466,9 +3375,9 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("firstStrikeAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of the first strike received", - )), + description: Some( + CowStr::new_static("Timestamp of the first strike received"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -3476,9 +3385,11 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("lastStrikeAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of the most recent strike received", - )), + description: Some( + CowStr::new_static( + "Timestamp of the most recent strike received", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -3711,12 +3622,12 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("blobView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("cid"), - SmolStr::new_static("mimeType"), - SmolStr::new_static("size"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("cid"), SmolStr::new_static("mimeType"), + SmolStr::new_static("size"), SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3739,16 +3650,14 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { LexObjectProperty::Union(LexRefUnion { refs: vec![ CowStr::new_static("#imageDetails"), - CowStr::new_static("#videoDetails"), + CowStr::new_static("#videoDetails") ], ..Default::default() }), ); map.insert( SmolStr::new_static("mimeType"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("moderation"), @@ -3771,17 +3680,17 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("cancelScheduledTakedownEvent"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Logs cancellation of a scheduled takedown action for an account.", - )), + description: Some( + CowStr::new_static( + "Logs cancellation of a scheduled takedown action for an account.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -3791,18 +3700,15 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("convoView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("convoId"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("convoId")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("convoId"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("did"), @@ -3867,10 +3773,9 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("imageDetails"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("width"), - SmolStr::new_static("height"), - ]), + required: Some( + vec![SmolStr::new_static("width"), SmolStr::new_static("height")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -3905,9 +3810,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -4066,9 +3969,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -4078,19 +3979,21 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modEventLabel"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Apply/Negate labels on a subject")), - required: Some(vec![ - SmolStr::new_static("createLabelVals"), - SmolStr::new_static("negateLabelVals"), - ]), + description: Some( + CowStr::new_static("Apply/Negate labels on a subject"), + ), + required: Some( + vec![ + SmolStr::new_static("createLabelVals"), + SmolStr::new_static("negateLabelVals") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("createLabelVals"), @@ -4124,16 +4027,16 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modEventMute"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Mute incoming reports on a subject")), + description: Some( + CowStr::new_static("Mute incoming reports on a subject"), + ), required: Some(vec![SmolStr::new_static("durationInHours")]), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("durationInHours"), @@ -4149,15 +4052,15 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modEventMuteReporter"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Mute incoming reports from an account")), + description: Some( + CowStr::new_static("Mute incoming reports from an account"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("durationInHours"), @@ -4173,18 +4076,18 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modEventPriorityScore"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Set priority score of the subject. Higher score means higher priority.", - )), + description: Some( + CowStr::new_static( + "Set priority score of the subject. Higher score means higher priority.", + ), + ), required: Some(vec![SmolStr::new_static("score")]), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("score"), @@ -4209,9 +4112,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("isReporterMuted"), @@ -4222,7 +4123,9 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reportType"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.moderation.defs#reasonType"), + r#ref: CowStr::new_static( + "com.atproto.moderation.defs#reasonType", + ), ..Default::default() }), ); @@ -4241,7 +4144,9 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("comment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("Describe resolution.")), + description: Some( + CowStr::new_static("Describe resolution."), + ), ..Default::default() }), ); @@ -4469,9 +4374,11 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("comment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Describe reasoning behind the reversal.", - )), + description: Some( + CowStr::new_static( + "Describe reasoning behind the reversal.", + ), + ), ..Default::default() }), ); @@ -4483,18 +4390,20 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modEventUnmuteReporter"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Unmute incoming reports from an account", - )), + description: Some( + CowStr::new_static("Unmute incoming reports from an account"), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Describe reasoning behind the reversal.", - )), + description: Some( + CowStr::new_static( + "Describe reasoning behind the reversal.", + ), + ), ..Default::default() }), ); @@ -4506,14 +4415,15 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modEventView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("event"), - SmolStr::new_static("subject"), - SmolStr::new_static("subjectBlobCids"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("event"), + SmolStr::new_static("subject"), + SmolStr::new_static("subjectBlobCids"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4533,9 +4443,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("creatorHandle"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("event"), @@ -4565,7 +4473,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { CowStr::new_static("#ageAssurancePurgeEvent"), CowStr::new_static("#revokeAccountCredentialsEvent"), CowStr::new_static("#scheduleTakedownEvent"), - CowStr::new_static("#cancelScheduledTakedownEvent"), + CowStr::new_static("#cancelScheduledTakedownEvent") ], ..Default::default() }), @@ -4590,7 +4498,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { CowStr::new_static("com.atproto.admin.defs#repoRef"), CowStr::new_static("com.atproto.repo.strongRef"), CowStr::new_static("chat.bsky.convo.defs#messageRef"), - CowStr::new_static("chat.bsky.convo.defs#convoRef"), + CowStr::new_static("chat.bsky.convo.defs#convoRef") ], ..Default::default() }), @@ -4606,9 +4514,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("subjectHandle"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -4618,14 +4524,15 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("modEventViewDetail"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("event"), - SmolStr::new_static("subject"), - SmolStr::new_static("subjectBlobs"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("event"), + SmolStr::new_static("subject"), + SmolStr::new_static("subjectBlobs"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4671,7 +4578,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { CowStr::new_static("#ageAssurancePurgeEvent"), CowStr::new_static("#revokeAccountCredentialsEvent"), CowStr::new_static("#scheduleTakedownEvent"), - CowStr::new_static("#cancelScheduledTakedownEvent"), + CowStr::new_static("#cancelScheduledTakedownEvent") ], ..Default::default() }), @@ -4697,7 +4604,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { CowStr::new_static("#repoViewNotFound"), CowStr::new_static("#recordView"), CowStr::new_static("#recordViewNotFound"), - CowStr::new_static("#convoView"), + CowStr::new_static("#convoView") ], ..Default::default() }), @@ -4851,9 +4758,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("status"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), @@ -4870,15 +4775,16 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("recordView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("value"), - SmolStr::new_static("blobCids"), - SmolStr::new_static("indexedAt"), - SmolStr::new_static("moderation"), - SmolStr::new_static("repo"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("value"), + SmolStr::new_static("blobCids"), + SmolStr::new_static("indexedAt"), + SmolStr::new_static("moderation"), + SmolStr::new_static("repo") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -4941,15 +4847,15 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("recordViewDetail"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("value"), - SmolStr::new_static("blobs"), - SmolStr::new_static("indexedAt"), - SmolStr::new_static("moderation"), - SmolStr::new_static("repo"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("value"), SmolStr::new_static("blobs"), + SmolStr::new_static("indexedAt"), + SmolStr::new_static("moderation"), + SmolStr::new_static("repo") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5041,9 +4947,11 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("recordsStats"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Statistics about a set of record subject items", - )), + description: Some( + CowStr::new_static( + "Statistics about a set of record subject items", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5103,13 +5011,14 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("repoView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - SmolStr::new_static("relatedRecords"), - SmolStr::new_static("indexedAt"), - SmolStr::new_static("moderation"), - ]), + required: Some( + vec![ + SmolStr::new_static("did"), SmolStr::new_static("handle"), + SmolStr::new_static("relatedRecords"), + SmolStr::new_static("indexedAt"), + SmolStr::new_static("moderation") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5129,9 +5038,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("email"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("handle"), @@ -5149,14 +5056,14 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("inviteNote"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("invitedBy"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.server.defs#inviteCode"), + r#ref: CowStr::new_static( + "com.atproto.server.defs#inviteCode", + ), ..Default::default() }), ); @@ -5202,13 +5109,14 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("repoViewDetail"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("handle"), - SmolStr::new_static("relatedRecords"), - SmolStr::new_static("indexedAt"), - SmolStr::new_static("moderation"), - ]), + required: Some( + vec![ + SmolStr::new_static("did"), SmolStr::new_static("handle"), + SmolStr::new_static("relatedRecords"), + SmolStr::new_static("indexedAt"), + SmolStr::new_static("moderation") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5228,9 +5136,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("email"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("emailConfirmedAt"), @@ -5255,14 +5161,14 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("inviteNote"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("invitedBy"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.server.defs#inviteCode"), + r#ref: CowStr::new_static( + "com.atproto.server.defs#inviteCode", + ), ..Default::default() }), ); @@ -5270,7 +5176,9 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { SmolStr::new_static("invites"), LexObjectProperty::Array(LexArray { items: LexArrayItem::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.server.defs#inviteCode"), + r#ref: CowStr::new_static( + "com.atproto.server.defs#inviteCode", + ), ..Default::default() }), ..Default::default() @@ -5347,17 +5255,19 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reporterStats"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("accountReportCount"), - SmolStr::new_static("recordReportCount"), - SmolStr::new_static("reportedAccountCount"), - SmolStr::new_static("reportedRecordCount"), - SmolStr::new_static("takendownAccountCount"), - SmolStr::new_static("takendownRecordCount"), - SmolStr::new_static("labeledAccountCount"), - SmolStr::new_static("labeledRecordCount"), - ]), + required: Some( + vec![ + SmolStr::new_static("did"), + SmolStr::new_static("accountReportCount"), + SmolStr::new_static("recordReportCount"), + SmolStr::new_static("reportedAccountCount"), + SmolStr::new_static("reportedRecordCount"), + SmolStr::new_static("takendownAccountCount"), + SmolStr::new_static("takendownRecordCount"), + SmolStr::new_static("labeledAccountCount"), + SmolStr::new_static("labeledRecordCount") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -5423,34 +5333,28 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("reviewClosed"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reviewEscalated"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reviewNone"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reviewOpen"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("revokeAccountCredentialsEvent"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Account credentials revocation by moderators. Only works on DID subjects.", - )), + description: Some( + CowStr::new_static( + "Account credentials revocation by moderators. Only works on DID subjects.", + ), + ), required: Some(vec![SmolStr::new_static("comment")]), properties: { #[allow(unused_mut)] @@ -5458,9 +5362,11 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("comment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Comment describing the reason for the revocation.", - )), + description: Some( + CowStr::new_static( + "Comment describing the reason for the revocation.", + ), + ), min_length: Some(1usize), ..Default::default() }), @@ -5473,17 +5379,17 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("scheduleTakedownEvent"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Logs a scheduled takedown action for an account.", - )), + description: Some( + CowStr::new_static( + "Logs a scheduled takedown action for an account.", + ), + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("comment"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("executeAfter"), @@ -5676,9 +5582,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("subjectReviewState"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("subjectStatusView"), @@ -5969,30 +5873,25 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("timelineEventPlcCreate"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("timelineEventPlcOperation"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("timelineEventPlcTombstone"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("videoDetails"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("width"), - SmolStr::new_static("height"), - SmolStr::new_static("length"), - ]), + required: Some( + vec![ + SmolStr::new_static("width"), SmolStr::new_static("height"), + SmolStr::new_static("length") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -6027,7 +5926,7 @@ fn lexicon_doc_tools_ozone_moderation_defs() -> LexiconDoc<'static> { pub mod age_assurance_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6084,7 +5983,10 @@ pub mod age_assurance_event_state { } /// Builder for constructing an instance of this type. -pub struct AgeAssuranceEventBuilder { +pub struct AgeAssuranceEventBuilder< + St: age_assurance_event_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -6103,7 +6005,10 @@ pub struct AgeAssuranceEventBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> AgeAssuranceEventBuilder { + pub fn new() -> AgeAssuranceEventBuilder< + age_assurance_event_state::Empty, + DefaultStr, + > { AgeAssuranceEventBuilder::new() } } @@ -6309,7 +6214,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AgeAssuranceEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AgeAssuranceEvent { AgeAssuranceEvent { access: self._fields.0, attempt_id: self._fields.1.unwrap(), @@ -6328,7 +6236,7 @@ where pub mod blob_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6522,7 +6430,10 @@ where impl BlobViewBuilder { /// Set the `moderation` field (optional) - pub fn moderation(mut self, value: impl Into>>) -> Self { + pub fn moderation( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } @@ -6588,7 +6499,7 @@ where pub mod convo_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6726,7 +6637,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ConvoView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ConvoView { ConvoView { convo_id: self._fields.0.unwrap(), did: self._fields.1.unwrap(), @@ -6737,7 +6651,7 @@ where pub mod identity_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -6768,7 +6682,10 @@ pub mod identity_event_state { } /// Builder for constructing an instance of this type. -pub struct IdentityEventBuilder { +pub struct IdentityEventBuilder< + St: identity_event_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -6904,7 +6821,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> IdentityEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> IdentityEvent { IdentityEvent { comment: self._fields.0, handle: self._fields.1, @@ -6918,7 +6838,7 @@ where pub mod image_details_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7056,7 +6976,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ImageDetails { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ImageDetails { ImageDetails { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -7067,7 +6990,7 @@ where pub mod mod_event_label_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7110,7 +7033,10 @@ pub mod mod_event_label_state { } /// Builder for constructing an instance of this type. -pub struct ModEventLabelBuilder { +pub struct ModEventLabelBuilder< + St: mod_event_label_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option, Option>), _type: PhantomData S>, @@ -7233,7 +7159,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ModEventLabel { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ModEventLabel { ModEventLabel { comment: self._fields.0, create_label_vals: self._fields.1.unwrap(), @@ -7246,7 +7175,7 @@ where pub mod mod_event_mute_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7365,7 +7294,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ModEventMute { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ModEventMute { ModEventMute { comment: self._fields.0, duration_in_hours: self._fields.1.unwrap(), @@ -7376,7 +7308,7 @@ where pub mod mod_event_priority_score_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7418,15 +7350,20 @@ pub struct ModEventPriorityScoreBuilder< impl ModEventPriorityScore { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ModEventPriorityScoreBuilder - { + pub fn new() -> ModEventPriorityScoreBuilder< + mod_event_priority_score_state::Empty, + DefaultStr, + > { ModEventPriorityScoreBuilder::new() } } impl ModEventPriorityScore { /// Create a new builder for this type - pub fn builder() -> ModEventPriorityScoreBuilder { + pub fn builder() -> ModEventPriorityScoreBuilder< + mod_event_priority_score_state::Empty, + S, + > { ModEventPriorityScoreBuilder::builder() } } @@ -7453,7 +7390,10 @@ impl ModEventPriorityScoreBuilder ModEventPriorityScoreBuilder { +impl< + St: mod_event_priority_score_state::State, + S: BosStr, +> ModEventPriorityScoreBuilder { /// Set the `comment` field (optional) pub fn comment(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -7513,7 +7453,7 @@ where pub mod mod_event_report_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7544,7 +7484,10 @@ pub mod mod_event_report_state { } /// Builder for constructing an instance of this type. -pub struct ModEventReportBuilder { +pub struct ModEventReportBuilder< + St: mod_event_report_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -7646,7 +7589,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ModEventReport { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ModEventReport { ModEventReport { comment: self._fields.0, is_reporter_muted: self._fields.1, @@ -7658,7 +7604,7 @@ where pub mod mod_event_tag_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -7824,7 +7770,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ModEventTag { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ModEventTag { ModEventTag { add: self._fields.0.unwrap(), comment: self._fields.1, @@ -7837,7 +7786,7 @@ where pub mod mod_event_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8179,7 +8128,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ModEventView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ModEventView { ModEventView { created_at: self._fields.0.unwrap(), created_by: self._fields.1.unwrap(), @@ -8197,7 +8149,7 @@ where pub mod mod_event_view_detail_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8308,8 +8260,10 @@ pub mod mod_event_view_detail_state { } /// Builder for constructing an instance of this type. -pub struct ModEventViewDetailBuilder -{ +pub struct ModEventViewDetailBuilder< + St: mod_event_view_detail_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -8325,14 +8279,20 @@ pub struct ModEventViewDetailBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ModEventViewDetailBuilder { + pub fn new() -> ModEventViewDetailBuilder< + mod_event_view_detail_state::Empty, + DefaultStr, + > { ModEventViewDetailBuilder::new() } } impl ModEventViewDetail { /// Create a new builder for this type - pub fn builder() -> ModEventViewDetailBuilder { + pub fn builder() -> ModEventViewDetailBuilder< + mod_event_view_detail_state::Empty, + S, + > { ModEventViewDetailBuilder::builder() } } @@ -8435,7 +8395,10 @@ where } } -impl ModEventViewDetailBuilder { +impl< + St: mod_event_view_detail_state::State, + S: BosStr, +> ModEventViewDetailBuilder { /// Set the `modTool` field (optional) pub fn mod_tool(mut self, value: impl Into>>) -> Self { self._fields.4 = value.into(); @@ -8510,7 +8473,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ModEventViewDetail { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ModEventViewDetail { ModEventViewDetail { created_at: self._fields.0.unwrap(), created_by: self._fields.1.unwrap(), @@ -8526,7 +8492,7 @@ where pub mod record_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -8571,12 +8537,7 @@ pub mod record_event_state { /// Builder for constructing an instance of this type. pub struct RecordEventBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option>, - Option, - ), + _fields: (Option>, Option, Option>, Option), _type: PhantomData S>, } @@ -8697,7 +8658,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecordEvent { RecordEvent { cid: self._fields.0, comment: self._fields.1, @@ -8710,7 +8674,7 @@ where pub mod record_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9051,7 +9015,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecordView { RecordView { blob_cids: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -9067,7 +9034,7 @@ where pub mod record_view_detail_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9200,7 +9167,10 @@ pub mod record_view_detail_state { } /// Builder for constructing an instance of this type. -pub struct RecordViewDetailBuilder { +pub struct RecordViewDetailBuilder< + St: record_view_detail_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>>, @@ -9217,7 +9187,10 @@ pub struct RecordViewDetailBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RecordViewDetailBuilder { + pub fn new() -> RecordViewDetailBuilder< + record_view_detail_state::Empty, + DefaultStr, + > { RecordViewDetailBuilder::new() } } @@ -9423,7 +9396,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordViewDetail { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecordViewDetail { RecordViewDetail { blobs: self._fields.0.unwrap(), cid: self._fields.1.unwrap(), @@ -9440,7 +9416,7 @@ where pub mod record_view_not_found_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9471,8 +9447,10 @@ pub mod record_view_not_found_state { } /// Builder for constructing an instance of this type. -pub struct RecordViewNotFoundBuilder -{ +pub struct RecordViewNotFoundBuilder< + St: record_view_not_found_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -9480,14 +9458,20 @@ pub struct RecordViewNotFoundBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RecordViewNotFoundBuilder { + pub fn new() -> RecordViewNotFoundBuilder< + record_view_not_found_state::Empty, + DefaultStr, + > { RecordViewNotFoundBuilder::new() } } impl RecordViewNotFound { /// Create a new builder for this type - pub fn builder() -> RecordViewNotFoundBuilder { + pub fn builder() -> RecordViewNotFoundBuilder< + record_view_not_found_state::Empty, + S, + > { RecordViewNotFoundBuilder::builder() } } @@ -9546,7 +9530,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordViewNotFound { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecordViewNotFound { RecordViewNotFound { uri: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -9556,7 +9543,7 @@ where pub mod repo_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -9684,9 +9671,7 @@ impl RepoViewBuilder { pub fn new() -> Self { RepoViewBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -9697,9 +9682,7 @@ impl RepoViewBuilder { pub fn builder() -> Self { RepoViewBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -9867,12 +9850,18 @@ where impl RepoViewBuilder { /// Set the `threatSignatures` field (optional) - pub fn threat_signatures(mut self, value: impl Into>>>) -> Self { + pub fn threat_signatures( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.10 = value.into(); self } /// Set the `threatSignatures` field to an Option value (optional) - pub fn maybe_threat_signatures(mut self, value: Option>>) -> Self { + pub fn maybe_threat_signatures( + mut self, + value: Option>>, + ) -> Self { self._fields.10 = value; self } @@ -9925,7 +9914,7 @@ where pub mod repo_view_detail_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10016,7 +10005,10 @@ pub mod repo_view_detail_state { } /// Builder for constructing an instance of this type. -pub struct RepoViewDetailBuilder { +pub struct RepoViewDetailBuilder< + St: repo_view_detail_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -10057,7 +10049,20 @@ impl RepoViewDetailBuilder { RepoViewDetailBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -10070,7 +10075,20 @@ impl RepoViewDetailBuilder { RepoViewDetailBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -10278,12 +10296,18 @@ where impl RepoViewDetailBuilder { /// Set the `threatSignatures` field (optional) - pub fn threat_signatures(mut self, value: impl Into>>>) -> Self { + pub fn threat_signatures( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.13 = value.into(); self } /// Set the `threatSignatures` field to an Option value (optional) - pub fn maybe_threat_signatures(mut self, value: Option>>) -> Self { + pub fn maybe_threat_signatures( + mut self, + value: Option>>, + ) -> Self { self._fields.13 = value; self } @@ -10319,7 +10343,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RepoViewDetail { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RepoViewDetail { RepoViewDetail { deactivated_at: self._fields.0, did: self._fields.1.unwrap(), @@ -10342,7 +10369,7 @@ where pub mod repo_view_not_found_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10373,7 +10400,10 @@ pub mod repo_view_not_found_state { } /// Builder for constructing an instance of this type. -pub struct RepoViewNotFoundBuilder { +pub struct RepoViewNotFoundBuilder< + St: repo_view_not_found_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -10381,7 +10411,10 @@ pub struct RepoViewNotFoundBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RepoViewNotFoundBuilder { + pub fn new() -> RepoViewNotFoundBuilder< + repo_view_not_found_state::Empty, + DefaultStr, + > { RepoViewNotFoundBuilder::new() } } @@ -10447,7 +10480,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RepoViewNotFound { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RepoViewNotFound { RepoViewNotFound { did: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -10457,7 +10493,7 @@ where pub mod reporter_stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -10640,7 +10676,10 @@ pub mod reporter_stats_state { } /// Builder for constructing an instance of this type. -pub struct ReporterStatsBuilder { +pub struct ReporterStatsBuilder< + St: reporter_stats_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -10892,7 +10931,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReporterStats { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReporterStats { ReporterStats { account_report_count: self._fields.0.unwrap(), did: self._fields.1.unwrap(), @@ -10910,7 +10952,7 @@ where pub mod scheduled_action_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11048,14 +11090,20 @@ pub struct ScheduledActionViewBuilder< impl ScheduledActionView { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ScheduledActionViewBuilder { + pub fn new() -> ScheduledActionViewBuilder< + scheduled_action_view_state::Empty, + DefaultStr, + > { ScheduledActionViewBuilder::new() } } impl ScheduledActionView { /// Create a new builder for this type - pub fn builder() -> ScheduledActionViewBuilder { + pub fn builder() -> ScheduledActionViewBuilder< + scheduled_action_view_state::Empty, + S, + > { ScheduledActionViewBuilder::builder() } } @@ -11066,7 +11114,20 @@ impl ScheduledActionViewBuilder ScheduledActionViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -11080,7 +11141,20 @@ impl ScheduledActionViewBuilder ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `eventData` field (optional) pub fn event_data(mut self, value: impl Into>>) -> Self { self._fields.4 = value.into(); @@ -11177,7 +11254,10 @@ impl ScheduledActionViewBuild } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `executeAfter` field (optional) pub fn execute_after(mut self, value: impl Into>) -> Self { self._fields.5 = value.into(); @@ -11190,7 +11270,10 @@ impl ScheduledActionViewBuild } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `executeAt` field (optional) pub fn execute_at(mut self, value: impl Into>) -> Self { self._fields.6 = value.into(); @@ -11203,7 +11286,10 @@ impl ScheduledActionViewBuild } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `executeUntil` field (optional) pub fn execute_until(mut self, value: impl Into>) -> Self { self._fields.7 = value.into(); @@ -11216,7 +11302,10 @@ impl ScheduledActionViewBuild } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `executionEventId` field (optional) pub fn execution_event_id(mut self, value: impl Into>) -> Self { self._fields.8 = value.into(); @@ -11248,7 +11337,10 @@ where } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `lastExecutedAt` field (optional) pub fn last_executed_at(mut self, value: impl Into>) -> Self { self._fields.10 = value.into(); @@ -11261,7 +11353,10 @@ impl ScheduledActionViewBuild } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `lastFailureReason` field (optional) pub fn last_failure_reason(mut self, value: impl Into>) -> Self { self._fields.11 = value.into(); @@ -11274,7 +11369,10 @@ impl ScheduledActionViewBuild } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `randomizeExecution` field (optional) pub fn randomize_execution(mut self, value: impl Into>) -> Self { self._fields.12 = value.into(); @@ -11306,7 +11404,10 @@ where } } -impl ScheduledActionViewBuilder { +impl< + St: scheduled_action_view_state::State, + S: BosStr, +> ScheduledActionViewBuilder { /// Set the `updatedAt` field (optional) pub fn updated_at(mut self, value: impl Into>) -> Self { self._fields.14 = value.into(); @@ -11351,7 +11452,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ScheduledActionView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ScheduledActionView { ScheduledActionView { action: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -11375,7 +11479,7 @@ where pub mod subject_status_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -11466,7 +11570,10 @@ pub mod subject_status_view_state { } /// Builder for constructing an instance of this type. -pub struct SubjectStatusViewBuilder { +pub struct SubjectStatusViewBuilder< + St: subject_status_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -11500,7 +11607,10 @@ pub struct SubjectStatusViewBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> SubjectStatusViewBuilder { + pub fn new() -> SubjectStatusViewBuilder< + subject_status_view_state::Empty, + DefaultStr, + > { SubjectStatusViewBuilder::new() } } @@ -11518,8 +11628,31 @@ impl SubjectStatusViewBuilder { SubjectStatusViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -11532,8 +11665,31 @@ impl SubjectStatusViewBuilder { SubjectStatusViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -11542,12 +11698,18 @@ impl SubjectStatusViewBuilder { impl SubjectStatusViewBuilder { /// Set the `accountStats` field (optional) - pub fn account_stats(mut self, value: impl Into>>) -> Self { + pub fn account_stats( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `accountStats` field to an Option value (optional) - pub fn maybe_account_stats(mut self, value: Option>) -> Self { + pub fn maybe_account_stats( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -11563,7 +11725,10 @@ impl SubjectStatusViewBuilder>) -> Self { + pub fn maybe_account_strike( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -11654,7 +11819,10 @@ where impl SubjectStatusViewBuilder { /// Set the `hosting` field (optional) - pub fn hosting(mut self, value: impl Into>>) -> Self { + pub fn hosting( + mut self, + value: impl Into>>, + ) -> Self { self._fields.7 = value.into(); self } @@ -11777,12 +11945,18 @@ impl SubjectStatusViewBuilder SubjectStatusViewBuilder { /// Set the `recordsStats` field (optional) - pub fn records_stats(mut self, value: impl Into>>) -> Self { + pub fn records_stats( + mut self, + value: impl Into>>, + ) -> Self { self._fields.16 = value.into(); self } /// Set the `recordsStats` field to an Option value (optional) - pub fn maybe_records_stats(mut self, value: Option>) -> Self { + pub fn maybe_records_stats( + mut self, + value: Option>, + ) -> Self { self._fields.16 = value; self } @@ -11951,7 +12125,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SubjectStatusView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SubjectStatusView { SubjectStatusView { account_stats: self._fields.0, account_strike: self._fields.1, @@ -11985,7 +12162,7 @@ where pub mod subject_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -12092,12 +12269,18 @@ impl SubjectViewBuilder { impl SubjectViewBuilder { /// Set the `record` field (optional) - pub fn record(mut self, value: impl Into>>) -> Self { + pub fn record( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `record` field to an Option value (optional) - pub fn maybe_record(mut self, value: Option>) -> Self { + pub fn maybe_record( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -12105,7 +12288,10 @@ impl SubjectViewBuilder { impl SubjectViewBuilder { /// Set the `repo` field (optional) - pub fn repo(mut self, value: impl Into>>) -> Self { + pub fn repo( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -12118,12 +12304,18 @@ impl SubjectViewBuilder { impl SubjectViewBuilder { /// Set the `status` field (optional) - pub fn status(mut self, value: impl Into>>) -> Self { + pub fn status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `status` field to an Option value (optional) - pub fn maybe_status(mut self, value: Option>) -> Self { + pub fn maybe_status( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -12186,7 +12378,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SubjectView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SubjectView { SubjectView { profile: self._fields.0, record: self._fields.1, @@ -12201,7 +12396,7 @@ where pub mod video_details_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -12374,7 +12569,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> VideoDetails { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> VideoDetails { VideoDetails { height: self._fields.0.unwrap(), length: self._fields.1.unwrap(), @@ -12382,4 +12580,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/cancel_scheduled_actions.rs b/crates/jacquard-api/src/tools_ozone/moderation/cancel_scheduled_actions.rs index 1dcbb8369..25391bdb9 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/cancel_scheduled_actions.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/cancel_scheduled_actions.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::moderation::cancel_scheduled_actions; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::cancel_scheduled_actions; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CancellationResults { ///DIDs for which cancellation failed with error details pub failed: Vec>, @@ -40,11 +37,9 @@ pub struct CancellationResults { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FailedCancellation { pub did: Did, pub error: S, @@ -54,11 +49,9 @@ pub struct FailedCancellation { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CancelScheduledActions { ///Optional comment describing the reason for cancellation #[serde(skip_serializing_if = "Option::is_none")] @@ -69,11 +62,9 @@ pub struct CancelScheduledActions { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CancelScheduledActionsOutput { #[serde(flatten)] pub value: Data, @@ -124,8 +115,9 @@ impl jacquard_common::xrpc::XrpcResp for CancelScheduledActionsResponse { impl jacquard_common::xrpc::XrpcRequest for CancelScheduledActions { const NSID: &'static str = "tools.ozone.moderation.cancelScheduledActions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CancelScheduledActionsResponse; } @@ -135,15 +127,16 @@ Path: `/xrpc/tools.ozone.moderation.cancelScheduledActions`. The request payload pub struct CancelScheduledActionsRequest; impl jacquard_common::xrpc::XrpcEndpoint for CancelScheduledActionsRequest { const PATH: &'static str = "/xrpc/tools.ozone.moderation.cancelScheduledActions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CancelScheduledActions; type Response = CancelScheduledActionsResponse; } pub mod cancellation_results_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -186,8 +179,10 @@ pub mod cancellation_results_state { } /// Builder for constructing an instance of this type. -pub struct CancellationResultsBuilder -{ +pub struct CancellationResultsBuilder< + St: cancellation_results_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>>, @@ -198,14 +193,20 @@ pub struct CancellationResultsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> CancellationResultsBuilder { + pub fn new() -> CancellationResultsBuilder< + cancellation_results_state::Empty, + DefaultStr, + > { CancellationResultsBuilder::new() } } impl CancellationResults { /// Create a new builder for this type - pub fn builder() -> CancellationResultsBuilder { + pub fn builder() -> CancellationResultsBuilder< + cancellation_results_state::Empty, + S, + > { CancellationResultsBuilder::builder() } } @@ -285,7 +286,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CancellationResults { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CancellationResults { CancellationResults { failed: self._fields.0.unwrap(), succeeded: self._fields.1.unwrap(), @@ -295,10 +299,10 @@ where } fn lexicon_doc_tools_ozone_moderation_cancelScheduledActions() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.moderation.cancelScheduledActions"), @@ -354,10 +358,9 @@ fn lexicon_doc_tools_ozone_moderation_cancelScheduledActions() -> LexiconDoc<'st map.insert( SmolStr::new_static("failedCancellation"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("error"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("error")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -370,15 +373,11 @@ fn lexicon_doc_tools_ozone_moderation_cancelScheduledActions() -> LexiconDoc<'st ); map.insert( SmolStr::new_static("error"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("errorCode"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -441,7 +440,7 @@ fn lexicon_doc_tools_ozone_moderation_cancelScheduledActions() -> LexiconDoc<'st pub mod failed_cancellation_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -484,7 +483,10 @@ pub mod failed_cancellation_state { } /// Builder for constructing an instance of this type. -pub struct FailedCancellationBuilder { +pub struct FailedCancellationBuilder< + St: failed_cancellation_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option), _type: PhantomData S>, @@ -492,7 +494,10 @@ pub struct FailedCancellationBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> FailedCancellationBuilder { + pub fn new() -> FailedCancellationBuilder< + failed_cancellation_state::Empty, + DefaultStr, + > { FailedCancellationBuilder::new() } } @@ -593,7 +598,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> FailedCancellation { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> FailedCancellation { FailedCancellation { did: self._fields.0.unwrap(), error: self._fields.1.unwrap(), @@ -605,7 +613,7 @@ where pub mod cancel_scheduled_actions_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -647,15 +655,20 @@ pub struct CancelScheduledActionsBuilder< impl CancelScheduledActions { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> CancelScheduledActionsBuilder - { + pub fn new() -> CancelScheduledActionsBuilder< + cancel_scheduled_actions_state::Empty, + DefaultStr, + > { CancelScheduledActionsBuilder::new() } } impl CancelScheduledActions { /// Create a new builder for this type - pub fn builder() -> CancelScheduledActionsBuilder { + pub fn builder() -> CancelScheduledActionsBuilder< + cancel_scheduled_actions_state::Empty, + S, + > { CancelScheduledActionsBuilder::builder() } } @@ -682,7 +695,10 @@ impl CancelScheduledActionsBuilder CancelScheduledActionsBuilder { +impl< + St: cancel_scheduled_actions_state::State, + S: BosStr, +> CancelScheduledActionsBuilder { /// Set the `comment` field (optional) pub fn comment(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -704,7 +720,10 @@ where pub fn subjects( mut self, value: impl Into>>, - ) -> CancelScheduledActionsBuilder, S> { + ) -> CancelScheduledActionsBuilder< + cancel_scheduled_actions_state::SetSubjects, + S, + > { self._fields.1 = Option::Some(value.into()); CancelScheduledActionsBuilder { _state: PhantomData, @@ -738,4 +757,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/emit_event.rs b/crates/jacquard-api/src/tools_ozone/moderation/emit_event.rs index a93adca53..966859451 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/emit_event.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/emit_event.rs @@ -10,17 +10,20 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did}; +use jacquard_common::types::string::{Did, Cid}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::admin::RepoRef; use crate::com_atproto::repo::strong_ref::StrongRef; use crate::tools_ozone::moderation::AccountEvent; @@ -51,15 +54,9 @@ use crate::tools_ozone::moderation::RecordEvent; use crate::tools_ozone::moderation::RevokeAccountCredentialsEvent; use crate::tools_ozone::moderation::ScheduleTakedownEvent; use crate::tools_ozone::moderation::emit_event; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EmitEvent { pub created_by: Did, pub event: EmitEventEvent, @@ -78,6 +75,7 @@ pub struct EmitEvent { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -134,6 +132,7 @@ pub enum EmitEventEvent { CancelScheduledTakedownEvent(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -144,11 +143,9 @@ pub enum EmitEventSubject { StrongRef(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EmitEventOutput { #[serde(flatten)] pub value: ModEventView, @@ -156,9 +153,18 @@ pub struct EmitEventOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum EmitEventError { #[serde(rename = "SubjectHasAction")] @@ -168,10 +174,7 @@ pub enum EmitEventError { DuplicateExternalId(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for EmitEventError { @@ -205,10 +208,7 @@ impl core::fmt::Display for EmitEventError { /// Target specific reports when emitting a moderation event #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReportAction { ///Target ALL reports on the subject #[serde(skip_serializing_if = "Option::is_none")] @@ -239,8 +239,9 @@ impl jacquard_common::xrpc::XrpcResp for EmitEventResponse { impl jacquard_common::xrpc::XrpcRequest for EmitEvent { const NSID: &'static str = "tools.ozone.moderation.emitEvent"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = EmitEventResponse; } @@ -250,8 +251,9 @@ Path: `/xrpc/tools.ozone.moderation.emitEvent`. The request payload type is `Emi pub struct EmitEventRequest; impl jacquard_common::xrpc::XrpcEndpoint for EmitEventRequest { const PATH: &'static str = "/xrpc/tools.ozone.moderation.emitEvent"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = EmitEvent; type Response = EmitEventResponse; } @@ -273,7 +275,7 @@ impl LexiconSchema for ReportAction { pub mod emit_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -446,12 +448,18 @@ impl EmitEventBuilder { impl EmitEventBuilder { /// Set the `reportAction` field (optional) - pub fn report_action(mut self, value: impl Into>>) -> Self { + pub fn report_action( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } /// Set the `reportAction` field to an Option value (optional) - pub fn maybe_report_action(mut self, value: Option>) -> Self { + pub fn maybe_report_action( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -510,7 +518,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> EmitEvent { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> EmitEvent { EmitEvent { created_by: self._fields.0.unwrap(), event: self._fields.1.unwrap(), @@ -525,10 +536,10 @@ where } fn lexicon_doc_tools_ozone_moderation_emitEvent() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.moderation.emitEvent"), @@ -711,4 +722,4 @@ fn lexicon_doc_tools_ozone_moderation_emitEvent() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_account_timeline.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_account_timeline.rs index f173ddaa9..44e12be4f 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_account_timeline.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_account_timeline.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,44 +21,45 @@ use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::moderation::get_account_timeline; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::get_account_timeline; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountTimeline { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAccountTimelineOutput { pub timeline: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetAccountTimelineError { #[serde(rename = "RepoNotFound")] RepoNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetAccountTimelineError { @@ -82,11 +83,9 @@ impl core::fmt::Display for GetAccountTimelineError { } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TimelineItem { pub day: S, pub summary: Vec>, @@ -94,11 +93,9 @@ pub struct TimelineItem { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct TimelineItemSummary { pub count: i64, pub event_subject_type: TimelineItemSummaryEventSubjectType, @@ -107,6 +104,7 @@ pub struct TimelineItemSummary { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TimelineItemSummaryEventSubjectType { Account, @@ -157,8 +155,7 @@ impl Serialize for TimelineItemSummaryEventSubjectType { } impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> - for TimelineItemSummaryEventSubjectType -{ +for TimelineItemSummaryEventSubjectType { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -188,7 +185,9 @@ where TimelineItemSummaryEventSubjectType::Record => { TimelineItemSummaryEventSubjectType::Record } - TimelineItemSummaryEventSubjectType::Chat => TimelineItemSummaryEventSubjectType::Chat, + TimelineItemSummaryEventSubjectType::Chat => { + TimelineItemSummaryEventSubjectType::Chat + } TimelineItemSummaryEventSubjectType::Other(v) => { TimelineItemSummaryEventSubjectType::Other(v.into_static()) } @@ -196,6 +195,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TimelineItemSummaryEventType { ModEventTakedown, @@ -236,24 +236,36 @@ impl TimelineItemSummaryEventType { pub fn as_str(&self) -> &str { match self { Self::ModEventTakedown => "tools.ozone.moderation.defs#modEventTakedown", - Self::ModEventReverseTakedown => "tools.ozone.moderation.defs#modEventReverseTakedown", + Self::ModEventReverseTakedown => { + "tools.ozone.moderation.defs#modEventReverseTakedown" + } Self::ModEventComment => "tools.ozone.moderation.defs#modEventComment", Self::ModEventReport => "tools.ozone.moderation.defs#modEventReport", Self::ModEventLabel => "tools.ozone.moderation.defs#modEventLabel", - Self::ModEventAcknowledge => "tools.ozone.moderation.defs#modEventAcknowledge", + Self::ModEventAcknowledge => { + "tools.ozone.moderation.defs#modEventAcknowledge" + } Self::ModEventEscalate => "tools.ozone.moderation.defs#modEventEscalate", Self::ModEventMute => "tools.ozone.moderation.defs#modEventMute", Self::ModEventUnmute => "tools.ozone.moderation.defs#modEventUnmute", - Self::ModEventMuteReporter => "tools.ozone.moderation.defs#modEventMuteReporter", - Self::ModEventUnmuteReporter => "tools.ozone.moderation.defs#modEventUnmuteReporter", + Self::ModEventMuteReporter => { + "tools.ozone.moderation.defs#modEventMuteReporter" + } + Self::ModEventUnmuteReporter => { + "tools.ozone.moderation.defs#modEventUnmuteReporter" + } Self::ModEventEmail => "tools.ozone.moderation.defs#modEventEmail", - Self::ModEventResolveAppeal => "tools.ozone.moderation.defs#modEventResolveAppeal", + Self::ModEventResolveAppeal => { + "tools.ozone.moderation.defs#modEventResolveAppeal" + } Self::ModEventDivert => "tools.ozone.moderation.defs#modEventDivert", Self::ModEventTag => "tools.ozone.moderation.defs#modEventTag", Self::AccountEvent => "tools.ozone.moderation.defs#accountEvent", Self::IdentityEvent => "tools.ozone.moderation.defs#identityEvent", Self::RecordEvent => "tools.ozone.moderation.defs#recordEvent", - Self::ModEventPriorityScore => "tools.ozone.moderation.defs#modEventPriorityScore", + Self::ModEventPriorityScore => { + "tools.ozone.moderation.defs#modEventPriorityScore" + } Self::RevokeAccountCredentialsEvent => { "tools.ozone.moderation.defs#revokeAccountCredentialsEvent" } @@ -261,18 +273,28 @@ impl TimelineItemSummaryEventType { Self::AgeAssuranceOverrideEvent => { "tools.ozone.moderation.defs#ageAssuranceOverrideEvent" } - Self::TimelineEventPlcCreate => "tools.ozone.moderation.defs#timelineEventPlcCreate", + Self::TimelineEventPlcCreate => { + "tools.ozone.moderation.defs#timelineEventPlcCreate" + } Self::TimelineEventPlcOperation => { "tools.ozone.moderation.defs#timelineEventPlcOperation" } Self::TimelineEventPlcTombstone => { "tools.ozone.moderation.defs#timelineEventPlcTombstone" } - Self::AccountCreated => "tools.ozone.hosting.getAccountHistory#accountCreated", - Self::EmailConfirmed => "tools.ozone.hosting.getAccountHistory#emailConfirmed", - Self::PasswordUpdated => "tools.ozone.hosting.getAccountHistory#passwordUpdated", + Self::AccountCreated => { + "tools.ozone.hosting.getAccountHistory#accountCreated" + } + Self::EmailConfirmed => { + "tools.ozone.hosting.getAccountHistory#emailConfirmed" + } + Self::PasswordUpdated => { + "tools.ozone.hosting.getAccountHistory#passwordUpdated" + } Self::HandleUpdated => "tools.ozone.hosting.getAccountHistory#handleUpdated", - Self::ScheduleTakedownEvent => "tools.ozone.moderation.defs#scheduleTakedownEvent", + Self::ScheduleTakedownEvent => { + "tools.ozone.moderation.defs#scheduleTakedownEvent" + } Self::CancelScheduledTakedownEvent => { "tools.ozone.moderation.defs#cancelScheduledTakedownEvent" } @@ -283,24 +305,36 @@ impl TimelineItemSummaryEventType { pub fn from_value(s: S) -> Self { match s.as_ref() { "tools.ozone.moderation.defs#modEventTakedown" => Self::ModEventTakedown, - "tools.ozone.moderation.defs#modEventReverseTakedown" => Self::ModEventReverseTakedown, + "tools.ozone.moderation.defs#modEventReverseTakedown" => { + Self::ModEventReverseTakedown + } "tools.ozone.moderation.defs#modEventComment" => Self::ModEventComment, "tools.ozone.moderation.defs#modEventReport" => Self::ModEventReport, "tools.ozone.moderation.defs#modEventLabel" => Self::ModEventLabel, - "tools.ozone.moderation.defs#modEventAcknowledge" => Self::ModEventAcknowledge, + "tools.ozone.moderation.defs#modEventAcknowledge" => { + Self::ModEventAcknowledge + } "tools.ozone.moderation.defs#modEventEscalate" => Self::ModEventEscalate, "tools.ozone.moderation.defs#modEventMute" => Self::ModEventMute, "tools.ozone.moderation.defs#modEventUnmute" => Self::ModEventUnmute, - "tools.ozone.moderation.defs#modEventMuteReporter" => Self::ModEventMuteReporter, - "tools.ozone.moderation.defs#modEventUnmuteReporter" => Self::ModEventUnmuteReporter, + "tools.ozone.moderation.defs#modEventMuteReporter" => { + Self::ModEventMuteReporter + } + "tools.ozone.moderation.defs#modEventUnmuteReporter" => { + Self::ModEventUnmuteReporter + } "tools.ozone.moderation.defs#modEventEmail" => Self::ModEventEmail, - "tools.ozone.moderation.defs#modEventResolveAppeal" => Self::ModEventResolveAppeal, + "tools.ozone.moderation.defs#modEventResolveAppeal" => { + Self::ModEventResolveAppeal + } "tools.ozone.moderation.defs#modEventDivert" => Self::ModEventDivert, "tools.ozone.moderation.defs#modEventTag" => Self::ModEventTag, "tools.ozone.moderation.defs#accountEvent" => Self::AccountEvent, "tools.ozone.moderation.defs#identityEvent" => Self::IdentityEvent, "tools.ozone.moderation.defs#recordEvent" => Self::RecordEvent, - "tools.ozone.moderation.defs#modEventPriorityScore" => Self::ModEventPriorityScore, + "tools.ozone.moderation.defs#modEventPriorityScore" => { + Self::ModEventPriorityScore + } "tools.ozone.moderation.defs#revokeAccountCredentialsEvent" => { Self::RevokeAccountCredentialsEvent } @@ -308,18 +342,28 @@ impl TimelineItemSummaryEventType { "tools.ozone.moderation.defs#ageAssuranceOverrideEvent" => { Self::AgeAssuranceOverrideEvent } - "tools.ozone.moderation.defs#timelineEventPlcCreate" => Self::TimelineEventPlcCreate, + "tools.ozone.moderation.defs#timelineEventPlcCreate" => { + Self::TimelineEventPlcCreate + } "tools.ozone.moderation.defs#timelineEventPlcOperation" => { Self::TimelineEventPlcOperation } "tools.ozone.moderation.defs#timelineEventPlcTombstone" => { Self::TimelineEventPlcTombstone } - "tools.ozone.hosting.getAccountHistory#accountCreated" => Self::AccountCreated, - "tools.ozone.hosting.getAccountHistory#emailConfirmed" => Self::EmailConfirmed, - "tools.ozone.hosting.getAccountHistory#passwordUpdated" => Self::PasswordUpdated, + "tools.ozone.hosting.getAccountHistory#accountCreated" => { + Self::AccountCreated + } + "tools.ozone.hosting.getAccountHistory#emailConfirmed" => { + Self::EmailConfirmed + } + "tools.ozone.hosting.getAccountHistory#passwordUpdated" => { + Self::PasswordUpdated + } "tools.ozone.hosting.getAccountHistory#handleUpdated" => Self::HandleUpdated, - "tools.ozone.moderation.defs#scheduleTakedownEvent" => Self::ScheduleTakedownEvent, + "tools.ozone.moderation.defs#scheduleTakedownEvent" => { + Self::ScheduleTakedownEvent + } "tools.ozone.moderation.defs#cancelScheduledTakedownEvent" => { Self::CancelScheduledTakedownEvent } @@ -349,7 +393,8 @@ impl Serialize for TimelineItemSummaryEventType { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for TimelineItemSummaryEventType { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for TimelineItemSummaryEventType { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -415,14 +460,18 @@ where TimelineItemSummaryEventType::ModEventDivert => { TimelineItemSummaryEventType::ModEventDivert } - TimelineItemSummaryEventType::ModEventTag => TimelineItemSummaryEventType::ModEventTag, + TimelineItemSummaryEventType::ModEventTag => { + TimelineItemSummaryEventType::ModEventTag + } TimelineItemSummaryEventType::AccountEvent => { TimelineItemSummaryEventType::AccountEvent } TimelineItemSummaryEventType::IdentityEvent => { TimelineItemSummaryEventType::IdentityEvent } - TimelineItemSummaryEventType::RecordEvent => TimelineItemSummaryEventType::RecordEvent, + TimelineItemSummaryEventType::RecordEvent => { + TimelineItemSummaryEventType::RecordEvent + } TimelineItemSummaryEventType::ModEventPriorityScore => { TimelineItemSummaryEventType::ModEventPriorityScore } @@ -529,7 +578,7 @@ impl LexiconSchema for TimelineItemSummary { pub mod get_account_timeline_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -560,8 +609,10 @@ pub mod get_account_timeline_state { } /// Builder for constructing an instance of this type. -pub struct GetAccountTimelineBuilder -{ +pub struct GetAccountTimelineBuilder< + St: get_account_timeline_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -569,7 +620,10 @@ pub struct GetAccountTimelineBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetAccountTimelineBuilder { + pub fn new() -> GetAccountTimelineBuilder< + get_account_timeline_state::Empty, + DefaultStr, + > { GetAccountTimelineBuilder::new() } } @@ -637,7 +691,7 @@ where pub mod timeline_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -682,10 +736,7 @@ pub mod timeline_item_state { /// Builder for constructing an instance of this type. pub struct TimelineItemBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>>, - ), + _fields: (Option, Option>>), _type: PhantomData S>, } @@ -778,7 +829,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TimelineItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TimelineItem { TimelineItem { day: self._fields.0.unwrap(), summary: self._fields.1.unwrap(), @@ -788,10 +842,10 @@ where } fn lexicon_doc_tools_ozone_moderation_getAccountTimeline() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.moderation.getAccountTimeline"), @@ -800,40 +854,39 @@ fn lexicon_doc_tools_ozone_moderation_getAccountTimeline() -> LexiconDoc<'static map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("did")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("did"), - LexXrpcParametersProperty::String(LexString { - format: Some(LexStringFormat::Did), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("did")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("did"), + LexXrpcParametersProperty::String(LexString { + format: Some(LexStringFormat::Did), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("timelineItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("day"), - SmolStr::new_static("summary"), - ]), + required: Some( + vec![SmolStr::new_static("day"), SmolStr::new_static("summary")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("day"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("summary"), @@ -853,11 +906,13 @@ fn lexicon_doc_tools_ozone_moderation_getAccountTimeline() -> LexiconDoc<'static map.insert( SmolStr::new_static("timelineItemSummary"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("eventSubjectType"), - SmolStr::new_static("eventType"), - SmolStr::new_static("count"), - ]), + required: Some( + vec![ + SmolStr::new_static("eventSubjectType"), + SmolStr::new_static("eventType"), + SmolStr::new_static("count") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -869,15 +924,11 @@ fn lexicon_doc_tools_ozone_moderation_getAccountTimeline() -> LexiconDoc<'static ); map.insert( SmolStr::new_static("eventSubjectType"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("eventType"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -892,7 +943,7 @@ fn lexicon_doc_tools_ozone_moderation_getAccountTimeline() -> LexiconDoc<'static pub mod timeline_item_summary_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -964,14 +1015,20 @@ pub struct TimelineItemSummaryBuilder< impl TimelineItemSummary { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> TimelineItemSummaryBuilder { + pub fn new() -> TimelineItemSummaryBuilder< + timeline_item_summary_state::Empty, + DefaultStr, + > { TimelineItemSummaryBuilder::new() } } impl TimelineItemSummary { /// Create a new builder for this type - pub fn builder() -> TimelineItemSummaryBuilder { + pub fn builder() -> TimelineItemSummaryBuilder< + timeline_item_summary_state::Empty, + S, + > { TimelineItemSummaryBuilder::builder() } } @@ -1026,7 +1083,10 @@ where pub fn event_subject_type( mut self, value: impl Into>, - ) -> TimelineItemSummaryBuilder, S> { + ) -> TimelineItemSummaryBuilder< + timeline_item_summary_state::SetEventSubjectType, + S, + > { self._fields.1 = Option::Some(value.into()); TimelineItemSummaryBuilder { _state: PhantomData, @@ -1072,7 +1132,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> TimelineItemSummary { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> TimelineItemSummary { TimelineItemSummary { count: self._fields.0.unwrap(), event_subject_type: self._fields.1.unwrap(), @@ -1080,4 +1143,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_event.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_event.rs index 8159a706b..d159b7a69 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_event.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_event.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::ModEventViewDetail; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::ModEventViewDetail; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -23,11 +23,9 @@ pub struct GetEvent { pub id: i64, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetEventOutput { #[serde(flatten)] pub value: ModEventViewDetail, @@ -65,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetEventRequest { pub mod get_event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -134,7 +132,10 @@ where St::Id: get_event_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> GetEventBuilder> { + pub fn id( + mut self, + value: impl Into, + ) -> GetEventBuilder> { self._fields.0 = Option::Some(value.into()); GetEventBuilder { _state: PhantomData, @@ -154,4 +155,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_record.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_record.rs index ac0cf09ef..4c86aa92a 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_record.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_record.rs @@ -8,32 +8,27 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::RecordViewDetail; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::RecordViewDetail; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecord { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecordOutput { #[serde(flatten)] pub value: RecordViewDetail, @@ -41,19 +36,25 @@ pub struct GetRecordOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRecordError { #[serde(rename = "RecordNotFound")] RecordNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRecordError { @@ -107,7 +108,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecordRequest { pub mod get_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -224,4 +225,4 @@ where uri: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_records.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_records.rs index ed5f3e81d..b2ecb83a0 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_records.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_records.rs @@ -8,37 +8,33 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::RecordViewDetail; -use crate::tools_ozone::moderation::RecordViewNotFound; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::RecordViewDetail; +use crate::tools_ozone::moderation::RecordViewNotFound; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecords { pub uris: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRecordsOutput { pub records: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -79,7 +75,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRecordsRequest { pub mod get_records_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -182,4 +178,4 @@ where uris: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_repo.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_repo.rs index 610f74489..86e12bc36 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_repo.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_repo.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::RepoViewDetail; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::RepoViewDetail; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepo { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepoOutput { #[serde(flatten)] pub value: RepoViewDetail, @@ -39,19 +34,25 @@ pub struct GetRepoOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRepoError { #[serde(rename = "RepoNotFound")] RepoNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRepoError { @@ -105,7 +106,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRepoRequest { pub mod get_repo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -208,4 +209,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_reporter_stats.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_reporter_stats.rs index 9cf3eecfe..528a36df1 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_reporter_stats.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_reporter_stats.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::ReporterStats; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::ReporterStats; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetReporterStats { pub dids: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetReporterStatsOutput { pub stats: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetReporterStatsRequest { pub mod get_reporter_stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod get_reporter_stats_state { } /// Builder for constructing an instance of this type. -pub struct GetReporterStatsBuilder { +pub struct GetReporterStatsBuilder< + St: get_reporter_stats_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -107,7 +105,10 @@ pub struct GetReporterStatsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetReporterStatsBuilder { + pub fn new() -> GetReporterStatsBuilder< + get_reporter_stats_state::Empty, + DefaultStr, + > { GetReporterStatsBuilder::new() } } @@ -171,4 +172,4 @@ where dids: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_repos.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_repos.rs index 3d2ceb377..779918987 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_repos.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_repos.rs @@ -8,37 +8,33 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::RepoViewDetail; -use crate::tools_ozone::moderation::RepoViewNotFound; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::RepoViewDetail; +use crate::tools_ozone::moderation::RepoViewNotFound; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepos { pub dids: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetReposOutput { pub repos: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -79,7 +75,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetReposRequest { pub mod get_repos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -182,4 +178,4 @@ where dids: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/get_subjects.rs b/crates/jacquard-api/src/tools_ozone/moderation/get_subjects.rs index c2d358fce..cc21ad027 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/get_subjects.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/get_subjects.rs @@ -8,29 +8,24 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::SubjectView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::SubjectView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSubjects { pub subjects: Vec, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetSubjectsOutput { pub subjects: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -67,7 +62,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetSubjectsRequest { pub mod get_subjects_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -170,4 +165,4 @@ where subjects: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/list_scheduled_actions.rs b/crates/jacquard-api/src/tools_ozone/moderation/list_scheduled_actions.rs index 73b2f6f87..fe2c4a065 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/list_scheduled_actions.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/list_scheduled_actions.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::ScheduledActionView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::ScheduledActionView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListScheduledActions { ///Cursor for pagination #[serde(skip_serializing_if = "Option::is_none")] @@ -46,11 +43,9 @@ pub struct ListScheduledActions { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListScheduledActionsOutput { pub actions: Vec>, ///Cursor for next page of results @@ -73,8 +68,9 @@ impl jacquard_common::xrpc::XrpcResp for ListScheduledActionsResponse { impl jacquard_common::xrpc::XrpcRequest for ListScheduledActions { const NSID: &'static str = "tools.ozone.moderation.listScheduledActions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ListScheduledActionsResponse; } @@ -84,8 +80,9 @@ Path: `/xrpc/tools.ozone.moderation.listScheduledActions`. The request payload t pub struct ListScheduledActionsRequest; impl jacquard_common::xrpc::XrpcEndpoint for ListScheduledActionsRequest { const PATH: &'static str = "/xrpc/tools.ozone.moderation.listScheduledActions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ListScheduledActions; type Response = ListScheduledActionsResponse; } @@ -96,7 +93,7 @@ fn _default_list_scheduled_actions_limit() -> Option { pub mod list_scheduled_actions_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -145,14 +142,20 @@ pub struct ListScheduledActionsBuilder< impl ListScheduledActions { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListScheduledActionsBuilder { + pub fn new() -> ListScheduledActionsBuilder< + list_scheduled_actions_state::Empty, + DefaultStr, + > { ListScheduledActionsBuilder::new() } } impl ListScheduledActions { /// Create a new builder for this type - pub fn builder() -> ListScheduledActionsBuilder { + pub fn builder() -> ListScheduledActionsBuilder< + list_scheduled_actions_state::Empty, + S, + > { ListScheduledActionsBuilder::builder() } } @@ -179,7 +182,10 @@ impl ListScheduledActionsBuilder ListScheduledActionsBuilder { +impl< + St: list_scheduled_actions_state::State, + S: BosStr, +> ListScheduledActionsBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -192,7 +198,10 @@ impl ListScheduledActionsBui } } -impl ListScheduledActionsBuilder { +impl< + St: list_scheduled_actions_state::State, + S: BosStr, +> ListScheduledActionsBuilder { /// Set the `endsBefore` field (optional) pub fn ends_before(mut self, value: impl Into>) -> Self { self._fields.1 = value.into(); @@ -205,7 +214,10 @@ impl ListScheduledActionsBui } } -impl ListScheduledActionsBuilder { +impl< + St: list_scheduled_actions_state::State, + S: BosStr, +> ListScheduledActionsBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -218,7 +230,10 @@ impl ListScheduledActionsBui } } -impl ListScheduledActionsBuilder { +impl< + St: list_scheduled_actions_state::State, + S: BosStr, +> ListScheduledActionsBuilder { /// Set the `startsAfter` field (optional) pub fn starts_after(mut self, value: impl Into>) -> Self { self._fields.3 = value.into(); @@ -250,7 +265,10 @@ where } } -impl ListScheduledActionsBuilder { +impl< + St: list_scheduled_actions_state::State, + S: BosStr, +> ListScheduledActionsBuilder { /// Set the `subjects` field (optional) pub fn subjects(mut self, value: impl Into>>>) -> Self { self._fields.5 = value.into(); @@ -295,4 +313,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/query_events.rs b/crates/jacquard-api/src/tools_ozone/moderation/query_events.rs index a678328e7..e37a081b3 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/query_events.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/query_events.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::ModEventView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Nsid, UriValue}; +use jacquard_common::types::string::{Did, Nsid, Datetime, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::ModEventView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryEvents { #[serde(skip_serializing_if = "Option::is_none")] pub added_labels: Option>, @@ -78,11 +75,9 @@ pub struct QueryEvents { pub with_strike: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryEventsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -133,7 +128,7 @@ fn _default_sort_direction() -> Option { pub mod query_events_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -201,8 +196,29 @@ impl QueryEventsBuilder { QueryEventsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -215,8 +231,29 @@ impl QueryEventsBuilder { QueryEventsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -554,4 +591,4 @@ where with_strike: self._fields.22, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/query_statuses.rs b/crates/jacquard-api/src/tools_ozone/moderation/query_statuses.rs index cb55d984c..ac2805f0e 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/query_statuses.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/query_statuses.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::SubjectStatusView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Nsid, UriValue}; +use jacquard_common::types::string::{Did, Nsid, Datetime, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::SubjectStatusView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryStatuses { #[serde(skip_serializing_if = "Option::is_none")] pub age_assurance_state: Option, @@ -106,11 +103,9 @@ pub struct QueryStatuses { pub takendown: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryStatusesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -161,7 +156,7 @@ fn _default_sort_field() -> Option { pub mod query_statuses_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -179,7 +174,10 @@ pub mod query_statuses_state { } /// Builder for constructing an instance of this type. -pub struct QueryStatusesBuilder { +pub struct QueryStatusesBuilder< + St: query_statuses_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -242,9 +240,42 @@ impl QueryStatusesBuilder { QueryStatusesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -257,9 +288,42 @@ impl QueryStatusesBuilder { QueryStatusesBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -411,7 +475,10 @@ impl QueryStatusesBuilder { impl QueryStatusesBuilder { /// Set the `ignoreSubjects` field (optional) - pub fn ignore_subjects(mut self, value: impl Into>>>) -> Self { + pub fn ignore_subjects( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.11 = value.into(); self } @@ -779,4 +846,4 @@ where takendown: self._fields.35, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/schedule_action.rs b/crates/jacquard-api/src/tools_ozone/moderation/schedule_action.rs index 1d9c3824d..883e1a3c4 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/schedule_action.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/schedule_action.rs @@ -10,28 +10,25 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::moderation::ModTool; -use crate::tools_ozone::moderation::schedule_action; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::ModTool; +use crate::tools_ozone::moderation::schedule_action; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FailedScheduling { pub error: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -41,11 +38,9 @@ pub struct FailedScheduling { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScheduleAction { pub action: schedule_action::Takedown, pub created_by: Did, @@ -59,11 +54,9 @@ pub struct ScheduleAction { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScheduleActionOutput { #[serde(flatten)] pub value: Data, @@ -71,11 +64,9 @@ pub struct ScheduleActionOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ScheduledActionResults { pub failed: Vec>, pub succeeded: Vec>, @@ -86,10 +77,7 @@ pub struct ScheduledActionResults { /// Configuration for when the action should be executed #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SchedulingConfig { ///Earliest time to execute the action (for randomized scheduling) #[serde(skip_serializing_if = "Option::is_none")] @@ -107,10 +95,7 @@ pub struct SchedulingConfig { /// Schedule a takedown action #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Takedown { ///If true, all other reports on content authored by this account will be resolved (acknowledged). #[serde(skip_serializing_if = "Option::is_none")] @@ -170,8 +155,9 @@ impl jacquard_common::xrpc::XrpcResp for ScheduleActionResponse { impl jacquard_common::xrpc::XrpcRequest for ScheduleAction { const NSID: &'static str = "tools.ozone.moderation.scheduleAction"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ScheduleActionResponse; } @@ -181,8 +167,9 @@ Path: `/xrpc/tools.ozone.moderation.scheduleAction`. The request payload type is pub struct ScheduleActionRequest; impl jacquard_common::xrpc::XrpcEndpoint for ScheduleActionRequest { const PATH: &'static str = "/xrpc/tools.ozone.moderation.scheduleAction"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ScheduleAction; type Response = ScheduleActionResponse; } @@ -244,7 +231,7 @@ impl LexiconSchema for Takedown { pub mod failed_scheduling_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -287,7 +274,10 @@ pub mod failed_scheduling_state { } /// Builder for constructing an instance of this type. -pub struct FailedSchedulingBuilder { +pub struct FailedSchedulingBuilder< + St: failed_scheduling_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -396,7 +386,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> FailedScheduling { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> FailedScheduling { FailedScheduling { error: self._fields.0.unwrap(), error_code: self._fields.1, @@ -407,10 +400,10 @@ where } fn lexicon_doc_tools_ozone_moderation_scheduleAction() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.moderation.scheduleAction"), @@ -419,24 +412,21 @@ fn lexicon_doc_tools_ozone_moderation_scheduleAction() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("failedScheduling"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("subject"), - SmolStr::new_static("error"), - ]), + required: Some( + vec![ + SmolStr::new_static("subject"), SmolStr::new_static("error") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("error"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("errorCode"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("subject"), @@ -455,64 +445,70 @@ fn lexicon_doc_tools_ozone_moderation_scheduleAction() -> LexiconDoc<'static> { LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("action"), - SmolStr::new_static("subjects"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("scheduling"), - ]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("action"), - LexObjectProperty::Union(LexRefUnion { - refs: vec![CowStr::new_static("#takedown")], - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("createdBy"), - LexObjectProperty::String(LexString { - format: Some(LexStringFormat::Did), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("modTool"), - LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static( - "tools.ozone.moderation.defs#modTool", - ), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("scheduling"), - LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("#schedulingConfig"), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("subjects"), - LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of DID subjects to schedule the action for", - )), - items: LexArrayItem::String(LexString { + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some( + vec![ + SmolStr::new_static("action"), + SmolStr::new_static("subjects"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("scheduling") + ], + ), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("action"), + LexObjectProperty::Union(LexRefUnion { + refs: vec![CowStr::new_static("#takedown")], + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("createdBy"), + LexObjectProperty::String(LexString { format: Some(LexStringFormat::Did), ..Default::default() }), - max_length: Some(100usize), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + ); + map.insert( + SmolStr::new_static("modTool"), + LexObjectProperty::Ref(LexRef { + r#ref: CowStr::new_static( + "tools.ozone.moderation.defs#modTool", + ), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("scheduling"), + LexObjectProperty::Ref(LexRef { + r#ref: CowStr::new_static("#schedulingConfig"), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("subjects"), + LexObjectProperty::Array(LexArray { + description: Some( + CowStr::new_static( + "Array of DID subjects to schedule the action for", + ), + ), + items: LexArrayItem::String(LexString { + format: Some(LexStringFormat::Did), + ..Default::default() + }), + max_length: Some(100usize), + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -521,10 +517,12 @@ fn lexicon_doc_tools_ozone_moderation_scheduleAction() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("scheduledActionResults"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("succeeded"), - SmolStr::new_static("failed"), - ]), + required: Some( + vec![ + SmolStr::new_static("succeeded"), + SmolStr::new_static("failed") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -705,7 +703,7 @@ fn lexicon_doc_tools_ozone_moderation_scheduleAction() -> LexiconDoc<'static> { pub mod schedule_action_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -778,7 +776,10 @@ pub mod schedule_action_state { } /// Builder for constructing an instance of this type. -pub struct ScheduleActionBuilder { +pub struct ScheduleActionBuilder< + St: schedule_action_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -935,7 +936,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ScheduleAction { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ScheduleAction { ScheduleAction { action: self._fields.0.unwrap(), created_by: self._fields.1.unwrap(), @@ -949,7 +953,7 @@ where pub mod scheduled_action_results_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -997,24 +1001,26 @@ pub struct ScheduledActionResultsBuilder< S: BosStr = DefaultStr, > { _state: PhantomData St>, - _fields: ( - Option>>, - Option>>, - ), + _fields: (Option>>, Option>>), _type: PhantomData S>, } impl ScheduledActionResults { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ScheduledActionResultsBuilder - { + pub fn new() -> ScheduledActionResultsBuilder< + scheduled_action_results_state::Empty, + DefaultStr, + > { ScheduledActionResultsBuilder::new() } } impl ScheduledActionResults { /// Create a new builder for this type - pub fn builder() -> ScheduledActionResultsBuilder { + pub fn builder() -> ScheduledActionResultsBuilder< + scheduled_action_results_state::Empty, + S, + > { ScheduledActionResultsBuilder::builder() } } @@ -1050,7 +1056,10 @@ where pub fn failed( mut self, value: impl Into>>, - ) -> ScheduledActionResultsBuilder, S> { + ) -> ScheduledActionResultsBuilder< + scheduled_action_results_state::SetFailed, + S, + > { self._fields.0 = Option::Some(value.into()); ScheduledActionResultsBuilder { _state: PhantomData, @@ -1069,7 +1078,10 @@ where pub fn succeeded( mut self, value: impl Into>>, - ) -> ScheduledActionResultsBuilder, S> { + ) -> ScheduledActionResultsBuilder< + scheduled_action_results_state::SetSucceeded, + S, + > { self._fields.1 = Option::Some(value.into()); ScheduledActionResultsBuilder { _state: PhantomData, @@ -1104,4 +1116,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/moderation/search_repos.rs b/crates/jacquard-api/src/tools_ozone/moderation/search_repos.rs index c5e549106..65bd3802a 100644 --- a/crates/jacquard-api/src/tools_ozone/moderation/search_repos.rs +++ b/crates/jacquard-api/src/tools_ozone/moderation/search_repos.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::moderation::RepoView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::RepoView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchRepos { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -35,11 +32,9 @@ pub struct SearchRepos { pub term: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchReposOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -82,7 +77,7 @@ fn _default_limit() -> Option { pub mod search_repos_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -207,4 +202,4 @@ where term: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue.rs b/crates/jacquard-api/src/tools_ozone/queue.rs index f371b4613..e29946955 100644 --- a/crates/jacquard-api/src/tools_ozone/queue.rs +++ b/crates/jacquard-api/src/tools_ozone/queue.rs @@ -15,33 +15,31 @@ pub mod route_reports; pub mod unassign_moderator; pub mod update_queue; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Nsid}; +use jacquard_common::types::string::{Did, Nsid, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::queue; -use crate::tools_ozone::team::Member; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::team::Member; +use crate::tools_ozone::queue; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AssignmentView { pub did: Did, #[serde(skip_serializing_if = "Option::is_none")] @@ -56,11 +54,9 @@ pub struct AssignmentView { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueueStats { ///Percentage of reports actioned (actionedCount / inboundCount * 100), rounded to nearest integer. Absent when inboundCount is 0. #[serde(skip_serializing_if = "Option::is_none")] @@ -87,11 +83,9 @@ pub struct QueueStats { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueueView { ///Collection name for record subjects (e.g., 'app.bsky.feed.post') #[serde(skip_serializing_if = "Option::is_none")] @@ -191,7 +185,7 @@ impl LexiconSchema for QueueView { pub mod assignment_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -264,7 +258,10 @@ pub mod assignment_view_state { } /// Builder for constructing an instance of this type. -pub struct AssignmentViewBuilder { +pub struct AssignmentViewBuilder< + St: assignment_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -436,7 +433,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AssignmentView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AssignmentView { AssignmentView { did: self._fields.0.unwrap(), end_at: self._fields.1, @@ -450,10 +450,10 @@ where } fn lexicon_doc_tools_ozone_queue_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.queue.defs"), @@ -462,12 +462,12 @@ fn lexicon_doc_tools_ozone_queue_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("assignmentView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("did"), - SmolStr::new_static("queue"), - SmolStr::new_static("startAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("did"), + SmolStr::new_static("queue"), SmolStr::new_static("startAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -557,9 +557,11 @@ fn lexicon_doc_tools_ozone_queue_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("lastUpdated"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When these statistics were last computed", - )), + description: Some( + CowStr::new_static( + "When these statistics were last computed", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -720,7 +722,7 @@ fn lexicon_doc_tools_ozone_queue_defs() -> LexiconDoc<'static> { pub mod queue_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -942,7 +944,18 @@ impl QueueViewBuilder { QueueViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -955,7 +968,18 @@ impl QueueViewBuilder { QueueViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1064,7 +1088,10 @@ where St::Id: queue_view_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> QueueViewBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> QueueViewBuilder, S> { self._fields.6 = Option::Some(value.into()); QueueViewBuilder { _state: PhantomData, @@ -1201,7 +1228,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> QueueView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> QueueView { QueueView { collection: self._fields.0, created_at: self._fields.1.unwrap(), @@ -1218,4 +1248,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/assign_moderator.rs b/crates/jacquard-api/src/tools_ozone/queue/assign_moderator.rs index dcb4c1067..325929383 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/assign_moderator.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/assign_moderator.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::queue::AssignmentView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::queue::AssignmentView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AssignModerator { ///DID to be assigned. pub did: S, @@ -31,11 +28,9 @@ pub struct AssignModerator { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AssignModeratorOutput { #[serde(flatten)] pub value: AssignmentView, @@ -43,9 +38,18 @@ pub struct AssignModeratorOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum AssignModeratorError { /// The specified queue does not exist or is not enabled. @@ -53,10 +57,7 @@ pub enum AssignModeratorError { InvalidAssignment(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for AssignModeratorError { @@ -93,8 +94,9 @@ impl jacquard_common::xrpc::XrpcResp for AssignModeratorResponse { impl jacquard_common::xrpc::XrpcRequest for AssignModerator { const NSID: &'static str = "tools.ozone.queue.assignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AssignModeratorResponse; } @@ -104,15 +106,16 @@ Path: `/xrpc/tools.ozone.queue.assignModerator`. The request payload type is `As pub struct AssignModeratorRequest; impl jacquard_common::xrpc::XrpcEndpoint for AssignModeratorRequest { const PATH: &'static str = "/xrpc/tools.ozone.queue.assignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AssignModerator; type Response = AssignModeratorResponse; } pub mod assign_moderator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -155,7 +158,10 @@ pub mod assign_moderator_state { } /// Builder for constructing an instance of this type. -pub struct AssignModeratorBuilder { +pub struct AssignModeratorBuilder< + St: assign_moderator_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -250,11 +256,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AssignModerator { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AssignModerator { AssignModerator { did: self._fields.0.unwrap(), queue_id: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/create_queue.rs b/crates/jacquard-api/src/tools_ozone/queue/create_queue.rs index 27f840e84..c21a5d020 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/create_queue.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/create_queue.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::queue::QueueView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Nsid; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::queue::QueueView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateQueue { ///Collection name for record subjects. Required if subjectTypes includes 'record'. #[serde(skip_serializing_if = "Option::is_none")] @@ -40,20 +37,27 @@ pub struct CreateQueue { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateQueueOutput { pub queue: QueueView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateQueueError { /// The queue configuration conflicts with an existing queue @@ -61,10 +65,7 @@ pub enum CreateQueueError { ConflictingQueue(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateQueueError { @@ -101,8 +102,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateQueueResponse { impl jacquard_common::xrpc::XrpcRequest for CreateQueue { const NSID: &'static str = "tools.ozone.queue.createQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateQueueResponse; } @@ -112,15 +114,16 @@ Path: `/xrpc/tools.ozone.queue.createQueue`. The request payload type is `Create pub struct CreateQueueRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateQueueRequest { const PATH: &'static str = "/xrpc/tools.ozone.queue.createQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateQueue; type Response = CreateQueueResponse; } pub mod create_queue_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -179,13 +182,7 @@ pub mod create_queue_state { /// Builder for constructing an instance of this type. pub struct CreateQueueBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option, - Option>, - Option>, - ), + _fields: (Option>, Option, Option, Option>, Option>), _type: PhantomData S>, } @@ -327,7 +324,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateQueue { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateQueue { CreateQueue { collection: self._fields.0, description: self._fields.1, @@ -337,4 +337,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/delete_queue.rs b/crates/jacquard-api/src/tools_ozone/queue/delete_queue.rs index 9ea540e79..0d4457ef3 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/delete_queue.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/delete_queue.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteQueue { ///Optional: migrate all reports to this queue. If not specified, reports will be set to unassigned (-1). #[serde(skip_serializing_if = "Option::is_none")] @@ -31,11 +28,9 @@ pub struct DeleteQueue { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteQueueOutput { pub deleted: bool, ///Number of reports that were migrated (if migration occurred) @@ -58,8 +53,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteQueueResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteQueue { const NSID: &'static str = "tools.ozone.queue.deleteQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteQueueResponse; } @@ -69,15 +65,16 @@ Path: `/xrpc/tools.ozone.queue.deleteQueue`. The request payload type is `Delete pub struct DeleteQueueRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteQueueRequest { const PATH: &'static str = "/xrpc/tools.ozone.queue.deleteQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteQueue; type Response = DeleteQueueResponse; } pub mod delete_queue_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -196,11 +193,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteQueue { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteQueue { DeleteQueue { migrate_to_queue_id: self._fields.0, queue_id: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/get_assignments.rs b/crates/jacquard-api/src/tools_ozone/queue/get_assignments.rs index 5194bbb9c..b925639f5 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/get_assignments.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/get_assignments.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::queue::AssignmentView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::queue::AssignmentView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAssignments { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -40,11 +37,9 @@ pub struct GetAssignments { pub queue_ids: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAssignmentsOutput { pub assignments: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -91,7 +86,7 @@ fn _default_only_active() -> Option { pub mod get_assignments_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -109,7 +104,10 @@ pub mod get_assignments_state { } /// Builder for constructing an instance of this type. -pub struct GetAssignmentsBuilder { +pub struct GetAssignmentsBuilder< + St: get_assignments_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -236,4 +234,4 @@ where queue_ids: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/list_queues.rs b/crates/jacquard-api/src/tools_ozone/queue/list_queues.rs index 2b35d669e..59e5376d1 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/list_queues.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/list_queues.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::queue::QueueView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::queue::QueueView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListQueues { #[serde(skip_serializing_if = "Option::is_none")] pub collection: Option, @@ -39,11 +36,9 @@ pub struct ListQueues { pub subject_type: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListQueuesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -86,7 +81,7 @@ fn _default_limit() -> Option { pub mod list_queues_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -246,4 +241,4 @@ where subject_type: self._fields.5, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/route_reports.rs b/crates/jacquard-api/src/tools_ozone/queue/route_reports.rs index 69209eeaa..2a7a54739 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/route_reports.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/route_reports.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RouteReports { ///End of report ID range (inclusive). Difference between start and end must be less than 5,000. pub end_report_id: i64, @@ -30,11 +27,9 @@ pub struct RouteReports { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RouteReportsOutput { ///The number of reports assigned to a queue. pub assigned: i64, @@ -44,9 +39,18 @@ pub struct RouteReportsOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RouteReportsError { /// The request is invalid, such as missing required fields or invalid field values. @@ -54,10 +58,7 @@ pub enum RouteReportsError { OutOfRange(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RouteReportsError { @@ -94,8 +95,9 @@ impl jacquard_common::xrpc::XrpcResp for RouteReportsResponse { impl jacquard_common::xrpc::XrpcRequest for RouteReports { const NSID: &'static str = "tools.ozone.queue.routeReports"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RouteReportsResponse; } @@ -105,15 +107,16 @@ Path: `/xrpc/tools.ozone.queue.routeReports`. The request payload type is `Route pub struct RouteReportsRequest; impl jacquard_common::xrpc::XrpcEndpoint for RouteReportsRequest { const PATH: &'static str = "/xrpc/tools.ozone.queue.routeReports"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RouteReports; type Response = RouteReportsResponse; } pub mod route_reports_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -251,11 +254,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RouteReports { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RouteReports { RouteReports { end_report_id: self._fields.0.unwrap(), start_report_id: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/unassign_moderator.rs b/crates/jacquard-api/src/tools_ozone/queue/unassign_moderator.rs index 2f5c8ba54..e15f4aef7 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/unassign_moderator.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/unassign_moderator.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnassignModerator { ///DID to be unassigned. pub did: Did, @@ -31,9 +28,18 @@ pub struct UnassignModerator { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UnassignModeratorError { /// No active assignment exists for the given queue and user. @@ -41,10 +47,7 @@ pub enum UnassignModeratorError { InvalidAssignment(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UnassignModeratorError { @@ -81,8 +84,9 @@ impl jacquard_common::xrpc::XrpcResp for UnassignModeratorResponse { impl jacquard_common::xrpc::XrpcRequest for UnassignModerator { const NSID: &'static str = "tools.ozone.queue.unassignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnassignModeratorResponse; } @@ -92,15 +96,16 @@ Path: `/xrpc/tools.ozone.queue.unassignModerator`. The request payload type is ` pub struct UnassignModeratorRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnassignModeratorRequest { const PATH: &'static str = "/xrpc/tools.ozone.queue.unassignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnassignModerator; type Response = UnassignModeratorResponse; } pub mod unassign_moderator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -143,7 +148,10 @@ pub mod unassign_moderator_state { } /// Builder for constructing an instance of this type. -pub struct UnassignModeratorBuilder { +pub struct UnassignModeratorBuilder< + St: unassign_moderator_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option), _type: PhantomData S>, @@ -151,7 +159,10 @@ pub struct UnassignModeratorBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UnassignModeratorBuilder { + pub fn new() -> UnassignModeratorBuilder< + unassign_moderator_state::Empty, + DefaultStr, + > { UnassignModeratorBuilder::new() } } @@ -238,11 +249,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UnassignModerator { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UnassignModerator { UnassignModerator { did: self._fields.0.unwrap(), queue_id: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/queue/update_queue.rs b/crates/jacquard-api/src/tools_ozone/queue/update_queue.rs index 9d20304d1..0f1928b08 100644 --- a/crates/jacquard-api/src/tools_ozone/queue/update_queue.rs +++ b/crates/jacquard-api/src/tools_ozone/queue/update_queue.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::queue::QueueView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::queue::QueueView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateQueue { ///Optional description of the queue #[serde(skip_serializing_if = "Option::is_none")] @@ -38,11 +35,9 @@ pub struct UpdateQueue { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateQueueOutput { pub queue: QueueView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -62,8 +57,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateQueueResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateQueue { const NSID: &'static str = "tools.ozone.queue.updateQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateQueueResponse; } @@ -73,15 +69,16 @@ Path: `/xrpc/tools.ozone.queue.updateQueue`. The request payload type is `Update pub struct UpdateQueueRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateQueueRequest { const PATH: &'static str = "/xrpc/tools.ozone.queue.updateQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateQueue; type Response = UpdateQueueResponse; } pub mod update_queue_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -228,7 +225,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateQueue { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateQueue { UpdateQueue { description: self._fields.0, enabled: self._fields.1, @@ -237,4 +237,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report.rs b/crates/jacquard-api/src/tools_ozone/report.rs index 30df58787..b7ac9dbc5 100644 --- a/crates/jacquard-api/src/tools_ozone/report.rs +++ b/crates/jacquard-api/src/tools_ozone/report.rs @@ -19,39 +19,37 @@ pub mod reassign_queue; pub mod refresh_stats; pub mod unassign_moderator; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::moderation; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::tools_ozone::moderation::ModEventView; use crate::tools_ozone::moderation::SubjectStatusView; use crate::tools_ozone::moderation::SubjectView; use crate::tools_ozone::queue::QueueView; -use crate::tools_ozone::report; use crate::tools_ozone::team::Member; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use crate::com_atproto::moderation; +use crate::tools_ozone::report; /// Activity recording a moderator being assigned to a report. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AssignmentActivity { ///The report's status before this activity. Populated automatically from the report row; not required in input. #[serde(skip_serializing_if = "Option::is_none")] @@ -117,7 +115,8 @@ impl Serialize for AssignmentActivityPreviousStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for AssignmentActivityPreviousStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for AssignmentActivityPreviousStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -141,12 +140,18 @@ where type Output = AssignmentActivityPreviousStatus; fn into_static(self) -> Self::Output { match self { - AssignmentActivityPreviousStatus::Open => AssignmentActivityPreviousStatus::Open, - AssignmentActivityPreviousStatus::Closed => AssignmentActivityPreviousStatus::Closed, + AssignmentActivityPreviousStatus::Open => { + AssignmentActivityPreviousStatus::Open + } + AssignmentActivityPreviousStatus::Closed => { + AssignmentActivityPreviousStatus::Closed + } AssignmentActivityPreviousStatus::Escalated => { AssignmentActivityPreviousStatus::Escalated } - AssignmentActivityPreviousStatus::Queued => AssignmentActivityPreviousStatus::Queued, + AssignmentActivityPreviousStatus::Queued => { + AssignmentActivityPreviousStatus::Queued + } AssignmentActivityPreviousStatus::Assigned => { AssignmentActivityPreviousStatus::Assigned } @@ -157,11 +162,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AssignmentView { pub did: Did, #[serde(skip_serializing_if = "Option::is_none")] @@ -181,10 +184,7 @@ pub struct AssignmentView { /// Activity recording a report being closed. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CloseActivity { ///The report's status before this activity. Populated automatically from the report row; not required in input. #[serde(skip_serializing_if = "Option::is_none")] @@ -250,7 +250,8 @@ impl Serialize for CloseActivityPreviousStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CloseActivityPreviousStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for CloseActivityPreviousStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -276,9 +277,13 @@ where match self { CloseActivityPreviousStatus::Open => CloseActivityPreviousStatus::Open, CloseActivityPreviousStatus::Closed => CloseActivityPreviousStatus::Closed, - CloseActivityPreviousStatus::Escalated => CloseActivityPreviousStatus::Escalated, + CloseActivityPreviousStatus::Escalated => { + CloseActivityPreviousStatus::Escalated + } CloseActivityPreviousStatus::Queued => CloseActivityPreviousStatus::Queued, - CloseActivityPreviousStatus::Assigned => CloseActivityPreviousStatus::Assigned, + CloseActivityPreviousStatus::Assigned => { + CloseActivityPreviousStatus::Assigned + } CloseActivityPreviousStatus::Other(v) => { CloseActivityPreviousStatus::Other(v.into_static()) } @@ -289,10 +294,7 @@ where /// Activity recording a report being escalated. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EscalationActivity { ///The report's status before this activity. Populated automatically from the report row; not required in input. #[serde(skip_serializing_if = "Option::is_none")] @@ -358,7 +360,8 @@ impl Serialize for EscalationActivityPreviousStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for EscalationActivityPreviousStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for EscalationActivityPreviousStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -382,12 +385,18 @@ where type Output = EscalationActivityPreviousStatus; fn into_static(self) -> Self::Output { match self { - EscalationActivityPreviousStatus::Open => EscalationActivityPreviousStatus::Open, - EscalationActivityPreviousStatus::Closed => EscalationActivityPreviousStatus::Closed, + EscalationActivityPreviousStatus::Open => { + EscalationActivityPreviousStatus::Open + } + EscalationActivityPreviousStatus::Closed => { + EscalationActivityPreviousStatus::Closed + } EscalationActivityPreviousStatus::Escalated => { EscalationActivityPreviousStatus::Escalated } - EscalationActivityPreviousStatus::Queued => EscalationActivityPreviousStatus::Queued, + EscalationActivityPreviousStatus::Queued => { + EscalationActivityPreviousStatus::Queued + } EscalationActivityPreviousStatus::Assigned => { EscalationActivityPreviousStatus::Assigned } @@ -401,10 +410,7 @@ where /// A single daily snapshot of report statistics for a calendar date. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HistoricalStats { ///Percentage of reports actioned (actionedCount / inboundCount * 100), rounded to nearest integer. #[serde(skip_serializing_if = "Option::is_none")] @@ -436,10 +442,7 @@ pub struct HistoricalStats { /// Live statistics for reports for the current calendar day, filterable by queue, moderator, or report type. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LiveStats { ///Percentage of reports actioned (actionedCount / inboundCount * 100), rounded to nearest integer. #[serde(skip_serializing_if = "Option::is_none")] @@ -469,10 +472,7 @@ pub struct LiveStats { /// Activity recording a note on a report. Use internalNote for moderator-only notes or publicNote for reporter-visible notes (or both). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NoteActivity { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -481,10 +481,7 @@ pub struct NoteActivity { /// Activity recording a report being routed to a queue. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueueActivity { ///The report's status before this activity. Populated automatically from the report row; not required in input. #[serde(skip_serializing_if = "Option::is_none")] @@ -550,7 +547,8 @@ impl Serialize for QueueActivityPreviousStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for QueueActivityPreviousStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for QueueActivityPreviousStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -576,9 +574,13 @@ where match self { QueueActivityPreviousStatus::Open => QueueActivityPreviousStatus::Open, QueueActivityPreviousStatus::Closed => QueueActivityPreviousStatus::Closed, - QueueActivityPreviousStatus::Escalated => QueueActivityPreviousStatus::Escalated, + QueueActivityPreviousStatus::Escalated => { + QueueActivityPreviousStatus::Escalated + } QueueActivityPreviousStatus::Queued => QueueActivityPreviousStatus::Queued, - QueueActivityPreviousStatus::Assigned => QueueActivityPreviousStatus::Assigned, + QueueActivityPreviousStatus::Assigned => { + QueueActivityPreviousStatus::Assigned + } QueueActivityPreviousStatus::Other(v) => { QueueActivityPreviousStatus::Other(v.into_static()) } @@ -916,6 +918,7 @@ impl core::fmt::Display for ReasonSexualUnlabeled { } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ReasonType { ToolsOzoneReportDefsReasonAppeal, @@ -964,8 +967,12 @@ pub enum ReasonType { impl ReasonType { pub fn as_str(&self) -> &str { match self { - Self::ToolsOzoneReportDefsReasonAppeal => "tools.ozone.report.defs#reasonAppeal", - Self::ToolsOzoneReportDefsReasonOther => "tools.ozone.report.defs#reasonOther", + Self::ToolsOzoneReportDefsReasonAppeal => { + "tools.ozone.report.defs#reasonAppeal" + } + Self::ToolsOzoneReportDefsReasonOther => { + "tools.ozone.report.defs#reasonOther" + } Self::ToolsOzoneReportDefsReasonViolenceAnimal => { "tools.ozone.report.defs#reasonViolenceAnimal" } @@ -1062,7 +1069,9 @@ impl ReasonType { Self::ToolsOzoneReportDefsReasonRuleBanEvasion => { "tools.ozone.report.defs#reasonRuleBanEvasion" } - Self::ToolsOzoneReportDefsReasonRuleOther => "tools.ozone.report.defs#reasonRuleOther", + Self::ToolsOzoneReportDefsReasonRuleOther => { + "tools.ozone.report.defs#reasonRuleOther" + } Self::ToolsOzoneReportDefsReasonSelfHarmContent => { "tools.ozone.report.defs#reasonSelfHarmContent" } @@ -1084,8 +1093,12 @@ impl ReasonType { /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "tools.ozone.report.defs#reasonAppeal" => Self::ToolsOzoneReportDefsReasonAppeal, - "tools.ozone.report.defs#reasonOther" => Self::ToolsOzoneReportDefsReasonOther, + "tools.ozone.report.defs#reasonAppeal" => { + Self::ToolsOzoneReportDefsReasonAppeal + } + "tools.ozone.report.defs#reasonOther" => { + Self::ToolsOzoneReportDefsReasonOther + } "tools.ozone.report.defs#reasonViolenceAnimal" => { Self::ToolsOzoneReportDefsReasonViolenceAnimal } @@ -1182,7 +1195,9 @@ impl ReasonType { "tools.ozone.report.defs#reasonRuleBanEvasion" => { Self::ToolsOzoneReportDefsReasonRuleBanEvasion } - "tools.ozone.report.defs#reasonRuleOther" => Self::ToolsOzoneReportDefsReasonRuleOther, + "tools.ozone.report.defs#reasonRuleOther" => { + Self::ToolsOzoneReportDefsReasonRuleOther + } "tools.ozone.report.defs#reasonSelfHarmContent" => { Self::ToolsOzoneReportDefsReasonSelfHarmContent } @@ -1440,10 +1455,7 @@ impl core::fmt::Display for ReasonViolenceTrafficking { /// Activity recording a closed report being reopened. Only valid when the report is in 'closed' status. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReopenActivity { ///The report's status before this activity. Populated automatically from the report row; not required in input. #[serde(skip_serializing_if = "Option::is_none")] @@ -1509,7 +1521,8 @@ impl Serialize for ReopenActivityPreviousStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ReopenActivityPreviousStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ReopenActivityPreviousStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -1535,9 +1548,13 @@ where match self { ReopenActivityPreviousStatus::Open => ReopenActivityPreviousStatus::Open, ReopenActivityPreviousStatus::Closed => ReopenActivityPreviousStatus::Closed, - ReopenActivityPreviousStatus::Escalated => ReopenActivityPreviousStatus::Escalated, + ReopenActivityPreviousStatus::Escalated => { + ReopenActivityPreviousStatus::Escalated + } ReopenActivityPreviousStatus::Queued => ReopenActivityPreviousStatus::Queued, - ReopenActivityPreviousStatus::Assigned => ReopenActivityPreviousStatus::Assigned, + ReopenActivityPreviousStatus::Assigned => { + ReopenActivityPreviousStatus::Assigned + } ReopenActivityPreviousStatus::Other(v) => { ReopenActivityPreviousStatus::Other(v.into_static()) } @@ -1548,10 +1565,7 @@ where /// A single activity entry on a report. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReportActivityView { ///The typed activity object describing what occurred. pub activity: ReportActivityViewActivity, @@ -1581,6 +1595,7 @@ pub struct ReportActivityView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -1602,10 +1617,7 @@ pub enum ReportActivityViewActivity { /// Information about the moderator currently assigned to a report. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReportAssignment { ///When the report was assigned pub assigned_at: Datetime, @@ -1618,11 +1630,9 @@ pub struct ReportAssignment { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReportView { ///Array of moderation event IDs representing actions taken on this report (sorted DESC, most recent first) #[serde(skip_serializing_if = "Option::is_none")] @@ -1949,10 +1959,10 @@ impl LexiconSchema for ReportView { } fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.report.defs"), @@ -1988,12 +1998,13 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("assignmentView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("did"), - SmolStr::new_static("reportId"), - SmolStr::new_static("startAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("did"), + SmolStr::new_static("reportId"), + SmolStr::new_static("startAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -2027,7 +2038,9 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("queue"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("tools.ozone.queue.defs#queueView"), + r#ref: CowStr::new_static( + "tools.ozone.queue.defs#queueView", + ), ..Default::default() }), ); @@ -2104,9 +2117,11 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("historicalStats"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A single daily snapshot of report statistics for a calendar date.", - )), + description: Some( + CowStr::new_static( + "A single daily snapshot of report statistics for a calendar date.", + ), + ), required: Some(vec![SmolStr::new_static("date")]), properties: { #[allow(unused_mut)] @@ -2132,9 +2147,9 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("computedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When this snapshot was last computed.", - )), + description: Some( + CowStr::new_static("When this snapshot was last computed."), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -2142,9 +2157,11 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("date"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The calendar date this snapshot covers (YYYY-MM-DD).", - )), + description: Some( + CowStr::new_static( + "The calendar date this snapshot covers (YYYY-MM-DD).", + ), + ), ..Default::default() }), ); @@ -2280,249 +2297,167 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("reasonAppeal"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonChildSafetyCSAM"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonChildSafetyGroom"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonChildSafetyHarassment"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonChildSafetyOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonChildSafetyPrivacy"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonHarassmentDoxxing"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonHarassmentHateSpeech"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonHarassmentOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonHarassmentTargeted"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonHarassmentTroll"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonMisleadingBot"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonMisleadingElections"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonMisleadingImpersonation"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonMisleadingOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonMisleadingScam"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonMisleadingSpam"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonRuleBanEvasion"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonRuleOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonRuleProhibitedSales"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonRuleSiteSecurity"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSelfHarmContent"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSelfHarmED"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSelfHarmOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSelfHarmStunts"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSelfHarmSubstances"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSexualAbuseContent"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSexualAnimal"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSexualDeepfake"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSexualNCII"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSexualOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonSexualUnlabeled"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonType"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonViolenceAnimal"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonViolenceExtremistContent"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonViolenceGlorification"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonViolenceGraphicContent"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonViolenceOther"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonViolenceThreats"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonViolenceTrafficking"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("reopenActivity"), @@ -2671,22 +2606,25 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("reportAssignment"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "Information about the moderator currently assigned to a report.", - )), - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("assignedAt"), - ]), + description: Some( + CowStr::new_static( + "Information about the moderator currently assigned to a report.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("did"), SmolStr::new_static("assignedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("assignedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "When the report was assigned", - )), + description: Some( + CowStr::new_static("When the report was assigned"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -2694,9 +2632,9 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the assigned moderator", - )), + description: Some( + CowStr::new_static("DID of the assigned moderator"), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -2919,7 +2857,7 @@ fn lexicon_doc_tools_ozone_report_defs() -> LexiconDoc<'static> { pub mod assignment_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -2992,7 +2930,10 @@ pub mod assignment_view_state { } /// Builder for constructing an instance of this type. -pub struct AssignmentViewBuilder { +pub struct AssignmentViewBuilder< + St: assignment_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -3179,7 +3120,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AssignmentView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AssignmentView { AssignmentView { did: self._fields.0.unwrap(), end_at: self._fields.1, @@ -3195,7 +3139,7 @@ where pub mod report_activity_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3306,8 +3250,10 @@ pub mod report_activity_view_state { } /// Builder for constructing an instance of this type. -pub struct ReportActivityViewBuilder -{ +pub struct ReportActivityViewBuilder< + St: report_activity_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -3326,7 +3272,10 @@ pub struct ReportActivityViewBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ReportActivityViewBuilder { + pub fn new() -> ReportActivityViewBuilder< + report_activity_view_state::Empty, + DefaultStr, + > { ReportActivityViewBuilder::new() } } @@ -3553,7 +3502,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReportActivityView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReportActivityView { ReportActivityView { activity: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -3572,7 +3524,7 @@ where pub mod report_assignment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3615,7 +3567,10 @@ pub mod report_assignment_state { } /// Builder for constructing an instance of this type. -pub struct ReportAssignmentBuilder { +pub struct ReportAssignmentBuilder< + St: report_assignment_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option>), _type: PhantomData S>, @@ -3724,7 +3679,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReportAssignment { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReportAssignment { ReportAssignment { assigned_at: self._fields.0.unwrap(), did: self._fields.1.unwrap(), @@ -3736,7 +3694,7 @@ where pub mod report_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -3939,8 +3897,25 @@ impl ReportViewBuilder { ReportViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -3953,8 +3928,25 @@ impl ReportViewBuilder { ReportViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, - None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -4002,12 +3994,18 @@ impl ReportViewBuilder { impl ReportViewBuilder { /// Set the `assignment` field (optional) - pub fn assignment(mut self, value: impl Into>>) -> Self { + pub fn assignment( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `assignment` field to an Option value (optional) - pub fn maybe_assignment(mut self, value: Option>) -> Self { + pub fn maybe_assignment( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -4232,7 +4230,10 @@ where impl ReportViewBuilder { /// Set the `subjectStatus` field (optional) - pub fn subject_status(mut self, value: impl Into>>) -> Self { + pub fn subject_status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.17 = value.into(); self } @@ -4294,7 +4295,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReportView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReportView { ReportView { action_event_ids: self._fields.0, action_note: self._fields.1, @@ -4318,4 +4322,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/assign_moderator.rs b/crates/jacquard-api/src/tools_ozone/report/assign_moderator.rs index b5a68f460..750a104be 100644 --- a/crates/jacquard-api/src/tools_ozone/report/assign_moderator.rs +++ b/crates/jacquard-api/src/tools_ozone/report/assign_moderator.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::AssignmentView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::AssignmentView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AssignModerator { ///DID to be assigned. Defaults to the caller's DID. Admins may assign to any moderator. #[serde(skip_serializing_if = "Option::is_none")] @@ -39,11 +36,9 @@ pub struct AssignModerator { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AssignModeratorOutput { #[serde(flatten)] pub value: AssignmentView, @@ -51,9 +46,18 @@ pub struct AssignModeratorOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum AssignModeratorError { /// The report is already assigned to another user. @@ -64,10 +68,7 @@ pub enum AssignModeratorError { InvalidAssignment(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for AssignModeratorError { @@ -111,8 +112,9 @@ impl jacquard_common::xrpc::XrpcResp for AssignModeratorResponse { impl jacquard_common::xrpc::XrpcRequest for AssignModerator { const NSID: &'static str = "tools.ozone.report.assignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AssignModeratorResponse; } @@ -122,15 +124,16 @@ Path: `/xrpc/tools.ozone.report.assignModerator`. The request payload type is `A pub struct AssignModeratorRequest; impl jacquard_common::xrpc::XrpcEndpoint for AssignModeratorRequest { const PATH: &'static str = "/xrpc/tools.ozone.report.assignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AssignModerator; type Response = AssignModeratorResponse; } pub mod assign_moderator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -161,7 +164,10 @@ pub mod assign_moderator_state { } /// Builder for constructing an instance of this type. -pub struct AssignModeratorBuilder { +pub struct AssignModeratorBuilder< + St: assign_moderator_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option, Option, Option), _type: PhantomData S>, @@ -277,7 +283,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AssignModerator { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AssignModerator { AssignModerator { did: self._fields.0, is_permanent: self._fields.1, @@ -286,4 +295,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/create_activity.rs b/crates/jacquard-api/src/tools_ozone/report/create_activity.rs index 01ca0ac3d..6ee86b6cd 100644 --- a/crates/jacquard-api/src/tools_ozone/report/create_activity.rs +++ b/crates/jacquard-api/src/tools_ozone/report/create_activity.rs @@ -8,6 +8,13 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; +#[allow(unused_imports)] +use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; +use jacquard_common::deps::smol_str::SmolStr; +use jacquard_common::types::value::Data; +use jacquard_derive::{IntoStatic, open_union}; +use serde::{Serialize, Deserialize}; use crate::tools_ozone::report::AssignmentActivity; use crate::tools_ozone::report::CloseActivity; use crate::tools_ozone::report::EscalationActivity; @@ -15,19 +22,9 @@ use crate::tools_ozone::report::NoteActivity; use crate::tools_ozone::report::QueueActivity; use crate::tools_ozone::report::ReopenActivity; use crate::tools_ozone::report::ReportActivityView; -#[allow(unused_imports)] -use core::marker::PhantomData; -use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; -use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateActivity { ///The type of activity to record. pub activity: CreateActivityActivity, @@ -47,6 +44,7 @@ pub struct CreateActivity { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -65,20 +63,27 @@ pub enum CreateActivityActivity { NoteActivity(Box>), } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CreateActivityOutput { pub activity: ReportActivityView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum CreateActivityError { /// No report exists with the given reportId @@ -92,10 +97,7 @@ pub enum CreateActivityError { AlreadyInTargetState(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for CreateActivityError { @@ -146,8 +148,9 @@ impl jacquard_common::xrpc::XrpcResp for CreateActivityResponse { impl jacquard_common::xrpc::XrpcRequest for CreateActivity { const NSID: &'static str = "tools.ozone.report.createActivity"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = CreateActivityResponse; } @@ -157,8 +160,9 @@ Path: `/xrpc/tools.ozone.report.createActivity`. The request payload type is `Cr pub struct CreateActivityRequest; impl jacquard_common::xrpc::XrpcEndpoint for CreateActivityRequest { const PATH: &'static str = "/xrpc/tools.ozone.report.createActivity"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = CreateActivity; type Response = CreateActivityResponse; } @@ -169,7 +173,7 @@ fn _default_create_activity_is_automated() -> Option { pub mod create_activity_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,7 +216,10 @@ pub mod create_activity_state { } /// Builder for constructing an instance of this type. -pub struct CreateActivityBuilder { +pub struct CreateActivityBuilder< + St: create_activity_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option>, @@ -355,7 +362,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> CreateActivity { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> CreateActivity { CreateActivity { activity: self._fields.0.unwrap(), internal_note: self._fields.1, @@ -365,4 +375,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/get_assignments.rs b/crates/jacquard-api/src/tools_ozone/report/get_assignments.rs index 2bc6368e8..1e3785644 100644 --- a/crates/jacquard-api/src/tools_ozone/report/get_assignments.rs +++ b/crates/jacquard-api/src/tools_ozone/report/get_assignments.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::AssignmentView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::AssignmentView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAssignments { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -40,11 +37,9 @@ pub struct GetAssignments { pub report_ids: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetAssignmentsOutput { pub assignments: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -91,7 +86,7 @@ fn _default_only_active() -> Option { pub mod get_assignments_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -109,7 +104,10 @@ pub mod get_assignments_state { } /// Builder for constructing an instance of this type. -pub struct GetAssignmentsBuilder { +pub struct GetAssignmentsBuilder< + St: get_assignments_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -236,4 +234,4 @@ where report_ids: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/get_historical_stats.rs b/crates/jacquard-api/src/tools_ozone/report/get_historical_stats.rs index 69a5f2dd8..1741ccaba 100644 --- a/crates/jacquard-api/src/tools_ozone/report/get_historical_stats.rs +++ b/crates/jacquard-api/src/tools_ozone/report/get_historical_stats.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::HistoricalStats; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::HistoricalStats; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetHistoricalStats { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -42,11 +39,9 @@ pub struct GetHistoricalStats { pub start_date: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetHistoricalStatsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -89,7 +84,7 @@ fn _default_limit() -> Option { pub mod get_historical_stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -107,8 +102,10 @@ pub mod get_historical_stats_state { } /// Builder for constructing an instance of this type. -pub struct GetHistoricalStatsBuilder -{ +pub struct GetHistoricalStatsBuilder< + St: get_historical_stats_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -124,7 +121,10 @@ pub struct GetHistoricalStatsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GetHistoricalStatsBuilder { + pub fn new() -> GetHistoricalStatsBuilder< + get_historical_stats_state::Empty, + DefaultStr, + > { GetHistoricalStatsBuilder::new() } } @@ -265,4 +265,4 @@ where start_date: self._fields.6, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/get_latest_report.rs b/crates/jacquard-api/src/tools_ozone/report/get_latest_report.rs index e46fffb49..1714fc9c8 100644 --- a/crates/jacquard-api/src/tools_ozone/report/get_latest_report.rs +++ b/crates/jacquard-api/src/tools_ozone/report/get_latest_report.rs @@ -8,33 +8,39 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::ReportView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::ReportView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetLatestReport; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLatestReportOutput { pub report: ReportView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetLatestReportError { /// No report found. @@ -42,10 +48,7 @@ pub enum GetLatestReportError { NotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetLatestReportError { @@ -95,4 +98,4 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLatestReportRequest { const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request = GetLatestReport; type Response = GetLatestReportResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/get_live_stats.rs b/crates/jacquard-api/src/tools_ozone/report/get_live_stats.rs index ded9a7063..bf2673cfc 100644 --- a/crates/jacquard-api/src/tools_ozone/report/get_live_stats.rs +++ b/crates/jacquard-api/src/tools_ozone/report/get_live_stats.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::LiveStats; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::LiveStats; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLiveStats { #[serde(skip_serializing_if = "Option::is_none")] pub moderator_did: Option>, @@ -32,11 +29,9 @@ pub struct GetLiveStats { pub report_types: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetLiveStatsOutput { ///Statistics for the requested filter. pub stats: LiveStats, @@ -74,7 +69,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetLiveStatsRequest { pub mod get_live_stats_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -185,4 +180,4 @@ where report_types: self._fields.2, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/get_report.rs b/crates/jacquard-api/src/tools_ozone/report/get_report.rs index b59aa70e2..20b26c059 100644 --- a/crates/jacquard-api/src/tools_ozone/report/get_report.rs +++ b/crates/jacquard-api/src/tools_ozone/report/get_report.rs @@ -8,14 +8,14 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::ReportView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::ReportView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -23,11 +23,9 @@ pub struct GetReport { pub id: i64, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetReportOutput { #[serde(flatten)] pub value: ReportView, @@ -35,9 +33,18 @@ pub struct GetReportOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetReportError { /// No report found. @@ -45,10 +52,7 @@ pub enum GetReportError { NotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetReportError { @@ -102,7 +106,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetReportRequest { pub mod get_report_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -171,7 +175,10 @@ where St::Id: get_report_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> GetReportBuilder> { + pub fn id( + mut self, + value: impl Into, + ) -> GetReportBuilder> { self._fields.0 = Option::Some(value.into()); GetReportBuilder { _state: PhantomData, @@ -191,4 +198,4 @@ where id: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/list_activities.rs b/crates/jacquard-api/src/tools_ozone/report/list_activities.rs index 54bf76f8d..b83957d5a 100644 --- a/crates/jacquard-api/src/tools_ozone/report/list_activities.rs +++ b/crates/jacquard-api/src/tools_ozone/report/list_activities.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::ReportActivityView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::ReportActivityView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListActivities { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -32,11 +29,9 @@ pub struct ListActivities { pub report_id: i64, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListActivitiesOutput { pub activities: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod list_activities_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -110,7 +105,10 @@ pub mod list_activities_state { } /// Builder for constructing an instance of this type. -pub struct ListActivitiesBuilder { +pub struct ListActivitiesBuilder< + St: list_activities_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -210,4 +208,4 @@ where report_id: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/query_reports.rs b/crates/jacquard-api/src/tools_ozone/report/query_reports.rs index 2e51fa1b3..923ad292c 100644 --- a/crates/jacquard-api/src/tools_ozone/report/query_reports.rs +++ b/crates/jacquard-api/src/tools_ozone/report/query_reports.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::ReportView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Nsid, UriValue}; +use jacquard_common::types::string::{Did, Nsid, Datetime, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::ReportView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryReports { #[serde(skip_serializing_if = "Option::is_none")] pub assigned_to: Option>, @@ -63,11 +60,9 @@ pub struct QueryReports { pub subject_type: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryReportsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -122,7 +117,7 @@ fn _default_sort_field() -> Option { pub mod query_reports_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -195,7 +190,20 @@ impl QueryReportsBuilder { QueryReportsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -209,7 +217,20 @@ impl QueryReportsBuilder { QueryReportsBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, None, ), _type: PhantomData, @@ -443,4 +464,4 @@ where subject_type: self._fields.14, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/reassign_queue.rs b/crates/jacquard-api/src/tools_ozone/report/reassign_queue.rs index 2701ae5dd..04a2d1561 100644 --- a/crates/jacquard-api/src/tools_ozone/report/reassign_queue.rs +++ b/crates/jacquard-api/src/tools_ozone/report/reassign_queue.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::ReportView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::ReportView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReassignQueue { ///Optional moderator-only note recorded on the resulting queueActivity as internalNote. #[serde(skip_serializing_if = "Option::is_none")] @@ -34,20 +31,27 @@ pub struct ReassignQueue { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReassignQueueOutput { pub report: ReportView, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ReassignQueueError { /// No report exists with the given reportId @@ -67,10 +71,7 @@ pub enum ReassignQueueError { QueueDisabled(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ReassignQueueError { @@ -135,8 +136,9 @@ impl jacquard_common::xrpc::XrpcResp for ReassignQueueResponse { impl jacquard_common::xrpc::XrpcRequest for ReassignQueue { const NSID: &'static str = "tools.ozone.report.reassignQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = ReassignQueueResponse; } @@ -146,15 +148,16 @@ Path: `/xrpc/tools.ozone.report.reassignQueue`. The request payload type is `Rea pub struct ReassignQueueRequest; impl jacquard_common::xrpc::XrpcEndpoint for ReassignQueueRequest { const PATH: &'static str = "/xrpc/tools.ozone.report.reassignQueue"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = ReassignQueue; type Response = ReassignQueueResponse; } pub mod reassign_queue_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -197,7 +200,10 @@ pub mod reassign_queue_state { } /// Builder for constructing an instance of this type. -pub struct ReassignQueueBuilder { +pub struct ReassignQueueBuilder< + St: reassign_queue_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -306,7 +312,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ReassignQueue { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ReassignQueue { ReassignQueue { comment: self._fields.0, queue_id: self._fields.1.unwrap(), @@ -314,4 +323,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/refresh_stats.rs b/crates/jacquard-api/src/tools_ozone/report/refresh_stats.rs index 70927c09c..0bcabfefb 100644 --- a/crates/jacquard-api/src/tools_ozone/report/refresh_stats.rs +++ b/crates/jacquard-api/src/tools_ozone/report/refresh_stats.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RefreshStats { ///End date for recomputation, inclusive (YYYY-MM-DD). pub end_date: S, @@ -33,11 +30,9 @@ pub struct RefreshStats { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RefreshStatsOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -56,8 +51,9 @@ impl jacquard_common::xrpc::XrpcResp for RefreshStatsResponse { impl jacquard_common::xrpc::XrpcRequest for RefreshStats { const NSID: &'static str = "tools.ozone.report.refreshStats"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RefreshStatsResponse; } @@ -67,8 +63,9 @@ Path: `/xrpc/tools.ozone.report.refreshStats`. The request payload type is `Refr pub struct RefreshStatsRequest; impl jacquard_common::xrpc::XrpcEndpoint for RefreshStatsRequest { const PATH: &'static str = "/xrpc/tools.ozone.report.refreshStats"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RefreshStats; type Response = RefreshStatsResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/report/unassign_moderator.rs b/crates/jacquard-api/src/tools_ozone/report/unassign_moderator.rs index ad0acb70c..552d8a21b 100644 --- a/crates/jacquard-api/src/tools_ozone/report/unassign_moderator.rs +++ b/crates/jacquard-api/src/tools_ozone/report/unassign_moderator.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::report::AssignmentView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::report::AssignmentView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnassignModerator { ///The ID of the report to unassign. pub report_id: i64, @@ -29,11 +26,9 @@ pub struct UnassignModerator { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UnassignModeratorOutput { #[serde(flatten)] pub value: AssignmentView, @@ -41,9 +36,18 @@ pub struct UnassignModeratorOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UnassignModeratorError { /// The report ID is invalid. @@ -51,10 +55,7 @@ pub enum UnassignModeratorError { InvalidAssignment(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UnassignModeratorError { @@ -91,8 +92,9 @@ impl jacquard_common::xrpc::XrpcResp for UnassignModeratorResponse { impl jacquard_common::xrpc::XrpcRequest for UnassignModerator { const NSID: &'static str = "tools.ozone.report.unassignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UnassignModeratorResponse; } @@ -102,15 +104,16 @@ Path: `/xrpc/tools.ozone.report.unassignModerator`. The request payload type is pub struct UnassignModeratorRequest; impl jacquard_common::xrpc::XrpcEndpoint for UnassignModeratorRequest { const PATH: &'static str = "/xrpc/tools.ozone.report.unassignModerator"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UnassignModerator; type Response = UnassignModeratorResponse; } pub mod unassign_moderator_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -141,7 +144,10 @@ pub mod unassign_moderator_state { } /// Builder for constructing an instance of this type. -pub struct UnassignModeratorBuilder { +pub struct UnassignModeratorBuilder< + St: unassign_moderator_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option,), _type: PhantomData S>, @@ -149,7 +155,10 @@ pub struct UnassignModeratorBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> UnassignModeratorBuilder { + pub fn new() -> UnassignModeratorBuilder< + unassign_moderator_state::Empty, + DefaultStr, + > { UnassignModeratorBuilder::new() } } @@ -215,10 +224,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UnassignModerator { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UnassignModerator { UnassignModerator { report_id: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/safelink.rs b/crates/jacquard-api/src/tools_ozone/safelink.rs index 691f4851d..e8b49162d 100644 --- a/crates/jacquard-api/src/tools_ozone/safelink.rs +++ b/crates/jacquard-api/src/tools_ozone/safelink.rs @@ -12,26 +12,27 @@ pub mod query_rules; pub mod remove_rule; pub mod update_rule; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::safelink; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::safelink; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ActionType { @@ -111,10 +112,7 @@ where /// An event for URL safety decisions #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Event { pub action: safelink::ActionType, ///Optional comment about the decision @@ -134,6 +132,7 @@ pub struct Event { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum EventType { AddRule, @@ -209,6 +208,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum PatternType { Domain, @@ -280,6 +280,7 @@ where } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ReasonType { Csam, @@ -362,10 +363,7 @@ where /// Input for creating a URL safety rule #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UrlRule { pub action: safelink::ActionType, ///Optional comment about the decision @@ -417,7 +415,7 @@ impl LexiconSchema for UrlRule { pub mod event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -721,7 +719,10 @@ where St::Id: event_state::IsUnset, { /// Set the `id` field (required) - pub fn id(mut self, value: impl Into) -> EventBuilder, S> { + pub fn id( + mut self, + value: impl Into, + ) -> EventBuilder, S> { self._fields.5 = Option::Some(value.into()); EventBuilder { _state: PhantomData, @@ -775,7 +776,10 @@ where St::Url: event_state::IsUnset, { /// Set the `url` field (required) - pub fn url(mut self, value: impl Into) -> EventBuilder, S> { + pub fn url( + mut self, + value: impl Into, + ) -> EventBuilder, S> { self._fields.8 = Option::Some(value.into()); EventBuilder { _state: PhantomData, @@ -830,10 +834,10 @@ where } fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.safelink.defs"), @@ -841,24 +845,23 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("actionType"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("event"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("An event for URL safety decisions")), - required: Some(vec![ - SmolStr::new_static("id"), - SmolStr::new_static("eventType"), - SmolStr::new_static("url"), - SmolStr::new_static("pattern"), - SmolStr::new_static("action"), - SmolStr::new_static("reason"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("createdAt"), - ]), + description: Some( + CowStr::new_static("An event for URL safety decisions"), + ), + required: Some( + vec![ + SmolStr::new_static("id"), SmolStr::new_static("eventType"), + SmolStr::new_static("url"), SmolStr::new_static("pattern"), + SmolStr::new_static("action"), SmolStr::new_static("reason"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -872,9 +875,9 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("comment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional comment about the decision", - )), + description: Some( + CowStr::new_static("Optional comment about the decision"), + ), ..Default::default() }), ); @@ -888,9 +891,9 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdBy"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the user who created this rule", - )), + description: Some( + CowStr::new_static("DID of the user who created this rule"), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -925,9 +928,9 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL that this rule applies to", - )), + description: Some( + CowStr::new_static("The URL that this rule applies to"), + ), ..Default::default() }), ); @@ -938,35 +941,31 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("eventType"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("patternType"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("reasonType"), - LexUserType::String(LexString { - ..Default::default() - }), + LexUserType::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("urlRule"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Input for creating a URL safety rule")), - required: Some(vec![ - SmolStr::new_static("url"), - SmolStr::new_static("pattern"), - SmolStr::new_static("action"), - SmolStr::new_static("reason"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("updatedAt"), - ]), + description: Some( + CowStr::new_static("Input for creating a URL safety rule"), + ), + required: Some( + vec![ + SmolStr::new_static("url"), SmolStr::new_static("pattern"), + SmolStr::new_static("action"), SmolStr::new_static("reason"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("updatedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -980,18 +979,18 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("comment"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Optional comment about the decision", - )), + description: Some( + CowStr::new_static("Optional comment about the decision"), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the rule was created", - )), + description: Some( + CowStr::new_static("Timestamp when the rule was created"), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -999,9 +998,9 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdBy"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "DID of the user added the rule.", - )), + description: Some( + CowStr::new_static("DID of the user added the rule."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -1023,9 +1022,11 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("updatedAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the rule was last updated", - )), + description: Some( + CowStr::new_static( + "Timestamp when the rule was last updated", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1033,9 +1034,9 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("url"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The URL or domain to apply the rule to", - )), + description: Some( + CowStr::new_static("The URL or domain to apply the rule to"), + ), ..Default::default() }), ); @@ -1052,7 +1053,7 @@ fn lexicon_doc_tools_ozone_safelink_defs() -> LexiconDoc<'static> { pub mod url_rule_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1369,7 +1370,10 @@ where St::Url: url_rule_state::IsUnset, { /// Set the `url` field (required) - pub fn url(mut self, value: impl Into) -> UrlRuleBuilder, S> { + pub fn url( + mut self, + value: impl Into, + ) -> UrlRuleBuilder, S> { self._fields.7 = Option::Some(value.into()); UrlRuleBuilder { _state: PhantomData, @@ -1418,4 +1422,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/safelink/add_rule.rs b/crates/jacquard-api/src/tools_ozone/safelink/add_rule.rs index 4f5102a52..804dfa3d6 100644 --- a/crates/jacquard-api/src/tools_ozone/safelink/add_rule.rs +++ b/crates/jacquard-api/src/tools_ozone/safelink/add_rule.rs @@ -8,24 +8,21 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::safelink::ActionType; -use crate::tools_ozone::safelink::Event; -use crate::tools_ozone::safelink::PatternType; -use crate::tools_ozone::safelink::ReasonType; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::safelink::ActionType; +use crate::tools_ozone::safelink::Event; +use crate::tools_ozone::safelink::PatternType; +use crate::tools_ozone::safelink::ReasonType; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddRule { pub action: ActionType, ///Optional comment about the decision @@ -42,11 +39,9 @@ pub struct AddRule { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddRuleOutput { #[serde(flatten)] pub value: Event, @@ -54,9 +49,18 @@ pub struct AddRuleOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum AddRuleError { /// The provided URL is invalid @@ -67,10 +71,7 @@ pub enum AddRuleError { RuleAlreadyExists(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for AddRuleError { @@ -114,8 +115,9 @@ impl jacquard_common::xrpc::XrpcResp for AddRuleResponse { impl jacquard_common::xrpc::XrpcRequest for AddRule { const NSID: &'static str = "tools.ozone.safelink.addRule"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AddRuleResponse; } @@ -125,15 +127,16 @@ Path: `/xrpc/tools.ozone.safelink.addRule`. The request payload type is `AddRule pub struct AddRuleRequest; impl jacquard_common::xrpc::XrpcEndpoint for AddRuleRequest { const PATH: &'static str = "/xrpc/tools.ozone.safelink.addRule"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AddRule; type Response = AddRuleResponse; } pub mod add_rule_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -344,7 +347,10 @@ where St::Url: add_rule_state::IsUnset, { /// Set the `url` field (required) - pub fn url(mut self, value: impl Into) -> AddRuleBuilder, S> { + pub fn url( + mut self, + value: impl Into, + ) -> AddRuleBuilder, S> { self._fields.5 = Option::Some(value.into()); AddRuleBuilder { _state: PhantomData, @@ -386,4 +392,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/safelink/query_events.rs b/crates/jacquard-api/src/tools_ozone/safelink/query_events.rs index 38a1a0217..c8f11cde1 100644 --- a/crates/jacquard-api/src/tools_ozone/safelink/query_events.rs +++ b/crates/jacquard-api/src/tools_ozone/safelink/query_events.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::safelink::Event; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::safelink::Event; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryEvents { ///Cursor for pagination #[serde(skip_serializing_if = "Option::is_none")] @@ -91,7 +88,8 @@ impl Serialize for QueryEventsSortDirection { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for QueryEventsSortDirection { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for QueryEventsSortDirection { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -117,16 +115,16 @@ where match self { QueryEventsSortDirection::Asc => QueryEventsSortDirection::Asc, QueryEventsSortDirection::Desc => QueryEventsSortDirection::Desc, - QueryEventsSortDirection::Other(v) => QueryEventsSortDirection::Other(v.into_static()), + QueryEventsSortDirection::Other(v) => { + QueryEventsSortDirection::Other(v.into_static()) + } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryEventsOutput { ///Next cursor for pagination. Only present if there are more results. #[serde(skip_serializing_if = "Option::is_none")] @@ -149,8 +147,9 @@ impl jacquard_common::xrpc::XrpcResp for QueryEventsResponse { impl jacquard_common::xrpc::XrpcRequest for QueryEvents { const NSID: &'static str = "tools.ozone.safelink.queryEvents"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = QueryEventsResponse; } @@ -160,12 +159,13 @@ Path: `/xrpc/tools.ozone.safelink.queryEvents`. The request payload type is `Que pub struct QueryEventsRequest; impl jacquard_common::xrpc::XrpcEndpoint for QueryEventsRequest { const PATH: &'static str = "/xrpc/tools.ozone.safelink.queryEvents"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = QueryEvents; type Response = QueryEventsResponse; } fn _default_query_events_limit() -> Option { Some(50i64) -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/safelink/query_rules.rs b/crates/jacquard-api/src/tools_ozone/safelink/query_rules.rs index 5018ab3a9..fe28e951b 100644 --- a/crates/jacquard-api/src/tools_ozone/safelink/query_rules.rs +++ b/crates/jacquard-api/src/tools_ozone/safelink/query_rules.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::safelink::UrlRule; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::safelink::UrlRule; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryRules { ///Filter by action types #[serde(skip_serializing_if = "Option::is_none")] @@ -127,16 +124,16 @@ where match self { QueryRulesSortDirection::Asc => QueryRulesSortDirection::Asc, QueryRulesSortDirection::Desc => QueryRulesSortDirection::Desc, - QueryRulesSortDirection::Other(v) => QueryRulesSortDirection::Other(v.into_static()), + QueryRulesSortDirection::Other(v) => { + QueryRulesSortDirection::Other(v.into_static()) + } } } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QueryRulesOutput { ///Next cursor for pagination. Only present if there are more results. #[serde(skip_serializing_if = "Option::is_none")] @@ -159,8 +156,9 @@ impl jacquard_common::xrpc::XrpcResp for QueryRulesResponse { impl jacquard_common::xrpc::XrpcRequest for QueryRules { const NSID: &'static str = "tools.ozone.safelink.queryRules"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = QueryRulesResponse; } @@ -170,12 +168,13 @@ Path: `/xrpc/tools.ozone.safelink.queryRules`. The request payload type is `Quer pub struct QueryRulesRequest; impl jacquard_common::xrpc::XrpcEndpoint for QueryRulesRequest { const PATH: &'static str = "/xrpc/tools.ozone.safelink.queryRules"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = QueryRules; type Response = QueryRulesResponse; } fn _default_query_rules_limit() -> Option { Some(50i64) -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/safelink/remove_rule.rs b/crates/jacquard-api/src/tools_ozone/safelink/remove_rule.rs index 3e063b32f..95110c118 100644 --- a/crates/jacquard-api/src/tools_ozone/safelink/remove_rule.rs +++ b/crates/jacquard-api/src/tools_ozone/safelink/remove_rule.rs @@ -8,22 +8,19 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::safelink::Event; -use crate::tools_ozone::safelink::PatternType; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::safelink::Event; +use crate::tools_ozone::safelink::PatternType; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveRule { ///Optional comment about why the rule is being removed #[serde(skip_serializing_if = "Option::is_none")] @@ -38,11 +35,9 @@ pub struct RemoveRule { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveRuleOutput { #[serde(flatten)] pub value: Event, @@ -50,9 +45,18 @@ pub struct RemoveRuleOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum RemoveRuleError { /// No active rule found for this URL/domain @@ -60,10 +64,7 @@ pub enum RemoveRuleError { RuleNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for RemoveRuleError { @@ -100,8 +101,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveRuleResponse { impl jacquard_common::xrpc::XrpcRequest for RemoveRule { const NSID: &'static str = "tools.ozone.safelink.removeRule"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RemoveRuleResponse; } @@ -111,15 +113,16 @@ Path: `/xrpc/tools.ozone.safelink.removeRule`. The request payload type is `Remo pub struct RemoveRuleRequest; impl jacquard_common::xrpc::XrpcEndpoint for RemoveRuleRequest { const PATH: &'static str = "/xrpc/tools.ozone.safelink.removeRule"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RemoveRule; type Response = RemoveRuleResponse; } pub mod remove_rule_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -285,7 +288,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RemoveRule { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RemoveRule { RemoveRule { comment: self._fields.0, created_by: self._fields.1, @@ -294,4 +300,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/safelink/update_rule.rs b/crates/jacquard-api/src/tools_ozone/safelink/update_rule.rs index f35853e59..a7e16baca 100644 --- a/crates/jacquard-api/src/tools_ozone/safelink/update_rule.rs +++ b/crates/jacquard-api/src/tools_ozone/safelink/update_rule.rs @@ -8,24 +8,21 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::safelink::ActionType; -use crate::tools_ozone::safelink::Event; -use crate::tools_ozone::safelink::PatternType; -use crate::tools_ozone::safelink::ReasonType; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::safelink::ActionType; +use crate::tools_ozone::safelink::Event; +use crate::tools_ozone::safelink::PatternType; +use crate::tools_ozone::safelink::ReasonType; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateRule { pub action: ActionType, ///Optional comment about the update @@ -42,11 +39,9 @@ pub struct UpdateRule { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateRuleOutput { #[serde(flatten)] pub value: Event, @@ -54,9 +49,18 @@ pub struct UpdateRuleOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdateRuleError { /// No active rule found for this URL/domain @@ -64,10 +68,7 @@ pub enum UpdateRuleError { RuleNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdateRuleError { @@ -104,8 +105,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateRuleResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateRule { const NSID: &'static str = "tools.ozone.safelink.updateRule"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateRuleResponse; } @@ -115,15 +117,16 @@ Path: `/xrpc/tools.ozone.safelink.updateRule`. The request payload type is `Upda pub struct UpdateRuleRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateRuleRequest { const PATH: &'static str = "/xrpc/tools.ozone.safelink.updateRule"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateRule; type Response = UpdateRuleResponse; } pub mod update_rule_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -368,7 +371,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateRule { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateRule { UpdateRule { action: self._fields.0.unwrap(), comment: self._fields.1, @@ -379,4 +385,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/server.rs b/crates/jacquard-api/src/tools_ozone/server.rs index 9248bb22c..86b2c5073 100644 --- a/crates/jacquard-api/src/tools_ozone/server.rs +++ b/crates/jacquard-api/src/tools_ozone/server.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tools.ozone.server` Lexicon namespace/module. -pub mod get_config; +pub mod get_config; \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/server/get_config.rs b/crates/jacquard-api/src/tools_ozone/server/get_config.rs index 774edc2fa..dd760d156 100644 --- a/crates/jacquard-api/src/tools_ozone/server/get_config.rs +++ b/crates/jacquard-api/src/tools_ozone/server/get_config.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::server::get_config; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::server::get_config; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetConfigOutput { #[serde(skip_serializing_if = "Option::is_none")] pub appview: Option>, @@ -49,11 +46,9 @@ pub struct GetConfigOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ServiceConfig { #[serde(skip_serializing_if = "Option::is_none")] pub url: Option>, @@ -61,11 +56,9 @@ pub struct ServiceConfig { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ViewerConfig { #[serde(skip_serializing_if = "Option::is_none")] pub role: Option>, @@ -73,6 +66,7 @@ pub struct ViewerConfig { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ViewerConfigRole { RoleAdmin, @@ -223,10 +217,10 @@ impl LexiconSchema for ViewerConfig { } fn lexicon_doc_tools_ozone_server_getConfig() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.server.getConfig"), @@ -265,9 +259,7 @@ fn lexicon_doc_tools_ozone_server_getConfig() -> LexiconDoc<'static> { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("role"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -278,4 +270,4 @@ fn lexicon_doc_tools_ozone_server_getConfig() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/set.rs b/crates/jacquard-api/src/tools_ozone/set.rs index a5ebcf4cf..e6797c651 100644 --- a/crates/jacquard-api/src/tools_ozone/set.rs +++ b/crates/jacquard-api/src/tools_ozone/set.rs @@ -13,12 +13,13 @@ pub mod get_values; pub mod query_sets; pub mod upsert_set; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -31,13 +32,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Set { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -46,11 +44,9 @@ pub struct Set { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SetView { pub created_at: Datetime, #[serde(skip_serializing_if = "Option::is_none")] @@ -181,10 +177,10 @@ impl LexiconSchema for SetView { } fn lexicon_doc_tools_ozone_set_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.set.defs"), @@ -221,12 +217,13 @@ fn lexicon_doc_tools_ozone_set_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("setView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("setSize"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("updatedAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("setSize"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("updatedAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -279,7 +276,7 @@ fn lexicon_doc_tools_ozone_set_defs() -> LexiconDoc<'static> { pub mod set_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -354,13 +351,7 @@ pub mod set_view_state { /// Builder for constructing an instance of this type. pub struct SetViewBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option, - ), + _fields: (Option, Option, Option, Option, Option), _type: PhantomData S>, } @@ -438,7 +429,10 @@ where St::Name: set_view_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> SetViewBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> SetViewBuilder, S> { self._fields.2 = Option::Some(value.into()); SetViewBuilder { _state: PhantomData, @@ -516,4 +510,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/set/add_values.rs b/crates/jacquard-api/src/tools_ozone/set/add_values.rs index f3f33f036..f60b8f315 100644 --- a/crates/jacquard-api/src/tools_ozone/set/add_values.rs +++ b/crates/jacquard-api/src/tools_ozone/set/add_values.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddValues { ///Name of the set to add values to pub name: S, @@ -43,8 +40,9 @@ impl jacquard_common::xrpc::XrpcResp for AddValuesResponse { impl jacquard_common::xrpc::XrpcRequest for AddValues { const NSID: &'static str = "tools.ozone.set.addValues"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AddValuesResponse; } @@ -54,15 +52,16 @@ Path: `/xrpc/tools.ozone.set.addValues`. The request payload type is `AddValues< pub struct AddValuesRequest; impl jacquard_common::xrpc::XrpcEndpoint for AddValuesRequest { const PATH: &'static str = "/xrpc/tools.ozone.set.addValues"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AddValues; type Response = AddValuesResponse; } pub mod add_values_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -200,11 +199,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AddValues { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AddValues { AddValues { name: self._fields.0.unwrap(), values: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/set/delete_set.rs b/crates/jacquard-api/src/tools_ozone/set/delete_set.rs index 4b080be66..54a995ee4 100644 --- a/crates/jacquard-api/src/tools_ozone/set/delete_set.rs +++ b/crates/jacquard-api/src/tools_ozone/set/delete_set.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteSet { ///Name of the set to delete pub name: S, @@ -28,19 +25,26 @@ pub struct DeleteSet { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteSetOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteSetError { /// set with the given name does not exist @@ -48,10 +52,7 @@ pub enum DeleteSetError { SetNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteSetError { @@ -88,8 +89,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteSetResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteSet { const NSID: &'static str = "tools.ozone.set.deleteSet"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteSetResponse; } @@ -99,8 +101,9 @@ Path: `/xrpc/tools.ozone.set.deleteSet`. The request payload type is `DeleteSet< pub struct DeleteSetRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteSetRequest { const PATH: &'static str = "/xrpc/tools.ozone.set.deleteSet"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteSet; type Response = DeleteSetResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/set/delete_values.rs b/crates/jacquard-api/src/tools_ozone/set/delete_values.rs index bed215fa5..cca28b68a 100644 --- a/crates/jacquard-api/src/tools_ozone/set/delete_values.rs +++ b/crates/jacquard-api/src/tools_ozone/set/delete_values.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteValues { ///Name of the set to delete values from pub name: S, @@ -30,9 +27,18 @@ pub struct DeleteValues { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteValuesError { /// set with the given name does not exist @@ -40,10 +46,7 @@ pub enum DeleteValuesError { SetNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteValuesError { @@ -80,8 +83,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteValuesResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteValues { const NSID: &'static str = "tools.ozone.set.deleteValues"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteValuesResponse; } @@ -91,15 +95,16 @@ Path: `/xrpc/tools.ozone.set.deleteValues`. The request payload type is `DeleteV pub struct DeleteValuesRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteValuesRequest { const PATH: &'static str = "/xrpc/tools.ozone.set.deleteValues"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteValues; type Response = DeleteValuesResponse; } pub mod delete_values_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -237,11 +242,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteValues { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteValues { DeleteValues { name: self._fields.0.unwrap(), values: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/set/get_values.rs b/crates/jacquard-api/src/tools_ozone/set/get_values.rs index 569fcd164..3f8fe6a1f 100644 --- a/crates/jacquard-api/src/tools_ozone/set/get_values.rs +++ b/crates/jacquard-api/src/tools_ozone/set/get_values.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::set::SetView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::set::SetView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetValues { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -32,11 +29,9 @@ pub struct GetValues { pub name: S, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetValuesOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -46,9 +41,18 @@ pub struct GetValuesOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetValuesError { /// set with the given name does not exist @@ -56,10 +60,7 @@ pub enum GetValuesError { SetNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetValuesError { @@ -117,7 +118,7 @@ fn _default_limit() -> Option { pub mod get_values_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -248,4 +249,4 @@ where name: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/set/query_sets.rs b/crates/jacquard-api/src/tools_ozone/set/query_sets.rs index c06ffd516..f3f0bc72e 100644 --- a/crates/jacquard-api/src/tools_ozone/set/query_sets.rs +++ b/crates/jacquard-api/src/tools_ozone/set/query_sets.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::set::SetView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::set::SetView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QuerySets { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -41,11 +38,9 @@ pub struct QuerySets { pub sort_direction: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct QuerySetsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -96,7 +91,7 @@ fn _default_sort_direction() -> Option { pub mod query_sets_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -235,4 +230,4 @@ where sort_direction: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/set/upsert_set.rs b/crates/jacquard-api/src/tools_ozone/set/upsert_set.rs index cd9db24f0..417d440be 100644 --- a/crates/jacquard-api/src/tools_ozone/set/upsert_set.rs +++ b/crates/jacquard-api/src/tools_ozone/set/upsert_set.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::set::Set; -use crate::tools_ozone::set::SetView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::set::Set; +use crate::tools_ozone::set::SetView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpsertSet { #[serde(flatten)] pub value: Set, @@ -30,11 +27,9 @@ pub struct UpsertSet { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpsertSetOutput { #[serde(flatten)] pub value: SetView, @@ -55,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for UpsertSetResponse { impl jacquard_common::xrpc::XrpcRequest for UpsertSet { const NSID: &'static str = "tools.ozone.set.upsertSet"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpsertSetResponse; } @@ -66,8 +62,9 @@ Path: `/xrpc/tools.ozone.set.upsertSet`. The request payload type is `UpsertSet< pub struct UpsertSetRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpsertSetRequest { const PATH: &'static str = "/xrpc/tools.ozone.set.upsertSet"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpsertSet; type Response = UpsertSetResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/setting.rs b/crates/jacquard-api/src/tools_ozone/setting.rs index eab6c547d..0b24f3090 100644 --- a/crates/jacquard-api/src/tools_ozone/setting.rs +++ b/crates/jacquard-api/src/tools_ozone/setting.rs @@ -10,17 +10,18 @@ pub mod list_options; pub mod remove_options; pub mod upsert_option; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Nsid}; +use jacquard_common::types::string::{Did, Nsid, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; @@ -28,13 +29,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DefsOption { #[serde(skip_serializing_if = "Option::is_none")] pub created_at: Option, @@ -54,6 +52,7 @@ pub struct DefsOption { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum DefsOptionManagerRole { RoleModerator, @@ -134,11 +133,14 @@ where DefsOptionManagerRole::RoleTriage => DefsOptionManagerRole::RoleTriage, DefsOptionManagerRole::RoleAdmin => DefsOptionManagerRole::RoleAdmin, DefsOptionManagerRole::RoleVerifier => DefsOptionManagerRole::RoleVerifier, - DefsOptionManagerRole::Other(v) => DefsOptionManagerRole::Other(v.into_static()), + DefsOptionManagerRole::Other(v) => { + DefsOptionManagerRole::Other(v.into_static()) + } } } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum DefsOptionScope { Instance, @@ -255,7 +257,7 @@ impl LexiconSchema for DefsOption { pub mod defs_option_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -523,12 +525,18 @@ where impl DefsOptionBuilder { /// Set the `managerRole` field (optional) - pub fn manager_role(mut self, value: impl Into>>) -> Self { + pub fn manager_role( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `managerRole` field to an Option value (optional) - pub fn maybe_manager_role(mut self, value: Option>) -> Self { + pub fn maybe_manager_role( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -612,7 +620,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DefsOption { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DefsOption { DefsOption { created_at: self._fields.0, created_by: self._fields.1.unwrap(), @@ -630,10 +641,10 @@ where } fn lexicon_doc_tools_ozone_setting_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.setting.defs"), @@ -642,14 +653,14 @@ fn lexicon_doc_tools_ozone_setting_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("option"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("key"), - SmolStr::new_static("value"), - SmolStr::new_static("did"), - SmolStr::new_static("scope"), - SmolStr::new_static("createdBy"), - SmolStr::new_static("lastUpdatedBy"), - ]), + required: Some( + vec![ + SmolStr::new_static("key"), SmolStr::new_static("value"), + SmolStr::new_static("did"), SmolStr::new_static("scope"), + SmolStr::new_static("createdBy"), + SmolStr::new_static("lastUpdatedBy") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -698,15 +709,11 @@ fn lexicon_doc_tools_ozone_setting_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("managerRole"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("scope"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), @@ -730,4 +737,4 @@ fn lexicon_doc_tools_ozone_setting_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/setting/list_options.rs b/crates/jacquard-api/src/tools_ozone/setting/list_options.rs index 11693ff6c..d4b45b3da 100644 --- a/crates/jacquard-api/src/tools_ozone/setting/list_options.rs +++ b/crates/jacquard-api/src/tools_ozone/setting/list_options.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::setting::DefsOption; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Nsid; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::setting::DefsOption; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListOptions { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -40,11 +37,9 @@ pub struct ListOptions { pub scope: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListOptionsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -91,7 +86,7 @@ fn _default_scope() -> Option { pub mod list_options_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -111,13 +106,7 @@ pub mod list_options_state { /// Builder for constructing an instance of this type. pub struct ListOptionsBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option>>, - Option, - Option, - Option, - ), + _fields: (Option, Option>>, Option, Option, Option), _type: PhantomData S>, } @@ -236,4 +225,4 @@ where scope: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/setting/remove_options.rs b/crates/jacquard-api/src/tools_ozone/setting/remove_options.rs index 8cf52fa4c..65ae39160 100644 --- a/crates/jacquard-api/src/tools_ozone/setting/remove_options.rs +++ b/crates/jacquard-api/src/tools_ozone/setting/remove_options.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Nsid; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveOptions { pub keys: Vec>, pub scope: RemoveOptionsScope, @@ -29,6 +26,7 @@ pub struct RemoveOptions { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum RemoveOptionsScope { Instance, @@ -106,11 +104,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RemoveOptionsOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, @@ -129,8 +125,9 @@ impl jacquard_common::xrpc::XrpcResp for RemoveOptionsResponse { impl jacquard_common::xrpc::XrpcRequest for RemoveOptions { const NSID: &'static str = "tools.ozone.setting.removeOptions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RemoveOptionsResponse; } @@ -140,15 +137,16 @@ Path: `/xrpc/tools.ozone.setting.removeOptions`. The request payload type is `Re pub struct RemoveOptionsRequest; impl jacquard_common::xrpc::XrpcEndpoint for RemoveOptionsRequest { const PATH: &'static str = "/xrpc/tools.ozone.setting.removeOptions"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RemoveOptions; type Response = RemoveOptionsResponse; } pub mod remove_options_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -191,7 +189,10 @@ pub mod remove_options_state { } /// Builder for constructing an instance of this type. -pub struct RemoveOptionsBuilder { +pub struct RemoveOptionsBuilder< + St: remove_options_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>, Option>), _type: PhantomData S>, @@ -286,11 +287,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RemoveOptions { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RemoveOptions { RemoveOptions { keys: self._fields.0.unwrap(), scope: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/setting/upsert_option.rs b/crates/jacquard-api/src/tools_ozone/setting/upsert_option.rs index 5d81ca369..319685aee 100644 --- a/crates/jacquard-api/src/tools_ozone/setting/upsert_option.rs +++ b/crates/jacquard-api/src/tools_ozone/setting/upsert_option.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::setting::DefsOption; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Nsid; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::setting::DefsOption; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpsertOption { #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -35,6 +32,7 @@ pub struct UpsertOption { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UpsertOptionManagerRole { RoleModerator, @@ -111,15 +109,22 @@ where type Output = UpsertOptionManagerRole; fn into_static(self) -> Self::Output { match self { - UpsertOptionManagerRole::RoleModerator => UpsertOptionManagerRole::RoleModerator, + UpsertOptionManagerRole::RoleModerator => { + UpsertOptionManagerRole::RoleModerator + } UpsertOptionManagerRole::RoleTriage => UpsertOptionManagerRole::RoleTriage, - UpsertOptionManagerRole::RoleVerifier => UpsertOptionManagerRole::RoleVerifier, + UpsertOptionManagerRole::RoleVerifier => { + UpsertOptionManagerRole::RoleVerifier + } UpsertOptionManagerRole::RoleAdmin => UpsertOptionManagerRole::RoleAdmin, - UpsertOptionManagerRole::Other(v) => UpsertOptionManagerRole::Other(v.into_static()), + UpsertOptionManagerRole::Other(v) => { + UpsertOptionManagerRole::Other(v.into_static()) + } } } } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UpsertOptionScope { Instance, @@ -197,11 +202,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpsertOptionOutput { pub option: DefsOption, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -221,8 +224,9 @@ impl jacquard_common::xrpc::XrpcResp for UpsertOptionResponse { impl jacquard_common::xrpc::XrpcRequest for UpsertOption { const NSID: &'static str = "tools.ozone.setting.upsertOption"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpsertOptionResponse; } @@ -232,15 +236,16 @@ Path: `/xrpc/tools.ozone.setting.upsertOption`. The request payload type is `Ups pub struct UpsertOptionRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpsertOptionRequest { const PATH: &'static str = "/xrpc/tools.ozone.setting.upsertOption"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpsertOption; type Response = UpsertOptionResponse; } pub mod upsert_option_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -379,12 +384,18 @@ where impl UpsertOptionBuilder { /// Set the `managerRole` field (optional) - pub fn manager_role(mut self, value: impl Into>>) -> Self { + pub fn manager_role( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } /// Set the `managerRole` field to an Option value (optional) - pub fn maybe_manager_role(mut self, value: Option>) -> Self { + pub fn maybe_manager_role( + mut self, + value: Option>, + ) -> Self { self._fields.2 = value; self } @@ -447,7 +458,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpsertOption { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpsertOption { UpsertOption { description: self._fields.0, key: self._fields.1.unwrap(), @@ -457,4 +471,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/signature.rs b/crates/jacquard-api/src/tools_ozone/signature.rs index e76339f94..d524bf397 100644 --- a/crates/jacquard-api/src/tools_ozone/signature.rs +++ b/crates/jacquard-api/src/tools_ozone/signature.rs @@ -10,9 +10,10 @@ pub mod find_correlation; pub mod find_related_accounts; pub mod search_accounts; + #[allow(unused_imports)] use alloc::collections::BTreeMap; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,13 +25,10 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SigDetail { pub property: S, pub value: S, @@ -54,10 +52,10 @@ impl LexiconSchema for SigDetail { } fn lexicon_doc_tools_ozone_signature_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.signature.defs"), @@ -66,24 +64,21 @@ fn lexicon_doc_tools_ozone_signature_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("sigDetail"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("property"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![ + SmolStr::new_static("property"), SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("property"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("value"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map }, @@ -94,4 +89,4 @@ fn lexicon_doc_tools_ozone_signature_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/signature/find_correlation.rs b/crates/jacquard-api/src/tools_ozone/signature/find_correlation.rs index e19c10359..35b170499 100644 --- a/crates/jacquard-api/src/tools_ozone/signature/find_correlation.rs +++ b/crates/jacquard-api/src/tools_ozone/signature/find_correlation.rs @@ -8,30 +8,25 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::signature::SigDetail; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::signature::SigDetail; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FindCorrelation { pub dids: Vec>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FindCorrelationOutput { pub details: Vec>, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] @@ -68,7 +63,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for FindCorrelationRequest { pub mod find_correlation_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -99,7 +94,10 @@ pub mod find_correlation_state { } /// Builder for constructing an instance of this type. -pub struct FindCorrelationBuilder { +pub struct FindCorrelationBuilder< + St: find_correlation_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -171,4 +169,4 @@ where dids: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/signature/find_related_accounts.rs b/crates/jacquard-api/src/tools_ozone/signature/find_related_accounts.rs index 07c57662a..37fd23f2f 100644 --- a/crates/jacquard-api/src/tools_ozone/signature/find_related_accounts.rs +++ b/crates/jacquard-api/src/tools_ozone/signature/find_related_accounts.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,18 +21,15 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::com_atproto::admin::AccountView; use crate::tools_ozone::signature::SigDetail; use crate::tools_ozone::signature::find_related_accounts; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FindRelatedAccounts { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -43,11 +40,9 @@ pub struct FindRelatedAccounts { pub limit: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct FindRelatedAccountsOutput { pub accounts: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -56,11 +51,9 @@ pub struct FindRelatedAccountsOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RelatedAccount { pub account: AccountView, #[serde(skip_serializing_if = "Option::is_none")] @@ -118,7 +111,7 @@ fn _default_limit() -> Option { pub mod find_related_accounts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -160,14 +153,20 @@ pub struct FindRelatedAccountsBuilder< impl FindRelatedAccounts { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> FindRelatedAccountsBuilder { + pub fn new() -> FindRelatedAccountsBuilder< + find_related_accounts_state::Empty, + DefaultStr, + > { FindRelatedAccountsBuilder::new() } } impl FindRelatedAccounts { /// Create a new builder for this type - pub fn builder() -> FindRelatedAccountsBuilder { + pub fn builder() -> FindRelatedAccountsBuilder< + find_related_accounts_state::Empty, + S, + > { FindRelatedAccountsBuilder::builder() } } @@ -194,7 +193,10 @@ impl FindRelatedAccountsBuilder FindRelatedAccountsBuilder { +impl< + St: find_related_accounts_state::State, + S: BosStr, +> FindRelatedAccountsBuilder { /// Set the `cursor` field (optional) pub fn cursor(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -226,7 +228,10 @@ where } } -impl FindRelatedAccountsBuilder { +impl< + St: find_related_accounts_state::State, + S: BosStr, +> FindRelatedAccountsBuilder { /// Set the `limit` field (optional) pub fn limit(mut self, value: impl Into>) -> Self { self._fields.2 = value.into(); @@ -256,7 +261,7 @@ where pub mod related_account_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -287,7 +292,10 @@ pub mod related_account_state { } /// Builder for constructing an instance of this type. -pub struct RelatedAccountBuilder { +pub struct RelatedAccountBuilder< + St: related_account_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>>), _type: PhantomData S>, @@ -375,7 +383,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RelatedAccount { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RelatedAccount { RelatedAccount { account: self._fields.0.unwrap(), similarities: self._fields.1, @@ -385,10 +396,10 @@ where } fn lexicon_doc_tools_ozone_signature_findRelatedAccounts() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.signature.findRelatedAccounts"), @@ -397,34 +408,36 @@ fn lexicon_doc_tools_ozone_signature_findRelatedAccounts() -> LexiconDoc<'static map.insert( SmolStr::new_static("main"), LexUserType::XrpcQuery(LexXrpcQuery { - parameters: Some(LexXrpcQueryParameter::Params(LexXrpcParameters { - required: Some(vec![SmolStr::new_static("did")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("cursor"), - LexXrpcParametersProperty::String(LexString { - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("did"), - LexXrpcParametersProperty::String(LexString { - format: Some(LexStringFormat::Did), - ..Default::default() - }), - ); - map.insert( - SmolStr::new_static("limit"), - LexXrpcParametersProperty::Integer(LexInteger { - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + parameters: Some( + LexXrpcQueryParameter::Params(LexXrpcParameters { + required: Some(vec![SmolStr::new_static("did")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("cursor"), + LexXrpcParametersProperty::String(LexString { + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("did"), + LexXrpcParametersProperty::String(LexString { + format: Some(LexStringFormat::Did), + ..Default::default() + }), + ); + map.insert( + SmolStr::new_static("limit"), + LexXrpcParametersProperty::Integer(LexInteger { + ..Default::default() + }), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ); @@ -438,7 +451,9 @@ fn lexicon_doc_tools_ozone_signature_findRelatedAccounts() -> LexiconDoc<'static map.insert( SmolStr::new_static("account"), LexObjectProperty::Ref(LexRef { - r#ref: CowStr::new_static("com.atproto.admin.defs#accountView"), + r#ref: CowStr::new_static( + "com.atproto.admin.defs#accountView", + ), ..Default::default() }), ); @@ -463,4 +478,4 @@ fn lexicon_doc_tools_ozone_signature_findRelatedAccounts() -> LexiconDoc<'static }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/signature/search_accounts.rs b/crates/jacquard-api/src/tools_ozone/signature/search_accounts.rs index 0083e1785..76d78c3ea 100644 --- a/crates/jacquard-api/src/tools_ozone/signature/search_accounts.rs +++ b/crates/jacquard-api/src/tools_ozone/signature/search_accounts.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::com_atproto::admin::AccountView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::admin::AccountView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchAccounts { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -32,11 +29,9 @@ pub struct SearchAccounts { pub values: Vec, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SearchAccountsOutput { pub accounts: Vec>, #[serde(skip_serializing_if = "Option::is_none")] @@ -79,7 +74,7 @@ fn _default_limit() -> Option { pub mod search_accounts_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -110,7 +105,10 @@ pub mod search_accounts_state { } /// Builder for constructing an instance of this type. -pub struct SearchAccountsBuilder { +pub struct SearchAccountsBuilder< + St: search_accounts_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option>), _type: PhantomData S>, @@ -210,4 +208,4 @@ where values: self._fields.2.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/team.rs b/crates/jacquard-api/src/tools_ozone/team.rs index f5ac772bf..7e3dccf8d 100644 --- a/crates/jacquard-api/src/tools_ozone/team.rs +++ b/crates/jacquard-api/src/tools_ozone/team.rs @@ -11,32 +11,30 @@ pub mod delete_member; pub mod list_members; pub mod update_member; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::actor::ProfileViewDetailed; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::actor::ProfileViewDetailed; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Member { #[serde(skip_serializing_if = "Option::is_none")] pub created_at: Option, @@ -54,6 +52,7 @@ pub struct Member { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum MemberRole { RoleAdmin, @@ -196,7 +195,7 @@ impl LexiconSchema for Member { pub mod member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -308,7 +307,10 @@ where St::Did: member_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> MemberBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> MemberBuilder, S> { self._fields.1 = Option::Some(value.into()); MemberBuilder { _state: PhantomData, @@ -424,10 +426,10 @@ where } fn lexicon_doc_tools_ozone_team_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.team.defs"), @@ -436,10 +438,9 @@ fn lexicon_doc_tools_ozone_team_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("member"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("did"), - SmolStr::new_static("role"), - ]), + required: Some( + vec![SmolStr::new_static("did"), SmolStr::new_static("role")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -465,9 +466,7 @@ fn lexicon_doc_tools_ozone_team_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("lastUpdatedBy"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("profile"), @@ -480,9 +479,7 @@ fn lexicon_doc_tools_ozone_team_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("role"), - LexObjectProperty::String(LexString { - ..Default::default() - }), + LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("updatedAt"), @@ -498,30 +495,22 @@ fn lexicon_doc_tools_ozone_team_defs() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("roleAdmin"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("roleModerator"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("roleTriage"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map.insert( SmolStr::new_static("roleVerifier"), - LexUserType::Token(LexToken { - ..Default::default() - }), + LexUserType::Token(LexToken { ..Default::default() }), ); map }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/team/add_member.rs b/crates/jacquard-api/src/tools_ozone/team/add_member.rs index 7108f0299..792e688bb 100644 --- a/crates/jacquard-api/src/tools_ozone/team/add_member.rs +++ b/crates/jacquard-api/src/tools_ozone/team/add_member.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::team::Member; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::team::Member; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddMember { pub did: Did, pub role: AddMemberRole, @@ -30,6 +27,7 @@ pub struct AddMember { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum AddMemberRole { RoleAdmin, @@ -115,11 +113,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AddMemberOutput { #[serde(flatten)] pub value: Member, @@ -127,9 +123,18 @@ pub struct AddMemberOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum AddMemberError { /// Member already exists in the team. @@ -137,10 +142,7 @@ pub enum AddMemberError { MemberAlreadyExists(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for AddMemberError { @@ -177,8 +179,9 @@ impl jacquard_common::xrpc::XrpcResp for AddMemberResponse { impl jacquard_common::xrpc::XrpcRequest for AddMember { const NSID: &'static str = "tools.ozone.team.addMember"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = AddMemberResponse; } @@ -188,15 +191,16 @@ Path: `/xrpc/tools.ozone.team.addMember`. The request payload type is `AddMember pub struct AddMemberRequest; impl jacquard_common::xrpc::XrpcEndpoint for AddMemberRequest { const PATH: &'static str = "/xrpc/tools.ozone.team.addMember"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = AddMember; type Response = AddMemberResponse; } pub mod add_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -334,11 +338,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AddMember { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AddMember { AddMember { did: self._fields.0.unwrap(), role: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/team/delete_member.rs b/crates/jacquard-api/src/tools_ozone/team/delete_member.rs index e06802903..ce4322239 100644 --- a/crates/jacquard-api/src/tools_ozone/team/delete_member.rs +++ b/crates/jacquard-api/src/tools_ozone/team/delete_member.rs @@ -10,27 +10,33 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteMember { pub did: Did, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum DeleteMemberError { /// The member being deleted does not exist @@ -41,10 +47,7 @@ pub enum DeleteMemberError { CannotDeleteSelf(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for DeleteMemberError { @@ -88,8 +91,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteMemberResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteMember { const NSID: &'static str = "tools.ozone.team.deleteMember"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteMemberResponse; } @@ -99,15 +103,16 @@ Path: `/xrpc/tools.ozone.team.deleteMember`. The request payload type is `Delete pub struct DeleteMemberRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteMemberRequest { const PATH: &'static str = "/xrpc/tools.ozone.team.deleteMember"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteMember; type Response = DeleteMemberResponse; } pub mod delete_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -212,10 +217,13 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeleteMember { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeleteMember { DeleteMember { did: self._fields.0.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/team/list_members.rs b/crates/jacquard-api/src/tools_ozone/team/list_members.rs index 3f24a07b0..3c57cc3e2 100644 --- a/crates/jacquard-api/src/tools_ozone/team/list_members.rs +++ b/crates/jacquard-api/src/tools_ozone/team/list_members.rs @@ -8,20 +8,17 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::team::Member; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::team::Member; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListMembers { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -37,11 +34,9 @@ pub struct ListMembers { pub roles: Option>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListMembersOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -84,7 +79,7 @@ fn _default_limit() -> Option { pub mod list_members_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -104,13 +99,7 @@ pub mod list_members_state { /// Builder for constructing an instance of this type. pub struct ListMembersBuilder { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option, - Option, - Option>, - ), + _fields: (Option, Option, Option, Option, Option>), _type: PhantomData S>, } @@ -229,4 +218,4 @@ where roles: self._fields.4, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/team/update_member.rs b/crates/jacquard-api/src/tools_ozone/team/update_member.rs index 6a80aba94..c09ebc319 100644 --- a/crates/jacquard-api/src/tools_ozone/team/update_member.rs +++ b/crates/jacquard-api/src/tools_ozone/team/update_member.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::team::Member; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::team::Member; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateMember { pub did: Did, #[serde(skip_serializing_if = "Option::is_none")] @@ -33,6 +30,7 @@ pub struct UpdateMember { pub extra_data: Option>>, } + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum UpdateMemberRole { RoleAdmin, @@ -118,11 +116,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct UpdateMemberOutput { #[serde(flatten)] pub value: Member, @@ -130,9 +126,18 @@ pub struct UpdateMemberOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum UpdateMemberError { /// The member being updated does not exist in the team @@ -140,10 +145,7 @@ pub enum UpdateMemberError { MemberNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for UpdateMemberError { @@ -180,8 +182,9 @@ impl jacquard_common::xrpc::XrpcResp for UpdateMemberResponse { impl jacquard_common::xrpc::XrpcRequest for UpdateMember { const NSID: &'static str = "tools.ozone.team.updateMember"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = UpdateMemberResponse; } @@ -191,15 +194,16 @@ Path: `/xrpc/tools.ozone.team.updateMember`. The request payload type is `Update pub struct UpdateMemberRequest; impl jacquard_common::xrpc::XrpcEndpoint for UpdateMemberRequest { const PATH: &'static str = "/xrpc/tools.ozone.team.updateMember"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = UpdateMember; type Response = UpdateMemberResponse; } pub mod update_member_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -332,7 +336,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> UpdateMember { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> UpdateMember { UpdateMember { did: self._fields.0.unwrap(), disabled: self._fields.1, @@ -340,4 +347,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/verification.rs b/crates/jacquard-api/src/tools_ozone/verification.rs index b5a785e68..67afab36f 100644 --- a/crates/jacquard-api/src/tools_ozone/verification.rs +++ b/crates/jacquard-api/src/tools_ozone/verification.rs @@ -10,34 +10,32 @@ pub mod grant_verifications; pub mod list_verifications; pub mod revoke_verifications; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Datetime, Did, Handle}; +use jacquard_common::types::string::{Did, Handle, AtUri, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::moderation::RepoViewDetail; -use crate::tools_ozone::moderation::RepoViewNotFound; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::moderation::RepoViewDetail; +use crate::tools_ozone::moderation::RepoViewNotFound; /// Verification data for the associated subject. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerificationView { ///Timestamp when the verification was created. pub created_at: Datetime, @@ -72,6 +70,7 @@ pub struct VerificationView { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -82,6 +81,7 @@ pub enum VerificationViewIssuerRepo { RepoViewNotFound(Box>), } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -109,7 +109,7 @@ impl LexiconSchema for VerificationView { pub mod verification_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -220,7 +220,10 @@ pub mod verification_view_state { } /// Builder for constructing an instance of this type. -pub struct VerificationViewBuilder { +pub struct VerificationViewBuilder< + St: verification_view_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -260,7 +263,19 @@ impl VerificationViewBuilder { VerificationViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -273,7 +288,19 @@ impl VerificationViewBuilder { VerificationViewBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -371,12 +398,18 @@ impl VerificationViewBuilder VerificationViewBuilder { /// Set the `issuerRepo` field (optional) - pub fn issuer_repo(mut self, value: impl Into>>) -> Self { + pub fn issuer_repo( + mut self, + value: impl Into>>, + ) -> Self { self._fields.5 = value.into(); self } /// Set the `issuerRepo` field to an Option value (optional) - pub fn maybe_issuer_repo(mut self, value: Option>) -> Self { + pub fn maybe_issuer_repo( + mut self, + value: Option>, + ) -> Self { self._fields.5 = value; self } @@ -463,7 +496,10 @@ impl VerificationViewBuilder>) -> Self { + pub fn maybe_subject_repo( + mut self, + value: Option>, + ) -> Self { self._fields.11 = value; self } @@ -518,7 +554,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> VerificationView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> VerificationView { VerificationView { created_at: self._fields.0.unwrap(), display_name: self._fields.1.unwrap(), @@ -539,10 +578,10 @@ where } fn lexicon_doc_tools_ozone_verification_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.verification.defs"), @@ -711,4 +750,4 @@ fn lexicon_doc_tools_ozone_verification_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/verification/grant_verifications.rs b/crates/jacquard-api/src/tools_ozone/verification/grant_verifications.rs index 8f3d9715d..7cc369024 100644 --- a/crates/jacquard-api/src/tools_ozone/verification/grant_verifications.rs +++ b/crates/jacquard-api/src/tools_ozone/verification/grant_verifications.rs @@ -10,29 +10,26 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did, Handle}; +use jacquard_common::types::string::{Did, Handle, Datetime}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::verification::VerificationView; -use crate::tools_ozone::verification::grant_verifications; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::verification::VerificationView; +use crate::tools_ozone::verification::grant_verifications; /// Error object for failed verifications. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GrantError { ///Error message describing the reason for failure. pub error: S, @@ -42,11 +39,9 @@ pub struct GrantError { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GrantVerifications { ///Array of verification requests to process pub verifications: Vec>, @@ -54,11 +49,9 @@ pub struct GrantVerifications { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GrantVerificationsOutput { pub failed_verifications: Vec>, pub verifications: Vec>, @@ -66,11 +59,9 @@ pub struct GrantVerificationsOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct VerificationInput { ///Timestamp for verification record. Defaults to current time when not specified. #[serde(skip_serializing_if = "Option::is_none")] @@ -113,8 +104,9 @@ impl jacquard_common::xrpc::XrpcResp for GrantVerificationsResponse { impl jacquard_common::xrpc::XrpcRequest for GrantVerifications { const NSID: &'static str = "tools.ozone.verification.grantVerifications"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = GrantVerificationsResponse; } @@ -124,8 +116,9 @@ Path: `/xrpc/tools.ozone.verification.grantVerifications`. The request payload t pub struct GrantVerificationsRequest; impl jacquard_common::xrpc::XrpcEndpoint for GrantVerificationsRequest { const PATH: &'static str = "/xrpc/tools.ozone.verification.grantVerifications"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = GrantVerifications; type Response = GrantVerificationsResponse; } @@ -147,7 +140,7 @@ impl LexiconSchema for VerificationInput { pub mod grant_error_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -285,7 +278,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GrantError { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GrantError { GrantError { error: self._fields.0.unwrap(), subject: self._fields.1.unwrap(), @@ -295,10 +291,10 @@ where } fn lexicon_doc_tools_ozone_verification_grantVerifications() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.verification.grantVerifications"), @@ -307,29 +303,34 @@ fn lexicon_doc_tools_ozone_verification_grantVerifications() -> LexiconDoc<'stat map.insert( SmolStr::new_static("grantError"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Error object for failed verifications.")), - required: Some(vec![ - SmolStr::new_static("error"), - SmolStr::new_static("subject"), - ]), + description: Some( + CowStr::new_static("Error object for failed verifications."), + ), + required: Some( + vec![ + SmolStr::new_static("error"), SmolStr::new_static("subject") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("error"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Error message describing the reason for failure.", - )), + description: Some( + CowStr::new_static( + "Error message describing the reason for failure.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("subject"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The did of the subject being verified", - )), + description: Some( + CowStr::new_static("The did of the subject being verified"), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -344,29 +345,33 @@ fn lexicon_doc_tools_ozone_verification_grantVerifications() -> LexiconDoc<'stat LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![SmolStr::new_static("verifications")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("verifications"), - LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of verification requests to process", - )), - items: LexArrayItem::Ref(LexRef { - r#ref: CowStr::new_static("#verificationInput"), + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some(vec![SmolStr::new_static("verifications")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("verifications"), + LexObjectProperty::Array(LexArray { + description: Some( + CowStr::new_static( + "Array of verification requests to process", + ), + ), + items: LexArrayItem::Ref(LexRef { + r#ref: CowStr::new_static("#verificationInput"), + ..Default::default() + }), + max_length: Some(100usize), ..Default::default() }), - max_length: Some(100usize), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -443,7 +448,7 @@ fn lexicon_doc_tools_ozone_verification_grantVerifications() -> LexiconDoc<'stat pub mod grant_verifications_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -474,7 +479,10 @@ pub mod grant_verifications_state { } /// Builder for constructing an instance of this type. -pub struct GrantVerificationsBuilder { +pub struct GrantVerificationsBuilder< + St: grant_verifications_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -482,7 +490,10 @@ pub struct GrantVerificationsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> GrantVerificationsBuilder { + pub fn new() -> GrantVerificationsBuilder< + grant_verifications_state::Empty, + DefaultStr, + > { GrantVerificationsBuilder::new() } } @@ -548,7 +559,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> GrantVerifications { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> GrantVerifications { GrantVerifications { verifications: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -558,7 +572,7 @@ where pub mod verification_input_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -615,20 +629,21 @@ pub mod verification_input_state { } /// Builder for constructing an instance of this type. -pub struct VerificationInputBuilder { +pub struct VerificationInputBuilder< + St: verification_input_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, - _fields: ( - Option, - Option, - Option>, - Option>, - ), + _fields: (Option, Option, Option>, Option>), _type: PhantomData S>, } impl VerificationInput { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> VerificationInputBuilder { + pub fn new() -> VerificationInputBuilder< + verification_input_state::Empty, + DefaultStr, + > { VerificationInputBuilder::new() } } @@ -750,7 +765,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> VerificationInput { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> VerificationInput { VerificationInput { created_at: self._fields.0, display_name: self._fields.1.unwrap(), @@ -759,4 +777,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/verification/list_verifications.rs b/crates/jacquard-api/src/tools_ozone/verification/list_verifications.rs index 95a9b4a3c..c288aefb8 100644 --- a/crates/jacquard-api/src/tools_ozone/verification/list_verifications.rs +++ b/crates/jacquard-api/src/tools_ozone/verification/list_verifications.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::tools_ozone::verification::VerificationView; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::verification::VerificationView; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListVerifications { #[serde(skip_serializing_if = "Option::is_none")] pub created_after: Option, @@ -46,11 +43,9 @@ pub struct ListVerifications { pub subjects: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ListVerificationsOutput { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -97,7 +92,7 @@ fn _default_sort_direction() -> Option { pub mod list_verifications_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -115,7 +110,10 @@ pub mod list_verifications_state { } /// Builder for constructing an instance of this type. -pub struct ListVerificationsBuilder { +pub struct ListVerificationsBuilder< + St: list_verifications_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: ( Option, @@ -132,7 +130,10 @@ pub struct ListVerificationsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ListVerificationsBuilder { + pub fn new() -> ListVerificationsBuilder< + list_verifications_state::Empty, + DefaultStr, + > { ListVerificationsBuilder::new() } } @@ -287,4 +288,4 @@ where subjects: self._fields.7, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_ozone/verification/revoke_verifications.rs b/crates/jacquard-api/src/tools_ozone/verification/revoke_verifications.rs index 38515430d..6f17e8512 100644 --- a/crates/jacquard-api/src/tools_ozone/verification/revoke_verifications.rs +++ b/crates/jacquard-api/src/tools_ozone/verification/revoke_verifications.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_ozone::verification::revoke_verifications; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_ozone::verification::revoke_verifications; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RevokeVerifications { ///Reason for revoking the verification. This is optional and can be omitted if not needed. #[serde(skip_serializing_if = "Option::is_none")] @@ -41,11 +38,9 @@ pub struct RevokeVerifications { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RevokeVerificationsOutput { ///List of verification uris that couldn't be revoked, including failure reasons pub failed_revocations: Vec>, @@ -58,10 +53,7 @@ pub struct RevokeVerificationsOutput { /// Error object for failed revocations #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RevokeError { ///Description of the error that occurred during revocation. pub error: S, @@ -84,8 +76,9 @@ impl jacquard_common::xrpc::XrpcResp for RevokeVerificationsResponse { impl jacquard_common::xrpc::XrpcRequest for RevokeVerifications { const NSID: &'static str = "tools.ozone.verification.revokeVerifications"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = RevokeVerificationsResponse; } @@ -95,8 +88,9 @@ Path: `/xrpc/tools.ozone.verification.revokeVerifications`. The request payload pub struct RevokeVerificationsRequest; impl jacquard_common::xrpc::XrpcEndpoint for RevokeVerificationsRequest { const PATH: &'static str = "/xrpc/tools.ozone.verification.revokeVerifications"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = RevokeVerifications; type Response = RevokeVerificationsResponse; } @@ -118,7 +112,7 @@ impl LexiconSchema for RevokeError { pub mod revoke_verifications_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -149,8 +143,10 @@ pub mod revoke_verifications_state { } /// Builder for constructing an instance of this type. -pub struct RevokeVerificationsBuilder -{ +pub struct RevokeVerificationsBuilder< + St: revoke_verifications_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>>), _type: PhantomData S>, @@ -158,14 +154,20 @@ pub struct RevokeVerificationsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> RevokeVerificationsBuilder { + pub fn new() -> RevokeVerificationsBuilder< + revoke_verifications_state::Empty, + DefaultStr, + > { RevokeVerificationsBuilder::new() } } impl RevokeVerifications { /// Create a new builder for this type - pub fn builder() -> RevokeVerificationsBuilder { + pub fn builder() -> RevokeVerificationsBuilder< + revoke_verifications_state::Empty, + S, + > { RevokeVerificationsBuilder::builder() } } @@ -192,7 +194,10 @@ impl RevokeVerificationsBuilder } } -impl RevokeVerificationsBuilder { +impl< + St: revoke_verifications_state::State, + S: BosStr, +> RevokeVerificationsBuilder { /// Set the `revokeReason` field (optional) pub fn revoke_reason(mut self, value: impl Into>) -> Self { self._fields.0 = value.into(); @@ -238,7 +243,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RevokeVerifications { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RevokeVerifications { RevokeVerifications { revoke_reason: self._fields.0, uris: self._fields.1.unwrap(), @@ -249,7 +257,7 @@ where pub mod revoke_error_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -387,7 +395,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RevokeError { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RevokeError { RevokeError { error: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -397,10 +408,10 @@ where } fn lexicon_doc_tools_ozone_verification_revokeVerifications() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.ozone.verification.revokeVerifications"), @@ -463,29 +474,34 @@ fn lexicon_doc_tools_ozone_verification_revokeVerifications() -> LexiconDoc<'sta map.insert( SmolStr::new_static("revokeError"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static("Error object for failed revocations")), - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("error"), - ]), + description: Some( + CowStr::new_static("Error object for failed revocations"), + ), + required: Some( + vec![SmolStr::new_static("uri"), SmolStr::new_static("error")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("error"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Description of the error that occurred during revocation.", - )), + description: Some( + CowStr::new_static( + "Description of the error that occurred during revocation.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("uri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The AT-URI of the verification record that failed to revoke.", - )), + description: Some( + CowStr::new_static( + "The AT-URI of the verification record that failed to revoke.", + ), + ), format: Some(LexStringFormat::AtUri), ..Default::default() }), @@ -499,4 +515,4 @@ fn lexicon_doc_tools_ozone_verification_revokeVerifications() -> LexiconDoc<'sta }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_smokesignal.rs b/crates/jacquard-api/src/tools_smokesignal.rs index 52a860134..0bc704e05 100644 --- a/crates/jacquard-api/src/tools_smokesignal.rs +++ b/crates/jacquard-api/src/tools_smokesignal.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tools.smokesignal` Lexicon namespace/module. -pub mod blahg; +pub mod blahg; \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_smokesignal/blahg.rs b/crates/jacquard-api/src/tools_smokesignal/blahg.rs index 510b03b60..2558f80d9 100644 --- a/crates/jacquard-api/src/tools_smokesignal/blahg.rs +++ b/crates/jacquard-api/src/tools_smokesignal/blahg.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tools.smokesignal.blahg` Lexicon namespace/module. -pub mod content; +pub mod content; \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_smokesignal/blahg/content.rs b/crates/jacquard-api/src/tools_smokesignal/blahg/content.rs index 89f230b88..17fed8c2b 100644 --- a/crates/jacquard-api/src/tools_smokesignal/blahg/content.rs +++ b/crates/jacquard-api/src/tools_smokesignal/blahg/content.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `tools.smokesignal.blahg.content` Lexicon namespace/module. -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/tools_smokesignal/blahg/content/post.rs b/crates/jacquard-api/src/tools_smokesignal/blahg/content/post.rs index eb5a89bb8..9ba91c7c6 100644 --- a/crates/jacquard-api/src/tools_smokesignal/blahg/content/post.rs +++ b/crates/jacquard-api/src/tools_smokesignal/blahg/content/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,16 +25,13 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::tools_smokesignal::blahg::content::post; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::tools_smokesignal::blahg::content::post; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Attachment { ///Alt text description of the content, for accessibility. #[serde(skip_serializing_if = "Option::is_none")] @@ -116,16 +113,19 @@ impl LexiconSchema for Attachment { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["image/*"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("content"), @@ -193,23 +193,25 @@ impl LexiconSchema for Post { { let mime = value.blob().mime_type.as_str(); let accepted: &[&str] = &["text/plain", "text/html", "text/markdown"]; - let matched = accepted.iter().any(|pattern| { - if *pattern == "*/*" { - true - } else if pattern.ends_with("/*") { - let prefix = &pattern[..pattern.len() - 2]; - mime.starts_with(prefix) && mime.as_bytes().get(prefix.len()) == Some(&b'/') - } else { - mime == *pattern - } - }); + let matched = accepted + .iter() + .any(|pattern| { + if *pattern == "*/*" { + true + } else if pattern.ends_with("/*") { + let prefix = &pattern[..pattern.len() - 2]; + mime.starts_with(prefix) + && mime.as_bytes().get(prefix.len()) == Some(&b'/') + } else { + mime == *pattern + } + }); if !matched { return Err(ConstraintError::BlobMimeTypeNotAccepted { path: ValidationPath::from_field("content"), accepted: vec![ - "text/plain".to_string(), - "text/html".to_string(), - "text/markdown".to_string(), + "text/plain".to_string(), "text/html".to_string(), + "text/markdown".to_string() ], actual: mime.to_string(), }); @@ -254,7 +256,7 @@ impl LexiconSchema for Post { pub mod attachment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -373,7 +375,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Attachment { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Attachment { Attachment { alt: self._fields.0, content: self._fields.1.unwrap(), @@ -383,10 +388,10 @@ where } fn lexicon_doc_tools_smokesignal_blahg_content_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("tools.smokesignal.blahg.content.post"), @@ -402,17 +407,17 @@ fn lexicon_doc_tools_smokesignal_blahg_content_post() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("alt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Alt text description of the content, for accessibility.", - )), + description: Some( + CowStr::new_static( + "Alt text description of the content, for accessibility.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("content"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map }, @@ -440,16 +445,16 @@ fn lexicon_doc_tools_smokesignal_blahg_content_post() -> LexiconDoc<'static> { ); map.insert( SmolStr::new_static("content"), - LexObjectProperty::Blob(LexBlob { - ..Default::default() - }), + LexObjectProperty::Blob(LexBlob { ..Default::default() }), ); map.insert( SmolStr::new_static("langs"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Indicates human language of text content.", - )), + description: Some( + CowStr::new_static( + "Indicates human language of text content.", + ), + ), items: LexArrayItem::String(LexString { format: Some(LexStringFormat::Language), ..Default::default() @@ -488,7 +493,7 @@ fn lexicon_doc_tools_smokesignal_blahg_content_post() -> LexiconDoc<'static> { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -556,7 +561,10 @@ impl PostBuilder { impl PostBuilder { /// Set the `attachments` field (optional) - pub fn attachments(mut self, value: impl Into>>>) -> Self { + pub fn attachments( + mut self, + value: impl Into>>>, + ) -> Self { self._fields.0 = value.into(); self } @@ -645,4 +653,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/top_launchpadx.rs b/crates/jacquard-api/src/top_launchpadx.rs index 995ae4edc..cfda108a9 100644 --- a/crates/jacquard-api/src/top_launchpadx.rs +++ b/crates/jacquard-api/src/top_launchpadx.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `top.launchpadx` Lexicon namespace/module. -pub mod agent; +pub mod agent; \ No newline at end of file diff --git a/crates/jacquard-api/src/top_launchpadx/agent.rs b/crates/jacquard-api/src/top_launchpadx/agent.rs index 712e85b5c..1e5c0b241 100644 --- a/crates/jacquard-api/src/top_launchpadx/agent.rs +++ b/crates/jacquard-api/src/top_launchpadx/agent.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `top.launchpadx.agent` Lexicon namespace/module. pub mod ack; pub mod journal; -pub mod thought; +pub mod thought; \ No newline at end of file diff --git a/crates/jacquard-api/src/top_launchpadx/agent/ack.rs b/crates/jacquard-api/src/top_launchpadx/agent/ack.rs index 4e2a8eef3..072626389 100644 --- a/crates/jacquard-api/src/top_launchpadx/agent/ack.rs +++ b/crates/jacquard-api/src/top_launchpadx/agent/ack.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Agent acknowledgment record for a processed job. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -112,7 +112,7 @@ impl LexiconSchema for Ack { pub mod ack_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -248,7 +248,10 @@ where St::WorkType: ack_state::IsUnset, { /// Set the `workType` field (required) - pub fn work_type(mut self, value: impl Into) -> AckBuilder, S> { + pub fn work_type( + mut self, + value: impl Into, + ) -> AckBuilder, S> { self._fields.3 = Option::Some(value.into()); AckBuilder { _state: PhantomData, @@ -287,10 +290,10 @@ where } fn lexicon_doc_top_launchpadx_agent_ack() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("top.launchpadx.agent.ack"), @@ -299,24 +302,30 @@ fn lexicon_doc_top_launchpadx_agent_ack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Agent acknowledgment record for a processed job.", - )), + description: Some( + CowStr::new_static( + "Agent acknowledgment record for a processed job.", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("workType"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("workType"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the acknowledgment was created.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the acknowledgment was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -324,18 +333,22 @@ fn lexicon_doc_top_launchpadx_agent_ack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("note"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Additional context or details for the acknowledgment.", - )), + description: Some( + CowStr::new_static( + "Additional context or details for the acknowledgment.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("subjectUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "URI of the content being processed by the agent.", - )), + description: Some( + CowStr::new_static( + "URI of the content being processed by the agent.", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -343,9 +356,11 @@ fn lexicon_doc_top_launchpadx_agent_ack() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("workType"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Job type identifier being acknowledged by the agent.", - )), + description: Some( + CowStr::new_static( + "Job type identifier being acknowledged by the agent.", + ), + ), ..Default::default() }), ); @@ -360,4 +375,4 @@ fn lexicon_doc_top_launchpadx_agent_ack() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/top_launchpadx/agent/journal.rs b/crates/jacquard-api/src/top_launchpadx/agent/journal.rs index adb540f1d..5ed701801 100644 --- a/crates/jacquard-api/src/top_launchpadx/agent/journal.rs +++ b/crates/jacquard-api/src/top_launchpadx/agent/journal.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Agent journal entry record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Journal { pub mod journal_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -236,10 +236,10 @@ where } fn lexicon_doc_top_launchpadx_agent_journal() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("top.launchpadx.agent.journal"), @@ -258,9 +258,11 @@ fn lexicon_doc_top_launchpadx_agent_journal() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the journal entry was created.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the journal entry was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -268,9 +270,11 @@ fn lexicon_doc_top_launchpadx_agent_journal() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("journal"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Journal entry content written by the agent.", - )), + description: Some( + CowStr::new_static( + "Journal entry content written by the agent.", + ), + ), ..Default::default() }), ); @@ -285,4 +289,4 @@ fn lexicon_doc_top_launchpadx_agent_journal() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/top_launchpadx/agent/thought.rs b/crates/jacquard-api/src/top_launchpadx/agent/thought.rs index e36e9d885..33e91acf6 100644 --- a/crates/jacquard-api/src/top_launchpadx/agent/thought.rs +++ b/crates/jacquard-api/src/top_launchpadx/agent/thought.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Agent thought record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -112,7 +112,7 @@ impl LexiconSchema for Thought { pub mod thought_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -290,10 +290,10 @@ where } fn lexicon_doc_top_launchpadx_agent_thought() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("top.launchpadx.agent.thought"), @@ -305,19 +305,23 @@ fn lexicon_doc_top_launchpadx_agent_thought() -> LexiconDoc<'static> { description: Some(CowStr::new_static("Agent thought record.")), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("workType"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("workType"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp when the thought was recorded.", - )), + description: Some( + CowStr::new_static( + "Timestamp when the thought was recorded.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -325,18 +329,22 @@ fn lexicon_doc_top_launchpadx_agent_thought() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("note"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Additional context or details for the thought.", - )), + description: Some( + CowStr::new_static( + "Additional context or details for the thought.", + ), + ), ..Default::default() }), ); map.insert( SmolStr::new_static("subjectUri"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "URI of the content being processed by the agent.", - )), + description: Some( + CowStr::new_static( + "URI of the content being processed by the agent.", + ), + ), format: Some(LexStringFormat::Uri), ..Default::default() }), @@ -344,9 +352,11 @@ fn lexicon_doc_top_launchpadx_agent_thought() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("workType"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Job type identifier the agent is thinking about.", - )), + description: Some( + CowStr::new_static( + "Job type identifier the agent is thinking about.", + ), + ), ..Default::default() }), ); @@ -361,4 +371,4 @@ fn lexicon_doc_top_launchpadx_agent_thought() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_ewancroft.rs b/crates/jacquard-api/src/uk_ewancroft.rs index 90c7463e7..362e8793a 100644 --- a/crates/jacquard-api/src/uk_ewancroft.rs +++ b/crates/jacquard-api/src/uk_ewancroft.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `uk.ewancroft` Lexicon namespace/module. pub mod kofi; -pub mod now; +pub mod now; \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_ewancroft/kofi.rs b/crates/jacquard-api/src/uk_ewancroft/kofi.rs index 91490473a..9c316adee 100644 --- a/crates/jacquard-api/src/uk_ewancroft/kofi.rs +++ b/crates/jacquard-api/src/uk_ewancroft/kofi.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `uk.ewancroft.kofi` Lexicon namespace/module. -pub mod supporter; +pub mod supporter; \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_ewancroft/kofi/supporter.rs b/crates/jacquard-api/src/uk_ewancroft/kofi/supporter.rs index 8c45b554b..b3c137f4f 100644 --- a/crates/jacquard-api/src/uk_ewancroft/kofi/supporter.rs +++ b/crates/jacquard-api/src/uk_ewancroft/kofi/supporter.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A single Ko-fi payment event. One record per event, rkey is a TID. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -109,7 +109,7 @@ impl LexiconSchema for Supporter { pub mod supporter_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -261,7 +261,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Supporter { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Supporter { Supporter { name: self._fields.0.unwrap(), tier: self._fields.1, @@ -272,10 +275,10 @@ where } fn lexicon_doc_uk_ewancroft_kofi_supporter() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("uk.ewancroft.kofi.supporter"), @@ -339,4 +342,4 @@ fn lexicon_doc_uk_ewancroft_kofi_supporter() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_ewancroft/now.rs b/crates/jacquard-api/src/uk_ewancroft/now.rs index 856a7b48a..0e9457204 100644 --- a/crates/jacquard-api/src/uk_ewancroft/now.rs +++ b/crates/jacquard-api/src/uk_ewancroft/now.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde( @@ -127,7 +127,7 @@ impl LexiconSchema for Now { pub mod now_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -272,10 +272,10 @@ where } fn lexicon_doc_uk_ewancroft_now() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("uk.ewancroft.now"), @@ -286,19 +286,23 @@ fn lexicon_doc_uk_ewancroft_now() -> LexiconDoc<'static> { LexUserType::Record(LexRecord { key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("text"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The ISO 8601 date and time when the status was created.", - )), + description: Some( + CowStr::new_static( + "The ISO 8601 date and time when the status was created.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -306,9 +310,11 @@ fn lexicon_doc_uk_ewancroft_now() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The status text formatted as plain text.", - )), + description: Some( + CowStr::new_static( + "The status text formatted as plain text.", + ), + ), min_length: Some(1usize), max_length: Some(64usize), ..Default::default() @@ -325,4 +331,4 @@ fn lexicon_doc_uk_ewancroft_now() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur.rs b/crates/jacquard-api/src/uk_skyblur.rs index e39fdc90c..57286345b 100644 --- a/crates/jacquard-api/src/uk_skyblur.rs +++ b/crates/jacquard-api/src/uk_skyblur.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `uk.skyblur` Lexicon namespace/module. pub mod post; -pub mod preference; +pub mod preference; \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur/post.rs b/crates/jacquard-api/src/uk_skyblur/post.rs index 66daf2342..68757ceda 100644 --- a/crates/jacquard-api/src/uk_skyblur/post.rs +++ b/crates/jacquard-api/src/uk_skyblur/post.rs @@ -12,12 +12,13 @@ pub mod encrypt; pub mod get_post; pub mod store; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -34,7 +35,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record containing a Skyblur post. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -193,7 +194,7 @@ impl LexiconSchema for Post { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -366,7 +367,10 @@ where St::Text: post_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> PostBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.3 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -382,7 +386,10 @@ where St::Uri: post_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> PostBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> PostBuilder, S> { self._fields.4 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -446,10 +453,10 @@ where } fn lexicon_doc_uk_skyblur_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("uk.skyblur.post"), @@ -543,4 +550,4 @@ fn lexicon_doc_uk_skyblur_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur/post/decrypt_by_cid.rs b/crates/jacquard-api/src/uk_skyblur/post/decrypt_by_cid.rs index 64d5c2915..74b8a73fe 100644 --- a/crates/jacquard-api/src/uk_skyblur/post/decrypt_by_cid.rs +++ b/crates/jacquard-api/src/uk_skyblur/post/decrypt_by_cid.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Cid, Did, UriValue}; +use jacquard_common::types::string::{Did, Cid, UriValue}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DecryptByCid { pub cid: Cid, pub password: S, @@ -34,10 +31,7 @@ pub struct DecryptByCid { /// Returns the encrypted result. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DecryptByCidOutput { #[serde(skip_serializing_if = "Option::is_none")] pub additional: Option, @@ -61,8 +55,9 @@ impl jacquard_common::xrpc::XrpcResp for DecryptByCidResponse { impl jacquard_common::xrpc::XrpcRequest for DecryptByCid { const NSID: &'static str = "uk.skyblur.post.decryptByCid"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DecryptByCidResponse; } @@ -72,15 +67,16 @@ Path: `/xrpc/uk.skyblur.post.decryptByCid`. The request payload type is `Decrypt pub struct DecryptByCidRequest; impl jacquard_common::xrpc::XrpcEndpoint for DecryptByCidRequest { const PATH: &'static str = "/xrpc/uk.skyblur.post.decryptByCid"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DecryptByCid; type Response = DecryptByCidResponse; } pub mod decrypt_by_cid_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -155,12 +151,7 @@ pub mod decrypt_by_cid_state { /// Builder for constructing an instance of this type. pub struct DecryptByCidBuilder { _state: PhantomData St>, - _fields: ( - Option>, - Option, - Option>, - Option>, - ), + _fields: (Option>, Option, Option>, Option>), _type: PhantomData S>, } @@ -295,7 +286,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DecryptByCid { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DecryptByCid { DecryptByCid { cid: self._fields.0.unwrap(), password: self._fields.1.unwrap(), @@ -304,4 +298,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur/post/delete_stored.rs b/crates/jacquard-api/src/uk_skyblur/post/delete_stored.rs index 6f592fa22..5c8bb5cb3 100644 --- a/crates/jacquard-api/src/uk_skyblur/post/delete_stored.rs +++ b/crates/jacquard-api/src/uk_skyblur/post/delete_stored.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteStored { ///AT URI of the post to delete. The URI must include the logged-in user's DID in the format at://did... pub uri: S, @@ -28,11 +25,9 @@ pub struct DeleteStored { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeleteStoredOutput { #[serde(skip_serializing_if = "Option::is_none")] pub success: Option, @@ -53,8 +48,9 @@ impl jacquard_common::xrpc::XrpcResp for DeleteStoredResponse { impl jacquard_common::xrpc::XrpcRequest for DeleteStored { const NSID: &'static str = "uk.skyblur.post.deleteStored"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = DeleteStoredResponse; } @@ -64,8 +60,9 @@ Path: `/xrpc/uk.skyblur.post.deleteStored`. The request payload type is `DeleteS pub struct DeleteStoredRequest; impl jacquard_common::xrpc::XrpcEndpoint for DeleteStoredRequest { const PATH: &'static str = "/xrpc/uk.skyblur.post.deleteStored"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = DeleteStored; type Response = DeleteStoredResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur/post/encrypt.rs b/crates/jacquard-api/src/uk_skyblur/post/encrypt.rs index 6faf1ab8e..bfd4b1bbf 100644 --- a/crates/jacquard-api/src/uk_skyblur/post/encrypt.rs +++ b/crates/jacquard-api/src/uk_skyblur/post/encrypt.rs @@ -10,17 +10,14 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Encrypt { pub body: S, pub password: S, @@ -31,10 +28,7 @@ pub struct Encrypt { /// Returns the encrypted result. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct EncryptOutput { pub body: S, #[serde(skip_serializing_if = "Option::is_none")] @@ -56,8 +50,9 @@ impl jacquard_common::xrpc::XrpcResp for EncryptResponse { impl jacquard_common::xrpc::XrpcRequest for Encrypt { const NSID: &'static str = "uk.skyblur.post.encrypt"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = EncryptResponse; } @@ -67,8 +62,9 @@ Path: `/xrpc/uk.skyblur.post.encrypt`. The request payload type is `Encrypt`; pub struct EncryptRequest; impl jacquard_common::xrpc::XrpcEndpoint for EncryptRequest { const PATH: &'static str = "/xrpc/uk.skyblur.post.encrypt"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Encrypt; type Response = EncryptResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur/post/get_post.rs b/crates/jacquard-api/src/uk_skyblur/post/get_post.rs index 1be1e8cb4..1ca03b88c 100644 --- a/crates/jacquard-api/src/uk_skyblur/post/get_post.rs +++ b/crates/jacquard-api/src/uk_skyblur/post/get_post.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Datetime}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPost { ///If the specified uri is password-protected, please provide the password. If no password is specified, the non-protected content will be returned. #[serde(skip_serializing_if = "Option::is_none")] @@ -32,11 +29,9 @@ pub struct GetPost { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetPostOutput { #[serde(skip_serializing_if = "Option::is_none")] pub additional: Option, @@ -72,8 +67,9 @@ impl jacquard_common::xrpc::XrpcResp for GetPostResponse { impl jacquard_common::xrpc::XrpcRequest for GetPost { const NSID: &'static str = "uk.skyblur.post.getPost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = GetPostResponse; } @@ -83,15 +79,16 @@ Path: `/xrpc/uk.skyblur.post.getPost`. The request payload type is `GetPost`; pub struct GetPostRequest; impl jacquard_common::xrpc::XrpcEndpoint for GetPostRequest { const PATH: &'static str = "/xrpc/uk.skyblur.post.getPost"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = GetPost; type Response = GetPostResponse; } pub mod get_post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -217,4 +214,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur/post/store.rs b/crates/jacquard-api/src/uk_skyblur/post/store.rs index b5a810c51..ea09624ea 100644 --- a/crates/jacquard-api/src/uk_skyblur/post/store.rs +++ b/crates/jacquard-api/src/uk_skyblur/post/store.rs @@ -10,18 +10,15 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::AtUri; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Store { #[serde(skip_serializing_if = "Option::is_none")] pub additional: Option, @@ -33,11 +30,9 @@ pub struct Store { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StoreOutput { #[serde(skip_serializing_if = "Option::is_none")] pub message: Option, @@ -59,8 +54,9 @@ impl jacquard_common::xrpc::XrpcResp for StoreResponse { impl jacquard_common::xrpc::XrpcRequest for Store { const NSID: &'static str = "uk.skyblur.post.store"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = StoreResponse; } @@ -70,15 +66,16 @@ Path: `/xrpc/uk.skyblur.post.store`. The request payload type is `Store`; sen pub struct StoreRequest; impl jacquard_common::xrpc::XrpcEndpoint for StoreRequest { const PATH: &'static str = "/xrpc/uk.skyblur.post.store"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = Store; type Response = StoreResponse; } pub mod store_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -196,7 +193,10 @@ where St::Text: store_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> StoreBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> StoreBuilder, S> { self._fields.1 = Option::Some(value.into()); StoreBuilder { _state: PhantomData, @@ -212,7 +212,10 @@ where St::Uri: store_state::IsUnset, { /// Set the `uri` field (required) - pub fn uri(mut self, value: impl Into>) -> StoreBuilder, S> { + pub fn uri( + mut self, + value: impl Into>, + ) -> StoreBuilder, S> { self._fields.2 = Option::Some(value.into()); StoreBuilder { _state: PhantomData, @@ -268,4 +271,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/uk_skyblur/preference.rs b/crates/jacquard-api/src/uk_skyblur/preference.rs index 153f74c3b..ee22346c4 100644 --- a/crates/jacquard-api/src/uk_skyblur/preference.rs +++ b/crates/jacquard-api/src/uk_skyblur/preference.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::uk_skyblur::preference; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::uk_skyblur::preference; /// A declaration of a Skyblur account. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -54,11 +54,9 @@ pub struct PreferenceGetRecordOutput { pub value: Preference, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct MyPage { ///Define the description displayed on MyPage. #[serde(skip_serializing_if = "Option::is_none")] @@ -156,7 +154,7 @@ impl LexiconSchema for MyPage { pub mod preference_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -261,7 +259,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Preference { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Preference { Preference { my_page: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -270,10 +271,10 @@ where } fn lexicon_doc_uk_skyblur_preference() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("uk.skyblur.preference"), @@ -282,7 +283,9 @@ fn lexicon_doc_uk_skyblur_preference() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("A declaration of a Skyblur account.")), + description: Some( + CowStr::new_static("A declaration of a Skyblur account."), + ), key: Some(CowStr::new_static("literal:self")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("myPage")]), @@ -292,7 +295,9 @@ fn lexicon_doc_uk_skyblur_preference() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("myPage"), LexObjectProperty::Union(LexRefUnion { - refs: vec![CowStr::new_static("uk.skyblur.preference#myPage")], + refs: vec![ + CowStr::new_static("uk.skyblur.preference#myPage") + ], ..Default::default() }), ); @@ -313,9 +318,11 @@ fn lexicon_doc_uk_skyblur_preference() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("description"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Define the description displayed on MyPage.", - )), + description: Some( + CowStr::new_static( + "Define the description displayed on MyPage.", + ), + ), max_length: Some(10000usize), max_graphemes: Some(100000usize), ..Default::default() @@ -340,7 +347,7 @@ fn lexicon_doc_uk_skyblur_preference() -> LexiconDoc<'static> { pub mod my_page_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -466,4 +473,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/us_polhem.rs b/crates/jacquard-api/src/us_polhem.rs index 42eaf337e..41045f407 100644 --- a/crates/jacquard-api/src/us_polhem.rs +++ b/crates/jacquard-api/src/us_polhem.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `us.polhem` Lexicon namespace/module. -pub mod blog; +pub mod blog; \ No newline at end of file diff --git a/crates/jacquard-api/src/us_polhem/blog.rs b/crates/jacquard-api/src/us_polhem/blog.rs index f4793e67d..fdcc607af 100644 --- a/crates/jacquard-api/src/us_polhem/blog.rs +++ b/crates/jacquard-api/src/us_polhem/blog.rs @@ -10,6 +10,7 @@ pub mod content; pub mod post; pub mod tag; + #[allow(unused_imports)] use alloc::collections::BTreeMap; @@ -27,14 +28,11 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct AspectRatio { pub height: i64, pub width: i64, @@ -79,7 +77,7 @@ impl LexiconSchema for AspectRatio { pub mod aspect_ratio_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -217,7 +215,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> AspectRatio { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> AspectRatio { AspectRatio { height: self._fields.0.unwrap(), width: self._fields.1.unwrap(), @@ -227,10 +228,10 @@ where } fn lexicon_doc_us_polhem_blog_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("us.polhem.blog.defs"), @@ -273,4 +274,4 @@ fn lexicon_doc_us_polhem_blog_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/us_polhem/blog/content.rs b/crates/jacquard-api/src/us_polhem/blog/content.rs index da24cfa8a..f543f2ecd 100644 --- a/crates/jacquard-api/src/us_polhem/blog/content.rs +++ b/crates/jacquard-api/src/us_polhem/blog/content.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record describing a page content block. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,7 +129,7 @@ impl LexiconSchema for Content { pub mod content_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -285,7 +285,10 @@ where St::Slug: content_state::IsUnset, { /// Set the `slug` field (required) - pub fn slug(mut self, value: impl Into) -> ContentBuilder, S> { + pub fn slug( + mut self, + value: impl Into, + ) -> ContentBuilder, S> { self._fields.3 = Option::Some(value.into()); ContentBuilder { _state: PhantomData, @@ -325,10 +328,10 @@ where } fn lexicon_doc_us_polhem_blog_content() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("us.polhem.blog.content"), @@ -337,16 +340,17 @@ fn lexicon_doc_us_polhem_blog_content() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "Record describing a page content block.", - )), + description: Some( + CowStr::new_static("Record describing a page content block."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("content"), - SmolStr::new_static("slug"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("content"), SmolStr::new_static("slug"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -392,4 +396,4 @@ fn lexicon_doc_us_polhem_blog_content() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/us_polhem/blog/post.rs b/crates/jacquard-api/src/us_polhem/blog/post.rs index 7799ea0e1..e91cf01e1 100644 --- a/crates/jacquard-api/src/us_polhem/blog/post.rs +++ b/crates/jacquard-api/src/us_polhem/blog/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::app_bsky::embed::images::Image; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::app_bsky::embed::images::Image; /// Record describing a blog post. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -166,7 +166,7 @@ fn _default_post_visibility() -> ::core::option::Option { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -297,7 +297,10 @@ where St::Content: post_state::IsUnset, { /// Set the `content` field (required) - pub fn content(mut self, value: impl Into) -> PostBuilder, S> { + pub fn content( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.0 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -371,7 +374,10 @@ where St::Slug: post_state::IsUnset, { /// Set the `slug` field (required) - pub fn slug(mut self, value: impl Into) -> PostBuilder, S> { + pub fn slug( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.5 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -400,7 +406,10 @@ where St::Title: post_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> PostBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> PostBuilder, S> { self._fields.7 = Option::Some(value.into()); PostBuilder { _state: PhantomData, @@ -464,10 +473,10 @@ where } fn lexicon_doc_us_polhem_blog_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("us.polhem.blog.post"), @@ -580,4 +589,4 @@ fn lexicon_doc_us_polhem_blog_post() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/us_polhem/blog/tag.rs b/crates/jacquard-api/src/us_polhem/blog/tag.rs index 0348b1fe1..52134431d 100644 --- a/crates/jacquard-api/src/us_polhem/blog/tag.rs +++ b/crates/jacquard-api/src/us_polhem/blog/tag.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record describing a blog tag. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -139,7 +139,7 @@ impl LexiconSchema for Tag { pub mod tag_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -355,10 +355,10 @@ where } fn lexicon_doc_us_polhem_blog_tag() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("us.polhem.blog.tag"), @@ -367,15 +367,18 @@ fn lexicon_doc_us_polhem_blog_tag() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("Record describing a blog tag.")), + description: Some( + CowStr::new_static("Record describing a blog tag."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("slug"), - SmolStr::new_static("description"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("slug"), + SmolStr::new_static("description"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -418,4 +421,4 @@ fn lexicon_doc_us_polhem_blog_tag() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/win_tomo_x.rs b/crates/jacquard-api/src/win_tomo_x.rs index cc2f79c59..7705881ce 100644 --- a/crates/jacquard-api/src/win_tomo_x.rs +++ b/crates/jacquard-api/src/win_tomo_x.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `win.tomo.x` Lexicon namespace/module. -pub mod pushat; +pub mod pushat; \ No newline at end of file diff --git a/crates/jacquard-api/src/win_tomo_x/pushat.rs b/crates/jacquard-api/src/win_tomo_x/pushat.rs index a611bb602..77dfe9131 100644 --- a/crates/jacquard-api/src/win_tomo_x/pushat.rs +++ b/crates/jacquard-api/src/win_tomo_x/pushat.rs @@ -9,12 +9,13 @@ pub mod allow; pub mod push_notify; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,17 +26,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::win_tomo_x::pushat; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::win_tomo_x::pushat; pub type DeviceList = Vec>; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct DeviceListItem { /// Defaults to `false`. #[serde(default = "_default_device_list_item_current")] @@ -46,11 +44,9 @@ pub struct DeviceListItem { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct NotifyBody { ///Body text of the notification. pub body: S, @@ -126,7 +122,7 @@ fn _default_device_list_item_current() -> bool { pub mod device_list_item_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -183,7 +179,10 @@ pub mod device_list_item_state { } /// Builder for constructing an instance of this type. -pub struct DeviceListItemBuilder { +pub struct DeviceListItemBuilder< + St: device_list_item_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option, Option), _type: PhantomData S>, @@ -299,7 +298,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> DeviceListItem { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> DeviceListItem { DeviceListItem { current: self._fields.0.unwrap(), id: self._fields.1.unwrap(), @@ -310,10 +312,10 @@ where } fn lexicon_doc_win_tomo_x_pushat_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("win.tomo-x.pushat.defs"), @@ -332,11 +334,12 @@ fn lexicon_doc_win_tomo_x_pushat_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("deviceListItem"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("name"), - SmolStr::new_static("id"), - SmolStr::new_static("current"), - ]), + required: Some( + vec![ + SmolStr::new_static("name"), SmolStr::new_static("id"), + SmolStr::new_static("current") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -426,4 +429,4 @@ fn lexicon_doc_win_tomo_x_pushat_defs() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/win_tomo_x/pushat/allow.rs b/crates/jacquard-api/src/win_tomo_x/pushat/allow.rs index 62cf59429..a3c9426b7 100644 --- a/crates/jacquard-api/src/win_tomo_x/pushat/allow.rs +++ b/crates/jacquard-api/src/win_tomo_x/pushat/allow.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// allow service to push. key must be did #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -105,7 +105,7 @@ impl LexiconSchema for Allow { pub mod allow_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -234,10 +234,10 @@ where } fn lexicon_doc_win_tomo_x_pushat_allow() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("win.tomo-x.pushat.allow"), @@ -246,7 +246,9 @@ fn lexicon_doc_win_tomo_x_pushat_allow() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("allow service to push. key must be did")), + description: Some( + CowStr::new_static("allow service to push. key must be did"), + ), key: Some(CowStr::new_static("any")), record: LexRecordRecord::Object(LexObject { required: Some(vec![SmolStr::new_static("createdAt")]), @@ -277,4 +279,4 @@ fn lexicon_doc_win_tomo_x_pushat_allow() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/win_tomo_x/pushat/push_notify.rs b/crates/jacquard-api/src/win_tomo_x/pushat/push_notify.rs index 94cdbfc18..1b9f46c7c 100644 --- a/crates/jacquard-api/src/win_tomo_x/pushat/push_notify.rs +++ b/crates/jacquard-api/src/win_tomo_x/pushat/push_notify.rs @@ -8,21 +8,18 @@ #[allow(unused_imports)] use alloc::collections::BTreeMap; -use crate::win_tomo_x::pushat::NotifyBody; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::win_tomo_x::pushat::NotifyBody; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PushNotify { pub body: NotifyBody, ///The DID of the target user to whom the notification will be sent. @@ -31,19 +28,26 @@ pub struct PushNotify { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct PushNotifyOutput { #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum PushNotifyError { #[serde(rename = "ServiceNotAllowedError")] @@ -52,10 +56,7 @@ pub enum PushNotifyError { DeviceNotFoundError(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for PushNotifyError { @@ -99,8 +100,9 @@ impl jacquard_common::xrpc::XrpcResp for PushNotifyResponse { impl jacquard_common::xrpc::XrpcRequest for PushNotify { const NSID: &'static str = "win.tomo-x.pushat.pushNotify"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = PushNotifyResponse; } @@ -110,15 +112,16 @@ Path: `/xrpc/win.tomo-x.pushat.pushNotify`. The request payload type is `PushNot pub struct PushNotifyRequest; impl jacquard_common::xrpc::XrpcEndpoint for PushNotifyRequest { const PATH: &'static str = "/xrpc/win.tomo-x.pushat.pushNotify"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = PushNotify; type Response = PushNotifyResponse; } pub mod push_notify_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -256,11 +259,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> PushNotify { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> PushNotify { PushNotify { body: self._fields.0.unwrap(), target: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah.rs b/crates/jacquard-api/src/world_ptah.rs index 6a456e3a6..7fd794771 100644 --- a/crates/jacquard-api/src/world_ptah.rs +++ b/crates/jacquard-api/src/world_ptah.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `world.ptah` Lexicon namespace/module. -pub mod temp; +pub mod temp; \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp.rs b/crates/jacquard-api/src/world_ptah/temp.rs index 7d7e0c90a..9e9aaafd3 100644 --- a/crates/jacquard-api/src/world_ptah/temp.rs +++ b/crates/jacquard-api/src/world_ptah/temp.rs @@ -18,7 +18,7 @@ pub mod world; use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record exists but is not recognized as part of any canonical timeline. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Hash)] @@ -87,4 +87,4 @@ impl core::fmt::Display for SourceTypePublicDomain { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "sourceTypePublicDomain") } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/action.rs b/crates/jacquard-api/src/world_ptah/temp/action.rs index cdd202ff2..9baa0d909 100644 --- a/crates/jacquard-api/src/world_ptah/temp/action.rs +++ b/crates/jacquard-api/src/world_ptah/temp/action.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// An entry in a ship's log. Something happened. Someone did it. The Opening of the Mouth ceremony — Ptah opens the mouth and the statue breathes, speaks, acts. The action record is the breath. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -356,7 +356,7 @@ impl LexiconSchema for Action { pub mod action_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -656,10 +656,10 @@ where } fn lexicon_doc_world_ptah_temp_action() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.action"), @@ -808,4 +808,4 @@ fn lexicon_doc_world_ptah_temp_action() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/character.rs b/crates/jacquard-api/src/world_ptah/temp/character.rs index 7c9fc32eb..875e68ac9 100644 --- a/crates/jacquard-api/src/world_ptah/temp/character.rs +++ b/crates/jacquard-api/src/world_ptah/temp/character.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::world_ptah::temp::character; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::world_ptah::temp::character; /// Flexible key-value properties for any kind of world. All fields optional — worlds define what matters. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct CharacterProperties { ///Notable abilities or powers. #[serde(skip_serializing_if = "Option::is_none")] @@ -111,18 +108,30 @@ pub enum CharacterCanonicalStatus { impl CharacterCanonicalStatus { pub fn as_str(&self) -> &str { match self { - Self::CanonicalStatusOfficial => "world.ptah.temp.defs#canonicalStatusOfficial", - Self::CanonicalStatusCommunity => "world.ptah.temp.defs#canonicalStatusCommunity", - Self::CanonicalStatusApocryphal => "world.ptah.temp.defs#canonicalStatusApocryphal", + Self::CanonicalStatusOfficial => { + "world.ptah.temp.defs#canonicalStatusOfficial" + } + Self::CanonicalStatusCommunity => { + "world.ptah.temp.defs#canonicalStatusCommunity" + } + Self::CanonicalStatusApocryphal => { + "world.ptah.temp.defs#canonicalStatusApocryphal" + } Self::Other(s) => s.as_ref(), } } /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "world.ptah.temp.defs#canonicalStatusOfficial" => Self::CanonicalStatusOfficial, - "world.ptah.temp.defs#canonicalStatusCommunity" => Self::CanonicalStatusCommunity, - "world.ptah.temp.defs#canonicalStatusApocryphal" => Self::CanonicalStatusApocryphal, + "world.ptah.temp.defs#canonicalStatusOfficial" => { + Self::CanonicalStatusOfficial + } + "world.ptah.temp.defs#canonicalStatusCommunity" => { + Self::CanonicalStatusCommunity + } + "world.ptah.temp.defs#canonicalStatusApocryphal" => { + Self::CanonicalStatusApocryphal + } _ => Self::Other(s), } } @@ -149,7 +158,8 @@ impl Serialize for CharacterCanonicalStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for CharacterCanonicalStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for CharacterCanonicalStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -182,7 +192,9 @@ where CharacterCanonicalStatus::CanonicalStatusApocryphal => { CharacterCanonicalStatus::CanonicalStatusApocryphal } - CharacterCanonicalStatus::Other(v) => CharacterCanonicalStatus::Other(v.into_static()), + CharacterCanonicalStatus::Other(v) => { + CharacterCanonicalStatus::Other(v.into_static()) + } } } } @@ -265,7 +277,9 @@ where CharacterControlType::Exclusive => CharacterControlType::Exclusive, CharacterControlType::Open => CharacterControlType::Open, CharacterControlType::Delegated => CharacterControlType::Delegated, - CharacterControlType::Other(v) => CharacterControlType::Other(v.into_static()), + CharacterControlType::Other(v) => { + CharacterControlType::Other(v.into_static()) + } } } } @@ -345,7 +359,9 @@ where type Output = CharacterOriginType; fn into_static(self) -> Self::Output { match self { - CharacterOriginType::SourceTypeOriginalIp => CharacterOriginType::SourceTypeOriginalIp, + CharacterOriginType::SourceTypeOriginalIp => { + CharacterOriginType::SourceTypeOriginalIp + } CharacterOriginType::SourceTypePublicDomain => { CharacterOriginType::SourceTypePublicDomain } @@ -608,10 +624,10 @@ impl LexiconSchema for Character { } fn lexicon_doc_world_ptah_temp_character() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.character"), @@ -852,7 +868,7 @@ fn lexicon_doc_world_ptah_temp_character() -> LexiconDoc<'static> { pub mod character_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -964,7 +980,18 @@ impl CharacterBuilder { CharacterBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -977,7 +1004,18 @@ impl CharacterBuilder { CharacterBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -1007,7 +1045,10 @@ impl CharacterBuilder { self } /// Set the `canonicalStatus` field to an Option value (optional) - pub fn maybe_canonical_status(mut self, value: Option>) -> Self { + pub fn maybe_canonical_status( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -1015,7 +1056,10 @@ impl CharacterBuilder { impl CharacterBuilder { /// Set the `controlType` field (optional) - pub fn control_type(mut self, value: impl Into>>) -> Self { + pub fn control_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.2 = value.into(); self } @@ -1098,7 +1142,10 @@ where impl CharacterBuilder { /// Set the `originType` field (optional) - pub fn origin_type(mut self, value: impl Into>>) -> Self { + pub fn origin_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.7 = value.into(); self } @@ -1119,7 +1166,10 @@ impl CharacterBuilder { self } /// Set the `properties` field to an Option value (optional) - pub fn maybe_properties(mut self, value: Option>) -> Self { + pub fn maybe_properties( + mut self, + value: Option>, + ) -> Self { self._fields.8 = value; self } @@ -1197,7 +1247,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Character { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Character { Character { authorship_record: self._fields.0, canonical_status: self._fields.1, @@ -1214,4 +1267,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/contribution.rs b/crates/jacquard-api/src/world_ptah/temp/contribution.rs index 5bb04c75b..8aa831f2f 100644 --- a/crates/jacquard-api/src/world_ptah/temp/contribution.rs +++ b/crates/jacquard-api/src/world_ptah/temp/contribution.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A deed of addition. Imhotep — the most famous architect in history, deified as the Son of Ptah. Every contributor to a world is an Imhotep. They build within the tradition of the master. Their work is attributed. The lineage is unbroken. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -78,18 +78,30 @@ pub enum ContributionCanonicalStatus { impl ContributionCanonicalStatus { pub fn as_str(&self) -> &str { match self { - Self::CanonicalStatusOfficial => "world.ptah.temp.defs#canonicalStatusOfficial", - Self::CanonicalStatusCommunity => "world.ptah.temp.defs#canonicalStatusCommunity", - Self::CanonicalStatusApocryphal => "world.ptah.temp.defs#canonicalStatusApocryphal", + Self::CanonicalStatusOfficial => { + "world.ptah.temp.defs#canonicalStatusOfficial" + } + Self::CanonicalStatusCommunity => { + "world.ptah.temp.defs#canonicalStatusCommunity" + } + Self::CanonicalStatusApocryphal => { + "world.ptah.temp.defs#canonicalStatusApocryphal" + } Self::Other(s) => s.as_ref(), } } /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "world.ptah.temp.defs#canonicalStatusOfficial" => Self::CanonicalStatusOfficial, - "world.ptah.temp.defs#canonicalStatusCommunity" => Self::CanonicalStatusCommunity, - "world.ptah.temp.defs#canonicalStatusApocryphal" => Self::CanonicalStatusApocryphal, + "world.ptah.temp.defs#canonicalStatusOfficial" => { + Self::CanonicalStatusOfficial + } + "world.ptah.temp.defs#canonicalStatusCommunity" => { + Self::CanonicalStatusCommunity + } + "world.ptah.temp.defs#canonicalStatusApocryphal" => { + Self::CanonicalStatusApocryphal + } _ => Self::Other(s), } } @@ -116,7 +128,8 @@ impl Serialize for ContributionCanonicalStatus { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContributionCanonicalStatus { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ContributionCanonicalStatus { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -216,7 +229,8 @@ impl Serialize for ContributionContributionType { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContributionContributionType { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ContributionContributionType { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -240,12 +254,16 @@ where type Output = ContributionContributionType; fn into_static(self) -> Self::Output { match self { - ContributionContributionType::Character => ContributionContributionType::Character, + ContributionContributionType::Character => { + ContributionContributionType::Character + } ContributionContributionType::Role => ContributionContributionType::Role, ContributionContributionType::Action => ContributionContributionType::Action, ContributionContributionType::Event => ContributionContributionType::Event, ContributionContributionType::Lore => ContributionContributionType::Lore, - ContributionContributionType::Location => ContributionContributionType::Location, + ContributionContributionType::Location => { + ContributionContributionType::Location + } ContributionContributionType::Other(v) => { ContributionContributionType::Other(v.into_static()) } @@ -304,7 +322,8 @@ impl Serialize for ContributionOriginatorApproval { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for ContributionOriginatorApproval { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for ContributionOriginatorApproval { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -328,7 +347,9 @@ where type Output = ContributionOriginatorApproval; fn into_static(self) -> Self::Output { match self { - ContributionOriginatorApproval::Approved => ContributionOriginatorApproval::Approved, + ContributionOriginatorApproval::Approved => { + ContributionOriginatorApproval::Approved + } ContributionOriginatorApproval::PreApproved => { ContributionOriginatorApproval::PreApproved } @@ -425,7 +446,7 @@ impl LexiconSchema for Contribution { pub mod contribution_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -557,7 +578,10 @@ impl ContributionBuilder { self } /// Set the `canonicalStatus` field to an Option value (optional) - pub fn maybe_canonical_status(mut self, value: Option>) -> Self { + pub fn maybe_canonical_status( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -707,7 +731,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Contribution { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Contribution { Contribution { attribution_chain: self._fields.0, canonical_status: self._fields.1, @@ -724,10 +751,10 @@ where } fn lexicon_doc_world_ptah_temp_contribution() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.contribution"), @@ -864,4 +891,4 @@ fn lexicon_doc_world_ptah_temp_contribution() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/declaration.rs b/crates/jacquard-api/src/world_ptah/temp/declaration.rs index bc3cbc1a6..c1c23d955 100644 --- a/crates/jacquard-api/src/world_ptah/temp/declaration.rs +++ b/crates/jacquard-api/src/world_ptah/temp/declaration.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Declaration of participation in The Ptah Protocol. Create this record to signal that your account is active in the Ptah ecosystem. Delete it to deactivate. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -154,7 +154,7 @@ impl LexiconSchema for Declaration { pub mod declaration_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -287,7 +287,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Declaration { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Declaration { Declaration { created_at: self._fields.0.unwrap(), description: self._fields.1, @@ -298,10 +301,10 @@ where } fn lexicon_doc_world_ptah_temp_declaration() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.declaration"), @@ -370,4 +373,4 @@ fn lexicon_doc_world_ptah_temp_declaration() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/event.rs b/crates/jacquard-api/src/world_ptah/temp/event.rs index 66f30eb30..5a4c12c74 100644 --- a/crates/jacquard-api/src/world_ptah/temp/event.rs +++ b/crates/jacquard-api/src/world_ptah/temp/event.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A boxing match program combined with a history book entry. Before the fight it is a schedule. After the fight it is a permanent record. Ptah-Seker-Osiris — creation, shadow, rebirth. The event holds all three phases simultaneously. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -270,8 +270,12 @@ pub enum EventLoreStatus { impl EventLoreStatus { pub fn as_str(&self) -> &str { match self { - Self::CanonicalStatusOfficial => "world.ptah.temp.defs#canonicalStatusOfficial", - Self::CanonicalStatusCommunity => "world.ptah.temp.defs#canonicalStatusCommunity", + Self::CanonicalStatusOfficial => { + "world.ptah.temp.defs#canonicalStatusOfficial" + } + Self::CanonicalStatusCommunity => { + "world.ptah.temp.defs#canonicalStatusCommunity" + } Self::Pending => "pending", Self::Other(s) => s.as_ref(), } @@ -279,8 +283,12 @@ impl EventLoreStatus { /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "world.ptah.temp.defs#canonicalStatusOfficial" => Self::CanonicalStatusOfficial, - "world.ptah.temp.defs#canonicalStatusCommunity" => Self::CanonicalStatusCommunity, + "world.ptah.temp.defs#canonicalStatusOfficial" => { + Self::CanonicalStatusOfficial + } + "world.ptah.temp.defs#canonicalStatusCommunity" => { + Self::CanonicalStatusCommunity + } "pending" => Self::Pending, _ => Self::Other(s), } @@ -332,8 +340,12 @@ where type Output = EventLoreStatus; fn into_static(self) -> Self::Output { match self { - EventLoreStatus::CanonicalStatusOfficial => EventLoreStatus::CanonicalStatusOfficial, - EventLoreStatus::CanonicalStatusCommunity => EventLoreStatus::CanonicalStatusCommunity, + EventLoreStatus::CanonicalStatusOfficial => { + EventLoreStatus::CanonicalStatusOfficial + } + EventLoreStatus::CanonicalStatusCommunity => { + EventLoreStatus::CanonicalStatusCommunity + } EventLoreStatus::Pending => EventLoreStatus::Pending, EventLoreStatus::Other(v) => EventLoreStatus::Other(v.into_static()), } @@ -596,7 +608,7 @@ impl LexiconSchema for Event { pub mod event_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -710,7 +722,20 @@ impl EventBuilder { EventBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -723,7 +748,20 @@ impl EventBuilder { EventBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -839,7 +877,10 @@ where St::Name: event_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> EventBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> EventBuilder, S> { self._fields.7 = Option::Some(value.into()); EventBuilder { _state: PhantomData, @@ -984,10 +1025,10 @@ where } fn lexicon_doc_world_ptah_temp_event() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.event"), @@ -1188,4 +1229,4 @@ fn lexicon_doc_world_ptah_temp_event() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/location.rs b/crates/jacquard-api/src/world_ptah/temp/location.rs index eac5b368c..186f96965 100644 --- a/crates/jacquard-api/src/world_ptah/temp/location.rs +++ b/crates/jacquard-api/src/world_ptah/temp/location.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,17 +24,14 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::world_ptah::temp::location; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::world_ptah::temp::location; /// Flexible properties for any kind of world geography. All fields optional — worlds define what matters. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct LocationProperties { #[serde(skip_serializing_if = "Option::is_none")] pub climate: Option, @@ -104,18 +101,30 @@ pub enum LocationCanonicalStatus { impl LocationCanonicalStatus { pub fn as_str(&self) -> &str { match self { - Self::CanonicalStatusOfficial => "world.ptah.temp.defs#canonicalStatusOfficial", - Self::CanonicalStatusCommunity => "world.ptah.temp.defs#canonicalStatusCommunity", - Self::CanonicalStatusApocryphal => "world.ptah.temp.defs#canonicalStatusApocryphal", + Self::CanonicalStatusOfficial => { + "world.ptah.temp.defs#canonicalStatusOfficial" + } + Self::CanonicalStatusCommunity => { + "world.ptah.temp.defs#canonicalStatusCommunity" + } + Self::CanonicalStatusApocryphal => { + "world.ptah.temp.defs#canonicalStatusApocryphal" + } Self::Other(s) => s.as_ref(), } } /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "world.ptah.temp.defs#canonicalStatusOfficial" => Self::CanonicalStatusOfficial, - "world.ptah.temp.defs#canonicalStatusCommunity" => Self::CanonicalStatusCommunity, - "world.ptah.temp.defs#canonicalStatusApocryphal" => Self::CanonicalStatusApocryphal, + "world.ptah.temp.defs#canonicalStatusOfficial" => { + Self::CanonicalStatusOfficial + } + "world.ptah.temp.defs#canonicalStatusCommunity" => { + Self::CanonicalStatusCommunity + } + "world.ptah.temp.defs#canonicalStatusApocryphal" => { + Self::CanonicalStatusApocryphal + } _ => Self::Other(s), } } @@ -175,7 +184,9 @@ where LocationCanonicalStatus::CanonicalStatusApocryphal => { LocationCanonicalStatus::CanonicalStatusApocryphal } - LocationCanonicalStatus::Other(v) => LocationCanonicalStatus::Other(v.into_static()), + LocationCanonicalStatus::Other(v) => { + LocationCanonicalStatus::Other(v.into_static()) + } } } } @@ -274,7 +285,9 @@ where LocationLocationType::Landmark => LocationLocationType::Landmark, LocationLocationType::Vessel => LocationLocationType::Vessel, LocationLocationType::AbstractSpace => LocationLocationType::AbstractSpace, - LocationLocationType::Other(v) => LocationLocationType::Other(v.into_static()), + LocationLocationType::Other(v) => { + LocationLocationType::Other(v.into_static()) + } } } } @@ -519,10 +532,10 @@ impl LexiconSchema for Location { } fn lexicon_doc_world_ptah_temp_location() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.location"), @@ -730,7 +743,7 @@ fn lexicon_doc_world_ptah_temp_location() -> LexiconDoc<'static> { pub mod location_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -840,9 +853,7 @@ impl LocationBuilder { pub fn new() -> Self { LocationBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -853,9 +864,7 @@ impl LocationBuilder { pub fn builder() -> Self { LocationBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -884,7 +893,10 @@ impl LocationBuilder { self } /// Set the `canonicalStatus` field to an Option value (optional) - pub fn maybe_canonical_status(mut self, value: Option>) -> Self { + pub fn maybe_canonical_status( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -956,12 +968,18 @@ impl LocationBuilder { impl LocationBuilder { /// Set the `locationType` field (optional) - pub fn location_type(mut self, value: impl Into>>) -> Self { + pub fn location_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `locationType` field to an Option value (optional) - pub fn maybe_location_type(mut self, value: Option>) -> Self { + pub fn maybe_location_type( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -973,7 +991,10 @@ where St::Name: location_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> LocationBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> LocationBuilder, S> { self._fields.7 = Option::Some(value.into()); LocationBuilder { _state: PhantomData, @@ -998,12 +1019,18 @@ impl LocationBuilder { impl LocationBuilder { /// Set the `properties` field (optional) - pub fn properties(mut self, value: impl Into>>) -> Self { + pub fn properties( + mut self, + value: impl Into>>, + ) -> Self { self._fields.9 = value.into(); self } /// Set the `properties` field to an Option value (optional) - pub fn maybe_properties(mut self, value: Option>) -> Self { + pub fn maybe_properties( + mut self, + value: Option>, + ) -> Self { self._fields.9 = value; self } @@ -1070,4 +1097,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/lore.rs b/crates/jacquard-api/src/world_ptah/temp/lore.rs index 5bd28cd84..77642ed62 100644 --- a/crates/jacquard-api/src/world_ptah/temp/lore.rs +++ b/crates/jacquard-api/src/world_ptah/temp/lore.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The Shabaka Stone of the world. It preserves what happened. It cannot be erased. It names who made it. It is the theological text of a world that anyone can read and nobody can alter. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -83,18 +83,30 @@ pub enum LoreCanonicalStatus { impl LoreCanonicalStatus { pub fn as_str(&self) -> &str { match self { - Self::CanonicalStatusOfficial => "world.ptah.temp.defs#canonicalStatusOfficial", - Self::CanonicalStatusCommunity => "world.ptah.temp.defs#canonicalStatusCommunity", - Self::CanonicalStatusApocryphal => "world.ptah.temp.defs#canonicalStatusApocryphal", + Self::CanonicalStatusOfficial => { + "world.ptah.temp.defs#canonicalStatusOfficial" + } + Self::CanonicalStatusCommunity => { + "world.ptah.temp.defs#canonicalStatusCommunity" + } + Self::CanonicalStatusApocryphal => { + "world.ptah.temp.defs#canonicalStatusApocryphal" + } Self::Other(s) => s.as_ref(), } } /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "world.ptah.temp.defs#canonicalStatusOfficial" => Self::CanonicalStatusOfficial, - "world.ptah.temp.defs#canonicalStatusCommunity" => Self::CanonicalStatusCommunity, - "world.ptah.temp.defs#canonicalStatusApocryphal" => Self::CanonicalStatusApocryphal, + "world.ptah.temp.defs#canonicalStatusOfficial" => { + Self::CanonicalStatusOfficial + } + "world.ptah.temp.defs#canonicalStatusCommunity" => { + Self::CanonicalStatusCommunity + } + "world.ptah.temp.defs#canonicalStatusApocryphal" => { + Self::CanonicalStatusApocryphal + } _ => Self::Other(s), } } @@ -233,7 +245,9 @@ where match self { LoreContributionType::Originator => LoreContributionType::Originator, LoreContributionType::Community => LoreContributionType::Community, - LoreContributionType::Other(v) => LoreContributionType::Other(v.into_static()), + LoreContributionType::Other(v) => { + LoreContributionType::Other(v.into_static()) + } } } } @@ -367,7 +381,7 @@ impl LexiconSchema for Lore { pub mod lore_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -477,9 +491,7 @@ impl LoreBuilder { pub fn new() -> Self { LoreBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -490,9 +502,7 @@ impl LoreBuilder { pub fn builder() -> Self { LoreBuilder { _state: PhantomData, - _fields: ( - None, None, None, None, None, None, None, None, None, None, None, - ), + _fields: (None, None, None, None, None, None, None, None, None, None, None), _type: PhantomData, } } @@ -513,12 +523,18 @@ impl LoreBuilder { impl LoreBuilder { /// Set the `canonicalStatus` field (optional) - pub fn canonical_status(mut self, value: impl Into>>) -> Self { + pub fn canonical_status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `canonicalStatus` field to an Option value (optional) - pub fn maybe_canonical_status(mut self, value: Option>) -> Self { + pub fn maybe_canonical_status( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -552,12 +568,18 @@ impl LoreBuilder { impl LoreBuilder { /// Set the `contributionType` field (optional) - pub fn contribution_type(mut self, value: impl Into>>) -> Self { + pub fn contribution_type( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } /// Set the `contributionType` field to an Option value (optional) - pub fn maybe_contribution_type(mut self, value: Option>) -> Self { + pub fn maybe_contribution_type( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -633,7 +655,10 @@ where St::Title: lore_state::IsUnset, { /// Set the `title` field (required) - pub fn title(mut self, value: impl Into) -> LoreBuilder, S> { + pub fn title( + mut self, + value: impl Into, + ) -> LoreBuilder, S> { self._fields.9 = Option::Some(value.into()); LoreBuilder { _state: PhantomData, @@ -707,10 +732,10 @@ where } fn lexicon_doc_world_ptah_temp_lore() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.lore"), @@ -879,4 +904,4 @@ fn lexicon_doc_world_ptah_temp_lore() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/role.rs b/crates/jacquard-api/src/world_ptah/temp/role.rs index 18753c5d2..9c4654a47 100644 --- a/crates/jacquard-api/src/world_ptah/temp/role.rs +++ b/crates/jacquard-api/src/world_ptah/temp/role.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A stage role vs a performance of that role. The Opening of the Mouth was performed on a type of figure — the Role is the type. The Character instance is the specific statue that gets its mouth opened. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -124,7 +124,8 @@ impl Serialize for RoleCanonicalReferencePolicy { } } -impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for RoleCanonicalReferencePolicy { +impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> +for RoleCanonicalReferencePolicy { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -149,8 +150,12 @@ where fn into_static(self) -> Self::Output { match self { RoleCanonicalReferencePolicy::Fixed => RoleCanonicalReferencePolicy::Fixed, - RoleCanonicalReferencePolicy::Updatable => RoleCanonicalReferencePolicy::Updatable, - RoleCanonicalReferencePolicy::Community => RoleCanonicalReferencePolicy::Community, + RoleCanonicalReferencePolicy::Updatable => { + RoleCanonicalReferencePolicy::Updatable + } + RoleCanonicalReferencePolicy::Community => { + RoleCanonicalReferencePolicy::Community + } RoleCanonicalReferencePolicy::Other(v) => { RoleCanonicalReferencePolicy::Other(v.into_static()) } @@ -171,18 +176,30 @@ pub enum RoleCanonicalStatus { impl RoleCanonicalStatus { pub fn as_str(&self) -> &str { match self { - Self::CanonicalStatusOfficial => "world.ptah.temp.defs#canonicalStatusOfficial", - Self::CanonicalStatusCommunity => "world.ptah.temp.defs#canonicalStatusCommunity", - Self::CanonicalStatusApocryphal => "world.ptah.temp.defs#canonicalStatusApocryphal", + Self::CanonicalStatusOfficial => { + "world.ptah.temp.defs#canonicalStatusOfficial" + } + Self::CanonicalStatusCommunity => { + "world.ptah.temp.defs#canonicalStatusCommunity" + } + Self::CanonicalStatusApocryphal => { + "world.ptah.temp.defs#canonicalStatusApocryphal" + } Self::Other(s) => s.as_ref(), } } /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "world.ptah.temp.defs#canonicalStatusOfficial" => Self::CanonicalStatusOfficial, - "world.ptah.temp.defs#canonicalStatusCommunity" => Self::CanonicalStatusCommunity, - "world.ptah.temp.defs#canonicalStatusApocryphal" => Self::CanonicalStatusApocryphal, + "world.ptah.temp.defs#canonicalStatusOfficial" => { + Self::CanonicalStatusOfficial + } + "world.ptah.temp.defs#canonicalStatusCommunity" => { + Self::CanonicalStatusCommunity + } + "world.ptah.temp.defs#canonicalStatusApocryphal" => { + Self::CanonicalStatusApocryphal + } _ => Self::Other(s), } } @@ -403,7 +420,9 @@ where fn into_static(self) -> Self::Output { match self { RoleSourceType::SourceTypeOriginalIp => RoleSourceType::SourceTypeOriginalIp, - RoleSourceType::SourceTypePublicDomain => RoleSourceType::SourceTypePublicDomain, + RoleSourceType::SourceTypePublicDomain => { + RoleSourceType::SourceTypePublicDomain + } RoleSourceType::Other(v) => RoleSourceType::Other(v.into_static()), } } @@ -538,7 +557,7 @@ impl LexiconSchema for Role { pub mod role_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -650,7 +669,18 @@ impl RoleBuilder { RoleBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -663,7 +693,18 @@ impl RoleBuilder { RoleBuilder { _state: PhantomData, _fields: ( - None, None, None, None, None, None, None, None, None, None, None, None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, + None, ), _type: PhantomData, } @@ -685,12 +726,18 @@ impl RoleBuilder { impl RoleBuilder { /// Set the `canonicalCharacterReference` field (optional) - pub fn canonical_character_reference(mut self, value: impl Into>>) -> Self { + pub fn canonical_character_reference( + mut self, + value: impl Into>>, + ) -> Self { self._fields.1 = value.into(); self } /// Set the `canonicalCharacterReference` field to an Option value (optional) - pub fn maybe_canonical_character_reference(mut self, value: Option>) -> Self { + pub fn maybe_canonical_character_reference( + mut self, + value: Option>, + ) -> Self { self._fields.1 = value; self } @@ -717,12 +764,18 @@ impl RoleBuilder { impl RoleBuilder { /// Set the `canonicalStatus` field (optional) - pub fn canonical_status(mut self, value: impl Into>>) -> Self { + pub fn canonical_status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.3 = value.into(); self } /// Set the `canonicalStatus` field to an Option value (optional) - pub fn maybe_canonical_status(mut self, value: Option>) -> Self { + pub fn maybe_canonical_status( + mut self, + value: Option>, + ) -> Self { self._fields.3 = value; self } @@ -781,12 +834,18 @@ impl RoleBuilder { impl RoleBuilder { /// Set the `instancePolicy` field (optional) - pub fn instance_policy(mut self, value: impl Into>>) -> Self { + pub fn instance_policy( + mut self, + value: impl Into>>, + ) -> Self { self._fields.7 = value.into(); self } /// Set the `instancePolicy` field to an Option value (optional) - pub fn maybe_instance_policy(mut self, value: Option>) -> Self { + pub fn maybe_instance_policy( + mut self, + value: Option>, + ) -> Self { self._fields.7 = value; self } @@ -798,7 +857,10 @@ where St::Name: role_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> RoleBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> RoleBuilder, S> { self._fields.8 = Option::Some(value.into()); RoleBuilder { _state: PhantomData, @@ -900,10 +962,10 @@ where } fn lexicon_doc_world_ptah_temp_role() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.role"), @@ -1078,4 +1140,4 @@ fn lexicon_doc_world_ptah_temp_role() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/world_ptah/temp/world.rs b/crates/jacquard-api/src/world_ptah/temp/world.rs index 0d12742bf..a76972725 100644 --- a/crates/jacquard-api/src/world_ptah/temp/world.rs +++ b/crates/jacquard-api/src/world_ptah/temp/world.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::world_ptah::temp::world; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::world_ptah::temp::world; /// The deed. Establishes that a world exists, who created it, and what its basic properties are. Ptah conceives the world in his heart — this record is that conception made permanent. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -79,18 +79,30 @@ pub enum WorldCanonicalStatus { impl WorldCanonicalStatus { pub fn as_str(&self) -> &str { match self { - Self::CanonicalStatusOfficial => "world.ptah.temp.defs#canonicalStatusOfficial", - Self::CanonicalStatusCommunity => "world.ptah.temp.defs#canonicalStatusCommunity", - Self::CanonicalStatusApocryphal => "world.ptah.temp.defs#canonicalStatusApocryphal", + Self::CanonicalStatusOfficial => { + "world.ptah.temp.defs#canonicalStatusOfficial" + } + Self::CanonicalStatusCommunity => { + "world.ptah.temp.defs#canonicalStatusCommunity" + } + Self::CanonicalStatusApocryphal => { + "world.ptah.temp.defs#canonicalStatusApocryphal" + } Self::Other(s) => s.as_ref(), } } /// Construct from a string-like value, matching known values. pub fn from_value(s: S) -> Self { match s.as_ref() { - "world.ptah.temp.defs#canonicalStatusOfficial" => Self::CanonicalStatusOfficial, - "world.ptah.temp.defs#canonicalStatusCommunity" => Self::CanonicalStatusCommunity, - "world.ptah.temp.defs#canonicalStatusApocryphal" => Self::CanonicalStatusApocryphal, + "world.ptah.temp.defs#canonicalStatusOfficial" => { + Self::CanonicalStatusOfficial + } + "world.ptah.temp.defs#canonicalStatusCommunity" => { + Self::CanonicalStatusCommunity + } + "world.ptah.temp.defs#canonicalStatusApocryphal" => { + Self::CanonicalStatusApocryphal + } _ => Self::Other(s), } } @@ -150,7 +162,9 @@ where WorldCanonicalStatus::CanonicalStatusApocryphal => { WorldCanonicalStatus::CanonicalStatusApocryphal } - WorldCanonicalStatus::Other(v) => WorldCanonicalStatus::Other(v.into_static()), + WorldCanonicalStatus::Other(v) => { + WorldCanonicalStatus::Other(v.into_static()) + } } } } @@ -317,8 +331,12 @@ where type Output = WorldSourceType; fn into_static(self) -> Self::Output { match self { - WorldSourceType::SourceTypeOriginalIp => WorldSourceType::SourceTypeOriginalIp, - WorldSourceType::SourceTypePublicDomain => WorldSourceType::SourceTypePublicDomain, + WorldSourceType::SourceTypeOriginalIp => { + WorldSourceType::SourceTypeOriginalIp + } + WorldSourceType::SourceTypePublicDomain => { + WorldSourceType::SourceTypePublicDomain + } WorldSourceType::SourceTypeCollaborativeCommons => { WorldSourceType::SourceTypeCollaborativeCommons } @@ -341,10 +359,7 @@ pub struct WorldGetRecordOutput { /// Visual and tonal metadata for rendering layers. The world has to feel like something before anything has happened in it yet. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RenderingHints { ///Visual texture, materials, atmosphere. #[serde(skip_serializing_if = "Option::is_none")] @@ -583,7 +598,7 @@ impl LexiconSchema for RenderingHints { pub mod world_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -694,12 +709,18 @@ impl WorldBuilder { impl WorldBuilder { /// Set the `canonicalStatus` field (optional) - pub fn canonical_status(mut self, value: impl Into>>) -> Self { + pub fn canonical_status( + mut self, + value: impl Into>>, + ) -> Self { self._fields.0 = value.into(); self } /// Set the `canonicalStatus` field to an Option value (optional) - pub fn maybe_canonical_status(mut self, value: Option>) -> Self { + pub fn maybe_canonical_status( + mut self, + value: Option>, + ) -> Self { self._fields.0 = value; self } @@ -758,12 +779,18 @@ impl WorldBuilder { impl WorldBuilder { /// Set the `governanceMode` field (optional) - pub fn governance_mode(mut self, value: impl Into>>) -> Self { + pub fn governance_mode( + mut self, + value: impl Into>>, + ) -> Self { self._fields.4 = value.into(); self } /// Set the `governanceMode` field to an Option value (optional) - pub fn maybe_governance_mode(mut self, value: Option>) -> Self { + pub fn maybe_governance_mode( + mut self, + value: Option>, + ) -> Self { self._fields.4 = value; self } @@ -775,7 +802,10 @@ where St::Name: world_state::IsUnset, { /// Set the `name` field (required) - pub fn name(mut self, value: impl Into) -> WorldBuilder, S> { + pub fn name( + mut self, + value: impl Into, + ) -> WorldBuilder, S> { self._fields.5 = Option::Some(value.into()); WorldBuilder { _state: PhantomData, @@ -787,12 +817,18 @@ where impl WorldBuilder { /// Set the `renderingHints` field (optional) - pub fn rendering_hints(mut self, value: impl Into>>) -> Self { + pub fn rendering_hints( + mut self, + value: impl Into>>, + ) -> Self { self._fields.6 = value.into(); self } /// Set the `renderingHints` field to an Option value (optional) - pub fn maybe_rendering_hints(mut self, value: Option>) -> Self { + pub fn maybe_rendering_hints( + mut self, + value: Option>, + ) -> Self { self._fields.6 = value; self } @@ -864,10 +900,10 @@ where } fn lexicon_doc_world_ptah_temp_world() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("world.ptah.temp.world"), @@ -1063,4 +1099,4 @@ fn lexicon_doc_world_ptah_temp_world() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/xyz_atpoke.rs b/crates/jacquard-api/src/xyz_atpoke.rs index b89b7c0f1..4415a1bf6 100644 --- a/crates/jacquard-api/src/xyz_atpoke.rs +++ b/crates/jacquard-api/src/xyz_atpoke.rs @@ -5,4 +5,4 @@ //! Generated bindings for the `xyz.atpoke` Lexicon namespace/module. pub mod feed; -pub mod graph; +pub mod graph; \ No newline at end of file diff --git a/crates/jacquard-api/src/xyz_atpoke/feed.rs b/crates/jacquard-api/src/xyz_atpoke/feed.rs index 25f63fb4e..928ed87ac 100644 --- a/crates/jacquard-api/src/xyz_atpoke/feed.rs +++ b/crates/jacquard-api/src/xyz_atpoke/feed.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `xyz.atpoke.feed` Lexicon namespace/module. -pub mod poke; +pub mod poke; \ No newline at end of file diff --git a/crates/jacquard-api/src/xyz_atpoke/feed/poke.rs b/crates/jacquard-api/src/xyz_atpoke/feed/poke.rs index c8887c8e2..85588862e 100644 --- a/crates/jacquard-api/src/xyz_atpoke/feed/poke.rs +++ b/crates/jacquard-api/src/xyz_atpoke/feed/poke.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// A 'poke' of another record. Kind of like a like. Used to poke a poke (or any other record) #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -107,7 +107,7 @@ impl LexiconSchema for Poke { pub mod poke_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -270,10 +270,10 @@ where } fn lexicon_doc_xyz_atpoke_feed_poke() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("xyz.atpoke.feed.poke"), @@ -330,4 +330,4 @@ fn lexicon_doc_xyz_atpoke_feed_poke() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/xyz_atpoke/graph.rs b/crates/jacquard-api/src/xyz_atpoke/graph.rs index f8f6c726a..ddde9534b 100644 --- a/crates/jacquard-api/src/xyz_atpoke/graph.rs +++ b/crates/jacquard-api/src/xyz_atpoke/graph.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `xyz.atpoke.graph` Lexicon namespace/module. -pub mod poke; +pub mod poke; \ No newline at end of file diff --git a/crates/jacquard-api/src/xyz_atpoke/graph/poke.rs b/crates/jacquard-api/src/xyz_atpoke/graph/poke.rs index 752eef7d7..5fa901019 100644 --- a/crates/jacquard-api/src/xyz_atpoke/graph/poke.rs +++ b/crates/jacquard-api/src/xyz_atpoke/graph/poke.rs @@ -10,13 +10,13 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::collection::{Collection, RecordError}; -use jacquard_common::types::string::{AtUri, Cid, Datetime, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid, Datetime}; use jacquard_common::types::uri::{RecordUri, UriError}; use jacquard_common::types::value::Data; use jacquard_common::xrpc::XrpcResp; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// Record declaring you poked another did, there can be multiple pokes per did #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -104,7 +104,7 @@ impl LexiconSchema for Poke { pub mod poke_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -252,10 +252,10 @@ where } fn lexicon_doc_xyz_atpoke_graph_poke() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("xyz.atpoke.graph.poke"), @@ -305,4 +305,4 @@ fn lexicon_doc_xyz_atpoke_graph_poke() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/za_co.rs b/crates/jacquard-api/src/za_co.rs index 7ca3b3f8e..ab026e82b 100644 --- a/crates/jacquard-api/src/za_co.rs +++ b/crates/jacquard-api/src/za_co.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `za.co` Lexicon namespace/module. -pub mod ciaran; +pub mod ciaran; \ No newline at end of file diff --git a/crates/jacquard-api/src/za_co/ciaran.rs b/crates/jacquard-api/src/za_co/ciaran.rs index 8dce3cce1..9ccbfe5c9 100644 --- a/crates/jacquard-api/src/za_co/ciaran.rs +++ b/crates/jacquard-api/src/za_co/ciaran.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `za.co.ciaran` Lexicon namespace/module. -pub mod cumulus; +pub mod cumulus; \ No newline at end of file diff --git a/crates/jacquard-api/src/za_co/ciaran/cumulus.rs b/crates/jacquard-api/src/za_co/ciaran/cumulus.rs index 6f45369fd..abb438e12 100644 --- a/crates/jacquard-api/src/za_co/ciaran/cumulus.rs +++ b/crates/jacquard-api/src/za_co/ciaran/cumulus.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `za.co.ciaran.cumulus` Lexicon namespace/module. pub mod bet; pub mod market; -pub mod resolution; +pub mod resolution; \ No newline at end of file diff --git a/crates/jacquard-api/src/za_co/ciaran/cumulus/bet.rs b/crates/jacquard-api/src/za_co/ciaran/cumulus/bet.rs index 3d69b3936..cf510b6d2 100644 --- a/crates/jacquard-api/src/za_co/ciaran/cumulus/bet.rs +++ b/crates/jacquard-api/src/za_co/ciaran/cumulus/bet.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// The record containing a Bet placed on a Cumulus Market #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,7 +129,7 @@ impl LexiconSchema for Bet { pub mod bet_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -272,7 +272,10 @@ where St::Position: bet_state::IsUnset, { /// Set the `position` field (required) - pub fn position(mut self, value: impl Into) -> BetBuilder, S> { + pub fn position( + mut self, + value: impl Into, + ) -> BetBuilder, S> { self._fields.2 = Option::Some(value.into()); BetBuilder { _state: PhantomData, @@ -310,10 +313,10 @@ where } fn lexicon_doc_za_co_ciaran_cumulus_bet() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("za.co.ciaran.cumulus.bet"), @@ -322,16 +325,20 @@ fn lexicon_doc_za_co_ciaran_cumulus_bet() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "The record containing a Bet placed on a Cumulus Market", - )), + description: Some( + CowStr::new_static( + "The record containing a Bet placed on a Cumulus Market", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("market"), - SmolStr::new_static("position"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("market"), + SmolStr::new_static("position"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -368,4 +375,4 @@ fn lexicon_doc_za_co_ciaran_cumulus_bet() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/za_co/ciaran/cumulus/market.rs b/crates/jacquard-api/src/za_co/ciaran/cumulus/market.rs index d01177c0d..82fd70baa 100644 --- a/crates/jacquard-api/src/za_co/ciaran/cumulus/market.rs +++ b/crates/jacquard-api/src/za_co/ciaran/cumulus/market.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// The record containing a Cumulus Market #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -117,7 +117,7 @@ impl LexiconSchema for Market { pub mod market_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -339,10 +339,10 @@ where } fn lexicon_doc_za_co_ciaran_cumulus_market() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("za.co.ciaran.cumulus.market"), @@ -351,15 +351,19 @@ fn lexicon_doc_za_co_ciaran_cumulus_market() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static("The record containing a Cumulus Market")), + description: Some( + CowStr::new_static("The record containing a Cumulus Market"), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("question"), - SmolStr::new_static("liquidity"), - SmolStr::new_static("closesAt"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("question"), + SmolStr::new_static("liquidity"), + SmolStr::new_static("closesAt"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -401,4 +405,4 @@ fn lexicon_doc_za_co_ciaran_cumulus_market() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/za_co/ciaran/cumulus/resolution.rs b/crates/jacquard-api/src/za_co/ciaran/cumulus/resolution.rs index 20059273f..ddf9bacd6 100644 --- a/crates/jacquard-api/src/za_co/ciaran/cumulus/resolution.rs +++ b/crates/jacquard-api/src/za_co/ciaran/cumulus/resolution.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,10 +24,10 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::com_atproto::repo::strong_ref::StrongRef; /// The record containing the Resolution for a Cumulus Market #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -129,7 +129,7 @@ impl LexiconSchema for Resolution { pub mod resolution_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -302,7 +302,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Resolution { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Resolution { Resolution { answer: self._fields.0.unwrap(), created_at: self._fields.1.unwrap(), @@ -313,10 +316,10 @@ where } fn lexicon_doc_za_co_ciaran_cumulus_resolution() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("za.co.ciaran.cumulus.resolution"), @@ -325,16 +328,20 @@ fn lexicon_doc_za_co_ciaran_cumulus_resolution() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "The record containing the Resolution for a Cumulus Market", - )), + description: Some( + CowStr::new_static( + "The record containing the Resolution for a Cumulus Market", + ), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("market"), - SmolStr::new_static("answer"), - SmolStr::new_static("createdAt"), - ]), + required: Some( + vec![ + SmolStr::new_static("market"), + SmolStr::new_static("answer"), + SmolStr::new_static("createdAt") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -371,4 +378,4 @@ fn lexicon_doc_za_co_ciaran_cumulus_resolution() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zip_viruus.rs b/crates/jacquard-api/src/zip_viruus.rs index d1adc6c0c..125745e4b 100644 --- a/crates/jacquard-api/src/zip_viruus.rs +++ b/crates/jacquard-api/src/zip_viruus.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `zip.viruus` Lexicon namespace/module. -pub mod chat; +pub mod chat; \ No newline at end of file diff --git a/crates/jacquard-api/src/zip_viruus/chat.rs b/crates/jacquard-api/src/zip_viruus/chat.rs index ada38a2c4..8d0fa0e26 100644 --- a/crates/jacquard-api/src/zip_viruus/chat.rs +++ b/crates/jacquard-api/src/zip_viruus/chat.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `zip.viruus.chat` Lexicon namespace/module. -pub mod message; +pub mod message; \ No newline at end of file diff --git a/crates/jacquard-api/src/zip_viruus/chat/message.rs b/crates/jacquard-api/src/zip_viruus/chat/message.rs index e1e32ec83..5205d0f8b 100644 --- a/crates/jacquard-api/src/zip_viruus/chat/message.rs +++ b/crates/jacquard-api/src/zip_viruus/chat/message.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -26,7 +26,7 @@ use jacquard_lexicon::schema::LexiconSchema; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; /// A single chat message in a whoossh channel. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -143,7 +143,7 @@ impl LexiconSchema for Message { pub mod message_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -286,7 +286,10 @@ where St::Text: message_state::IsUnset, { /// Set the `text` field (required) - pub fn text(mut self, value: impl Into) -> MessageBuilder, S> { + pub fn text( + mut self, + value: impl Into, + ) -> MessageBuilder, S> { self._fields.2 = Option::Some(value.into()); MessageBuilder { _state: PhantomData, @@ -324,10 +327,10 @@ where } fn lexicon_doc_zip_viruus_chat_message() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("zip.viruus.chat.message"), @@ -336,25 +339,27 @@ fn lexicon_doc_zip_viruus_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("main"), LexUserType::Record(LexRecord { - description: Some(CowStr::new_static( - "A single chat message in a whoossh channel.", - )), + description: Some( + CowStr::new_static("A single chat message in a whoossh channel."), + ), key: Some(CowStr::new_static("tid")), record: LexRecordRecord::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("text"), - SmolStr::new_static("createdAt"), - SmolStr::new_static("channel"), - ]), + required: Some( + vec![ + SmolStr::new_static("text"), + SmolStr::new_static("createdAt"), + SmolStr::new_static("channel") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("channel"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The channel the message was sent in.", - )), + description: Some( + CowStr::new_static("The channel the message was sent in."), + ), max_length: Some(100usize), ..Default::default() }), @@ -362,9 +367,11 @@ fn lexicon_doc_zip_viruus_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("createdAt"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of when the message was sent.", - )), + description: Some( + CowStr::new_static( + "Timestamp of when the message was sent.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -372,7 +379,9 @@ fn lexicon_doc_zip_viruus_chat_message() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("text"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The message content.")), + description: Some( + CowStr::new_static("The message content."), + ), max_length: Some(500usize), max_graphemes: Some(500usize), ..Default::default() @@ -389,4 +398,4 @@ fn lexicon_doc_zip_viruus_chat_message() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos.rs b/crates/jacquard-api/src/zone_stratos.rs index fe5d3c947..209b6df22 100644 --- a/crates/jacquard-api/src/zone_stratos.rs +++ b/crates/jacquard-api/src/zone_stratos.rs @@ -14,33 +14,31 @@ pub mod identity; pub mod repo; pub mod sync; + #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{AtUri, Cid, Did}; +use jacquard_common::types::string::{Did, AtUri, Cid}; use jacquard_common::types::value::Data; use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::zone_stratos; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::zone_stratos; /// Indicates this record requires hydration from an external service. The stub record on the PDS contains minimal data; full content is fetched from the service endpoint. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Source { ///DID of the hydration service, optionally with fragment identifying the service entry (e.g., 'did:plc:abc123#atproto_pns'). pub service: Did, @@ -134,10 +132,7 @@ where /// A strong reference to a record, including its content hash for verification. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubjectRef { ///CID of the full record content for integrity verification. pub cid: Cid, @@ -190,7 +185,7 @@ impl LexiconSchema for SubjectRef { pub mod source_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -378,10 +373,10 @@ where } fn lexicon_doc_zone_stratos_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("zone.stratos.defs"), @@ -491,7 +486,7 @@ fn lexicon_doc_zone_stratos_defs() -> LexiconDoc<'static> { pub mod subject_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -629,11 +624,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> SubjectRef { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> SubjectRef { SubjectRef { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/actor.rs b/crates/jacquard-api/src/zone_stratos/actor.rs index 5b1bdb35a..20e97f1c0 100644 --- a/crates/jacquard-api/src/zone_stratos/actor.rs +++ b/crates/jacquard-api/src/zone_stratos/actor.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `zone.stratos.actor` Lexicon namespace/module. -pub mod enrollment; +pub mod enrollment; \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/actor/enrollment.rs b/crates/jacquard-api/src/zone_stratos/actor/enrollment.rs index c7fff452c..6f96312dc 100644 --- a/crates/jacquard-api/src/zone_stratos/actor/enrollment.rs +++ b/crates/jacquard-api/src/zone_stratos/actor/enrollment.rs @@ -10,8 +10,8 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -25,11 +25,11 @@ use jacquard_derive::{IntoStatic, lexicon}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::zone_stratos::actor::enrollment; -use crate::zone_stratos::boundary::Domain; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::zone_stratos::boundary::Domain; +use crate::zone_stratos::actor::enrollment; /// A record indicating the user is enrolled in a Stratos service. Published to the user's PDS during OAuth enrollment for endpoint discovery by AppViews. Multiple enrollment records are supported — one per Stratos service. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -69,10 +69,7 @@ pub struct EnrollmentGetRecordOutput { /// An attestation signed by the Stratos service key. The signed payload is DAG-CBOR encoded {boundaries, did, signingKey} with sorted keys. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ServiceAttestation { ///Raw signature bytes of the DAG-CBOR encoded attestation payload, signed by the service key. #[serde(with = "jacquard_common::serde_bytes_helper")] @@ -158,7 +155,7 @@ impl LexiconSchema for ServiceAttestation { pub mod enrollment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -388,7 +385,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Enrollment { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Enrollment { Enrollment { attestation: self._fields.0.unwrap(), boundaries: self._fields.1, @@ -401,10 +401,10 @@ where } fn lexicon_doc_zone_stratos_actor_enrollment() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("zone.stratos.actor.enrollment"), @@ -542,7 +542,7 @@ fn lexicon_doc_zone_stratos_actor_enrollment() -> LexiconDoc<'static> { pub mod service_attestation_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -585,7 +585,10 @@ pub mod service_attestation_state { } /// Builder for constructing an instance of this type. -pub struct ServiceAttestationBuilder { +pub struct ServiceAttestationBuilder< + St: service_attestation_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option), _type: PhantomData S>, @@ -593,7 +596,10 @@ pub struct ServiceAttestationBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ServiceAttestationBuilder { + pub fn new() -> ServiceAttestationBuilder< + service_attestation_state::Empty, + DefaultStr, + > { ServiceAttestationBuilder::new() } } @@ -680,11 +686,14 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> ServiceAttestation { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> ServiceAttestation { ServiceAttestation { sig: self._fields.0.unwrap(), signing_key: self._fields.1.unwrap(), extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/boundary.rs b/crates/jacquard-api/src/zone_stratos/boundary.rs index 73783609e..7a390cbea 100644 --- a/crates/jacquard-api/src/zone_stratos/boundary.rs +++ b/crates/jacquard-api/src/zone_stratos/boundary.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -20,17 +20,14 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::zone_stratos::boundary; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::zone_stratos::boundary; /// A specific domain to define exposure boundary. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Domain { ///Domain identifier for boundary. Must be a valid domain name. pub value: S, @@ -41,10 +38,7 @@ pub struct Domain { /// A collection of domains that define the exposure boundary for a record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Domains { ///List of domains that can access this record. pub values: Vec>, @@ -105,10 +99,10 @@ impl LexiconSchema for Domains { } fn lexicon_doc_zone_stratos_boundary_defs() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("zone.stratos.boundary.defs"), @@ -117,9 +111,11 @@ fn lexicon_doc_zone_stratos_boundary_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("Domain"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A specific domain to define exposure boundary.", - )), + description: Some( + CowStr::new_static( + "A specific domain to define exposure boundary.", + ), + ), required: Some(vec![SmolStr::new_static("value")]), properties: { #[allow(unused_mut)] @@ -127,9 +123,11 @@ fn lexicon_doc_zone_stratos_boundary_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("value"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Domain identifier for boundary. Must be a valid domain name.", - )), + description: Some( + CowStr::new_static( + "Domain identifier for boundary. Must be a valid domain name.", + ), + ), max_length: Some(253usize), ..Default::default() }), @@ -142,9 +140,11 @@ fn lexicon_doc_zone_stratos_boundary_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("Domains"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A collection of domains that define the exposure boundary for a record.", - )), + description: Some( + CowStr::new_static( + "A collection of domains that define the exposure boundary for a record.", + ), + ), required: Some(vec![SmolStr::new_static("values")]), properties: { #[allow(unused_mut)] @@ -152,9 +152,11 @@ fn lexicon_doc_zone_stratos_boundary_defs() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("values"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "List of domains that can access this record.", - )), + description: Some( + CowStr::new_static( + "List of domains that can access this record.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#Domain"), ..Default::default() @@ -176,7 +178,7 @@ fn lexicon_doc_zone_stratos_boundary_defs() -> LexiconDoc<'static> { pub mod domains_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -287,4 +289,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/enrollment.rs b/crates/jacquard-api/src/zone_stratos/enrollment.rs index 943ac1d65..d34de0310 100644 --- a/crates/jacquard-api/src/zone_stratos/enrollment.rs +++ b/crates/jacquard-api/src/zone_stratos/enrollment.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `zone.stratos.enrollment` Lexicon namespace/module. -pub mod status; +pub mod status; \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/enrollment/status.rs b/crates/jacquard-api/src/zone_stratos/enrollment/status.rs index f031f057d..0ccabdc3d 100644 --- a/crates/jacquard-api/src/zone_stratos/enrollment/status.rs +++ b/crates/jacquard-api/src/zone_stratos/enrollment/status.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; -use jacquard_common::types::string::{Datetime, Did}; +use jacquard_common::types::string::{Did, Datetime}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Status { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct StatusOutput { ///Authoritative boundaries assigned. Only included when request is authenticated. #[serde(skip_serializing_if = "Option::is_none")] @@ -76,7 +71,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for StatusRequest { pub mod status_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -155,7 +150,10 @@ where St::Did: status_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> StatusBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> StatusBuilder, S> { self._fields.0 = Option::Some(value.into()); StatusBuilder { _state: PhantomData, @@ -176,4 +174,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/feed.rs b/crates/jacquard-api/src/zone_stratos/feed.rs index 015fb8ada..f4ad2bf96 100644 --- a/crates/jacquard-api/src/zone_stratos/feed.rs +++ b/crates/jacquard-api/src/zone_stratos/feed.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `zone.stratos.feed` Lexicon namespace/module. -pub mod post; +pub mod post; \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/feed/post.rs b/crates/jacquard-api/src/zone_stratos/feed/post.rs index 38fd0fe9c..baa0c7f86 100644 --- a/crates/jacquard-api/src/zone_stratos/feed/post.rs +++ b/crates/jacquard-api/src/zone_stratos/feed/post.rs @@ -10,7 +10,7 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; @@ -24,6 +24,9 @@ use jacquard_derive::{IntoStatic, lexicon, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; +#[allow(unused_imports)] +use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; +use serde::{Serialize, Deserialize}; use crate::app_bsky::embed::external::ExternalRecord; use crate::app_bsky::embed::images::Images; use crate::app_bsky::embed::record::Record; @@ -35,9 +38,6 @@ use crate::com_atproto::repo::strong_ref::StrongRef; use crate::zone_stratos::Source; use crate::zone_stratos::boundary::Domains; use crate::zone_stratos::feed::post; -#[allow(unused_imports)] -use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; /// Record containing a private Stratos post with domain boundary restrictions. When stored on user's PDS as a stub, only 'source' and 'createdAt' are present. Full content is available from the hydration service. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] @@ -79,6 +79,7 @@ pub struct Post { pub extra_data: Option>>, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -109,10 +110,7 @@ pub struct PostGetRecordOutput { /// Reference to parent and root posts for replies. Must reference stratos posts only. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ReplyRef { pub parent: StrongRef, pub root: StrongRef, @@ -227,7 +225,7 @@ impl LexiconSchema for ReplyRef { pub mod post_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -487,10 +485,10 @@ where } fn lexicon_doc_zone_stratos_feed_post() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("zone.stratos.feed.post"), @@ -686,7 +684,7 @@ fn lexicon_doc_zone_stratos_feed_post() -> LexiconDoc<'static> { pub mod reply_ref_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -831,4 +829,4 @@ where extra_data: Some(extra_data), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/identity.rs b/crates/jacquard-api/src/zone_stratos/identity.rs index e72328f56..926022b17 100644 --- a/crates/jacquard-api/src/zone_stratos/identity.rs +++ b/crates/jacquard-api/src/zone_stratos/identity.rs @@ -4,4 +4,4 @@ // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `zone.stratos.identity` Lexicon namespace/module. -pub mod resolve_enrollments; +pub mod resolve_enrollments; \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/identity/resolve_enrollments.rs b/crates/jacquard-api/src/zone_stratos/identity/resolve_enrollments.rs index 2d11efdf6..67b395989 100644 --- a/crates/jacquard-api/src/zone_stratos/identity/resolve_enrollments.rs +++ b/crates/jacquard-api/src/zone_stratos/identity/resolve_enrollments.rs @@ -10,27 +10,22 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::Did; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::IntoStatic; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveEnrollments { pub did: Did, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ResolveEnrollmentsOutput { ///Boundary domains the user is enrolled in. Empty if not enrolled. pub boundaries: Vec, @@ -71,7 +66,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for ResolveEnrollmentsRequest { pub mod resolve_enrollments_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -102,7 +97,10 @@ pub mod resolve_enrollments_state { } /// Builder for constructing an instance of this type. -pub struct ResolveEnrollmentsBuilder { +pub struct ResolveEnrollmentsBuilder< + St: resolve_enrollments_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>,), _type: PhantomData S>, @@ -110,7 +108,10 @@ pub struct ResolveEnrollmentsBuilder { /// Create a new builder for this type, using the default string type (DefaultStr = SmolStr) if needed - pub fn new() -> ResolveEnrollmentsBuilder { + pub fn new() -> ResolveEnrollmentsBuilder< + resolve_enrollments_state::Empty, + DefaultStr, + > { ResolveEnrollmentsBuilder::new() } } @@ -174,4 +175,4 @@ where did: self._fields.0.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/repo.rs b/crates/jacquard-api/src/zone_stratos/repo.rs index ee35a8480..4e0065826 100644 --- a/crates/jacquard-api/src/zone_stratos/repo.rs +++ b/crates/jacquard-api/src/zone_stratos/repo.rs @@ -6,4 +6,4 @@ //! Generated bindings for the `zone.stratos.repo` Lexicon namespace/module. pub mod hydrate_record; pub mod hydrate_records; -pub mod import_repo; +pub mod import_repo; \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/repo/hydrate_record.rs b/crates/jacquard-api/src/zone_stratos/repo/hydrate_record.rs index beb901b1a..4b1b40816 100644 --- a/crates/jacquard-api/src/zone_stratos/repo/hydrate_record.rs +++ b/crates/jacquard-api/src/zone_stratos/repo/hydrate_record.rs @@ -10,29 +10,24 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{AtUri, Cid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HydrateRecord { #[serde(skip_serializing_if = "Option::is_none")] pub cid: Option>, pub uri: AtUri, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HydrateRecordOutput { pub cid: Cid, pub uri: AtUri, @@ -41,9 +36,18 @@ pub struct HydrateRecordOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum HydrateRecordError { /// The requested record does not exist @@ -54,10 +58,7 @@ pub enum HydrateRecordError { RecordBlocked(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for HydrateRecordError { @@ -118,7 +119,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for HydrateRecordRequest { pub mod hydrate_record_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -149,7 +150,10 @@ pub mod hydrate_record_state { } /// Builder for constructing an instance of this type. -pub struct HydrateRecordBuilder { +pub struct HydrateRecordBuilder< + St: hydrate_record_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>, Option>), _type: PhantomData S>, @@ -235,4 +239,4 @@ where uri: self._fields.1.unwrap(), } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/repo/hydrate_records.rs b/crates/jacquard-api/src/zone_stratos/repo/hydrate_records.rs index cc7407c60..2c470dacc 100644 --- a/crates/jacquard-api/src/zone_stratos/repo/hydrate_records.rs +++ b/crates/jacquard-api/src/zone_stratos/repo/hydrate_records.rs @@ -21,16 +21,13 @@ use jacquard_derive::IntoStatic; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::zone_stratos::repo::hydrate_records; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::zone_stratos::repo::hydrate_records; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HydrateRecords { ///Array of AT-URIs to hydrate (max 100) pub uris: Vec>, @@ -38,11 +35,9 @@ pub struct HydrateRecords { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct HydrateRecordsOutput { ///URIs blocked due to boundary restrictions pub blocked: Vec>, @@ -54,11 +49,9 @@ pub struct HydrateRecordsOutput { pub extra_data: Option>>, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordView { pub cid: Cid, pub uri: AtUri, @@ -80,8 +73,9 @@ impl jacquard_common::xrpc::XrpcResp for HydrateRecordsResponse { impl jacquard_common::xrpc::XrpcRequest for HydrateRecords { const NSID: &'static str = "zone.stratos.repo.hydrateRecords"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Response = HydrateRecordsResponse; } @@ -91,8 +85,9 @@ Path: `/xrpc/zone.stratos.repo.hydrateRecords`. The request payload type is `Hyd pub struct HydrateRecordsRequest; impl jacquard_common::xrpc::XrpcEndpoint for HydrateRecordsRequest { const PATH: &'static str = "/xrpc/zone.stratos.repo.hydrateRecords"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/json", + ); type Request = HydrateRecords; type Response = HydrateRecordsResponse; } @@ -114,7 +109,7 @@ impl LexiconSchema for RecordView { pub mod hydrate_records_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -145,7 +140,10 @@ pub mod hydrate_records_state { } /// Builder for constructing an instance of this type. -pub struct HydrateRecordsBuilder { +pub struct HydrateRecordsBuilder< + St: hydrate_records_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option>>,), _type: PhantomData S>, @@ -219,7 +217,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> HydrateRecords { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> HydrateRecords { HydrateRecords { uris: self._fields.0.unwrap(), extra_data: Some(extra_data), @@ -229,7 +230,7 @@ where pub mod record_view_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -402,7 +403,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> RecordView { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> RecordView { RecordView { cid: self._fields.0.unwrap(), uri: self._fields.1.unwrap(), @@ -413,10 +417,10 @@ where } fn lexicon_doc_zone_stratos_repo_hydrateRecords() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("zone.stratos.repo.hydrateRecords"), @@ -427,29 +431,31 @@ fn lexicon_doc_zone_stratos_repo_hydrateRecords() -> LexiconDoc<'static> { LexUserType::XrpcProcedure(LexXrpcProcedure { input: Some(LexXrpcBody { encoding: CowStr::new_static("application/json"), - schema: Some(LexXrpcBodySchema::Object(LexObject { - required: Some(vec![SmolStr::new_static("uris")]), - properties: { - #[allow(unused_mut)] - let mut map = BTreeMap::new(); - map.insert( - SmolStr::new_static("uris"), - LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "Array of AT-URIs to hydrate (max 100)", - )), - items: LexArrayItem::String(LexString { - format: Some(LexStringFormat::AtUri), + schema: Some( + LexXrpcBodySchema::Object(LexObject { + required: Some(vec![SmolStr::new_static("uris")]), + properties: { + #[allow(unused_mut)] + let mut map = BTreeMap::new(); + map.insert( + SmolStr::new_static("uris"), + LexObjectProperty::Array(LexArray { + description: Some( + CowStr::new_static("Array of AT-URIs to hydrate (max 100)"), + ), + items: LexArrayItem::String(LexString { + format: Some(LexStringFormat::AtUri), + ..Default::default() + }), + max_length: Some(100usize), ..Default::default() }), - max_length: Some(100usize), - ..Default::default() - }), - ); - map - }, - ..Default::default() - })), + ); + map + }, + ..Default::default() + }), + ), ..Default::default() }), ..Default::default() @@ -458,11 +464,12 @@ fn lexicon_doc_zone_stratos_repo_hydrateRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("recordView"), LexUserType::Object(LexObject { - required: Some(vec![ - SmolStr::new_static("uri"), - SmolStr::new_static("cid"), - SmolStr::new_static("value"), - ]), + required: Some( + vec![ + SmolStr::new_static("uri"), SmolStr::new_static("cid"), + SmolStr::new_static("value") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); @@ -495,4 +502,4 @@ fn lexicon_doc_zone_stratos_repo_hydrateRecords() -> LexiconDoc<'static> { }, ..Default::default() } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/repo/import_repo.rs b/crates/jacquard-api/src/zone_stratos/repo/import_repo.rs index 1ee1b237d..7630c2166 100644 --- a/crates/jacquard-api/src/zone_stratos/repo/import_repo.rs +++ b/crates/jacquard-api/src/zone_stratos/repo/import_repo.rs @@ -10,12 +10,12 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] @@ -23,11 +23,9 @@ pub struct ImportRepo { pub body: Bytes, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ImportRepoOutput { ///Number of records successfully imported. pub imported: i64, @@ -35,9 +33,18 @@ pub struct ImportRepoOutput { pub extra_data: Option>>, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum ImportRepoError { /// The CAR file is malformed, has missing blocks, or contains records with mismatched CIDs. @@ -48,10 +55,7 @@ pub enum ImportRepoError { RepoAlreadyExists(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ImportRepoError { @@ -95,16 +99,22 @@ impl jacquard_common::xrpc::XrpcResp for ImportRepoResponse { impl jacquard_common::xrpc::XrpcRequest for ImportRepo { const NSID: &'static str = "zone.stratos.repo.importRepo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/vnd.ipld.car", + ); type Response = ImportRepoResponse; - fn encode_body(&self, buffer: &mut Vec) -> Result<(), jacquard_common::xrpc::EncodeError> + fn encode_body( + &self, + buffer: &mut Vec, + ) -> Result<(), jacquard_common::xrpc::EncodeError> where Self: Serialize, { Ok(buffer.copy_from_slice(self.body.as_ref())) } - fn decode_body<'de>(body: &'de [u8]) -> Result + fn decode_body<'de>( + body: &'de [u8], + ) -> Result where Self: Deserialize<'de>, { @@ -120,8 +130,9 @@ Path: `/xrpc/zone.stratos.repo.importRepo`. The request payload type is `ImportR pub struct ImportRepoRequest; impl jacquard_common::xrpc::XrpcEndpoint for ImportRepoRequest { const PATH: &'static str = "/xrpc/zone.stratos.repo.importRepo"; - const METHOD: jacquard_common::xrpc::XrpcMethod = - jacquard_common::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car"); + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( + "application/vnd.ipld.car", + ); type Request = ImportRepo; type Response = ImportRepoResponse; -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/sync.rs b/crates/jacquard-api/src/zone_stratos/sync.rs index 37af68dc1..28aa4ac41 100644 --- a/crates/jacquard-api/src/zone_stratos/sync.rs +++ b/crates/jacquard-api/src/zone_stratos/sync.rs @@ -6,5 +6,6 @@ //! Generated bindings for the `zone.stratos.sync` Lexicon namespace/module. pub mod get_repo; + #[cfg(feature = "streaming")] -pub mod subscribe_records; +pub mod subscribe_records; \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/sync/get_repo.rs b/crates/jacquard-api/src/zone_stratos/sync/get_repo.rs index 22a62f8ee..72bec0ab1 100644 --- a/crates/jacquard-api/src/zone_stratos/sync/get_repo.rs +++ b/crates/jacquard-api/src/zone_stratos/sync/get_repo.rs @@ -10,34 +10,41 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::bytes::Bytes; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::string::{Did, Tid}; use jacquard_common::types::value::Data; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; use jacquard_derive::{IntoStatic, open_union}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct GetRepo { pub did: Did, #[serde(skip_serializing_if = "Option::is_none")] pub since: Option, } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(rename_all = "camelCase")] pub struct GetRepoOutput { pub body: Bytes, } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum GetRepoError { /// The requested repo does not exist or has no commits. @@ -45,10 +52,7 @@ pub enum GetRepoError { RepoNotFound(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for GetRepoError { @@ -121,7 +125,7 @@ impl jacquard_common::xrpc::XrpcEndpoint for GetRepoRequest { pub mod get_repo_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -238,4 +242,4 @@ where since: self._fields.1, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-api/src/zone_stratos/sync/subscribe_records.rs b/crates/jacquard-api/src/zone_stratos/sync/subscribe_records.rs index 774247757..f42f09f35 100644 --- a/crates/jacquard-api/src/zone_stratos/sync/subscribe_records.rs +++ b/crates/jacquard-api/src/zone_stratos/sync/subscribe_records.rs @@ -10,29 +10,26 @@ use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; -use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr}; +use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; #[allow(unused_imports)] use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::cid::CidLink; -use jacquard_common::types::string::{Datetime, Did, Tid, UriValue}; +use jacquard_common::types::string::{Did, Tid, Datetime, UriValue}; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use jacquard_lexicon::lexicon::LexiconDoc; use jacquard_lexicon::schema::LexiconSchema; -use crate::zone_stratos::sync::subscribe_records; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; -use serde::{Deserialize, Serialize}; +use serde::{Serialize, Deserialize}; +use crate::zone_stratos::sync::subscribe_records; /// A commit event containing record operations. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Commit { ///The DID of the account. pub did: Did, @@ -51,10 +48,7 @@ pub struct Commit { /// An enrollment event indicating a user has enrolled or unenrolled from the service. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Enrollment { ///The enrollment action. pub action: EnrollmentAction, @@ -154,10 +148,7 @@ where /// An informational message about the subscription state. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct Info { ///Additional details about the info message. #[serde(skip_serializing_if = "Option::is_none")] @@ -243,11 +234,9 @@ where } } + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct SubscribeRecords { #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, @@ -260,6 +249,7 @@ pub struct SubscribeRecords { pub sync_token: Option, } + #[open_union] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)] #[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))] @@ -280,30 +270,49 @@ impl SubscribeRecordsMessage { where S: serde::Deserialize<'de>, { - let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?; + let (header, body) = jacquard_common::xrpc::subscription::parse_event_header( + bytes, + )?; match header.t.as_str() { "#commit" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Commit(Box::new(variant))) } "#enrollment" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Enrollment(Box::new(variant))) } "#info" => { - let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?; + let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice( + body, + )?; Ok(Self::Info(Box::new(variant))) } - unknown => Err(jacquard_common::error::DecodeError::UnknownEventType( - unknown.into(), - )), + unknown => { + Err( + jacquard_common::error::DecodeError::UnknownEventType(unknown.into()), + ) + } } } } + #[derive( - Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic, + Serialize, + Deserialize, + Debug, + Clone, + PartialEq, + Eq, + thiserror::Error, + miette::Diagnostic )] + #[serde(tag = "error", content = "message")] pub enum SubscribeRecordsError { /// Cursor is in the future. @@ -314,10 +323,7 @@ pub enum SubscribeRecordsError { AuthRequired(Option), /// Catch-all for unknown error codes. #[serde(untagged)] - Other { - error: SmolStr, - message: Option, - }, + Other { error: SmolStr, message: Option }, } impl core::fmt::Display for SubscribeRecordsError { @@ -351,10 +357,7 @@ impl core::fmt::Display for SubscribeRecordsError { /// A single record operation within a commit. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] -#[serde( - rename_all = "camelCase", - bound(deserialize = "S: Deserialize<'de> + BosStr") -)] +#[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct RecordOp { ///The type of operation. pub action: RecordOpAction, @@ -535,24 +538,21 @@ impl LexiconSchema for Info { pub struct SubscribeRecordsStream; impl jacquard_common::xrpc::SubscriptionResp for SubscribeRecordsStream { const NSID: &'static str = "zone.stratos.sync.subscribeRecords"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::Json; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json; type Message = SubscribeRecordsMessage; type Error = SubscribeRecordsError; } impl jacquard_common::xrpc::XrpcSubscription for SubscribeRecords { const NSID: &'static str = "zone.stratos.sync.subscribeRecords"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::Json; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json; type Stream = SubscribeRecordsStream; } pub struct SubscribeRecordsEndpoint; impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeRecordsEndpoint { const PATH: &'static str = "/xrpc/zone.stratos.sync.subscribeRecords"; - const ENCODING: jacquard_common::xrpc::MessageEncoding = - jacquard_common::xrpc::MessageEncoding::Json; + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::Json; type Params = SubscribeRecords; type Stream = SubscribeRecordsStream; } @@ -596,7 +596,7 @@ impl LexiconSchema for RecordOp { pub mod commit_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -741,7 +741,10 @@ where St::Did: commit_state::IsUnset, { /// Set the `did` field (required) - pub fn did(mut self, value: impl Into>) -> CommitBuilder, S> { + pub fn did( + mut self, + value: impl Into>, + ) -> CommitBuilder, S> { self._fields.0 = Option::Some(value.into()); CommitBuilder { _state: PhantomData, @@ -776,7 +779,10 @@ where St::Rev: commit_state::IsUnset, { /// Set the `rev` field (required) - pub fn rev(mut self, value: impl Into) -> CommitBuilder, S> { + pub fn rev( + mut self, + value: impl Into, + ) -> CommitBuilder, S> { self._fields.2 = Option::Some(value.into()); CommitBuilder { _state: PhantomData, @@ -792,7 +798,10 @@ where St::Seq: commit_state::IsUnset, { /// Set the `seq` field (required) - pub fn seq(mut self, value: impl Into) -> CommitBuilder, S> { + pub fn seq( + mut self, + value: impl Into, + ) -> CommitBuilder, S> { self._fields.3 = Option::Some(value.into()); CommitBuilder { _state: PhantomData, @@ -855,10 +864,10 @@ where } fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { - use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; + use alloc::collections::BTreeMap; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("zone.stratos.sync.subscribeRecords"), @@ -867,23 +876,27 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("commit"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A commit event containing record operations.", - )), - required: Some(vec![ - SmolStr::new_static("seq"), - SmolStr::new_static("did"), - SmolStr::new_static("time"), - SmolStr::new_static("rev"), - SmolStr::new_static("ops"), - ]), + description: Some( + CowStr::new_static( + "A commit event containing record operations.", + ), + ), + required: Some( + vec![ + SmolStr::new_static("seq"), SmolStr::new_static("did"), + SmolStr::new_static("time"), SmolStr::new_static("rev"), + SmolStr::new_static("ops") + ], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("did"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The DID of the account.")), + description: Some( + CowStr::new_static("The DID of the account."), + ), format: Some(LexStringFormat::Did), ..Default::default() }), @@ -891,9 +904,11 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("ops"), LexObjectProperty::Array(LexArray { - description: Some(CowStr::new_static( - "List of record operations in this commit.", - )), + description: Some( + CowStr::new_static( + "List of record operations in this commit.", + ), + ), items: LexArrayItem::Ref(LexRef { r#ref: CowStr::new_static("#recordOp"), ..Default::default() @@ -918,9 +933,11 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("time"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Timestamp of when the event was sequenced.", - )), + description: Some( + CowStr::new_static( + "Timestamp of when the event was sequenced.", + ), + ), format: Some(LexStringFormat::Datetime), ..Default::default() }), @@ -1007,9 +1024,11 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("info"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "An informational message about the subscription state.", - )), + description: Some( + CowStr::new_static( + "An informational message about the subscription state.", + ), + ), required: Some(vec![SmolStr::new_static("name")]), properties: { #[allow(unused_mut)] @@ -1017,9 +1036,11 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("message"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "Additional details about the info message.", - )), + description: Some( + CowStr::new_static( + "Additional details about the info message.", + ), + ), max_length: Some(1024usize), ..Default::default() }), @@ -1027,7 +1048,9 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("name"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The type of info message.")), + description: Some( + CowStr::new_static("The type of info message."), + ), max_length: Some(128usize), ..Default::default() }), @@ -1097,20 +1120,21 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("recordOp"), LexUserType::Object(LexObject { - description: Some(CowStr::new_static( - "A single record operation within a commit.", - )), - required: Some(vec![ - SmolStr::new_static("action"), - SmolStr::new_static("path"), - ]), + description: Some( + CowStr::new_static("A single record operation within a commit."), + ), + required: Some( + vec![SmolStr::new_static("action"), SmolStr::new_static("path")], + ), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("action"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static("The type of operation.")), + description: Some( + CowStr::new_static("The type of operation."), + ), max_length: Some(32usize), ..Default::default() }), @@ -1124,9 +1148,9 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { map.insert( SmolStr::new_static("path"), LexObjectProperty::String(LexString { - description: Some(CowStr::new_static( - "The record path (collection/rkey).", - )), + description: Some( + CowStr::new_static("The record path (collection/rkey)."), + ), max_length: Some(512usize), ..Default::default() }), @@ -1150,7 +1174,7 @@ fn lexicon_doc_zone_stratos_sync_subscribeRecords() -> LexiconDoc<'static> { pub mod enrollment_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1357,7 +1381,10 @@ where } } /// Build the final struct with custom extra_data. - pub fn build_with_data(self, extra_data: BTreeMap>) -> Enrollment { + pub fn build_with_data( + self, + extra_data: BTreeMap>, + ) -> Enrollment { Enrollment { action: self._fields.0.unwrap(), boundaries: self._fields.1, @@ -1371,7 +1398,7 @@ where pub mod subscribe_records_state { - pub use crate::builder_types::{IsSet, IsUnset, Set, Unset}; + pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; #[allow(unused)] use ::core::marker::PhantomData; mod sealed { @@ -1389,7 +1416,10 @@ pub mod subscribe_records_state { } /// Builder for constructing an instance of this type. -pub struct SubscribeRecordsBuilder { +pub struct SubscribeRecordsBuilder< + St: subscribe_records_state::State, + S: BosStr = DefaultStr, +> { _state: PhantomData St>, _fields: (Option, Option>, Option, Option), _type: PhantomData S>, @@ -1496,4 +1526,4 @@ where sync_token: self._fields.3, } } -} +} \ No newline at end of file diff --git a/crates/jacquard-axum/Cargo.toml b/crates/jacquard-axum/Cargo.toml index e84a5127a..90a5a80aa 100644 --- a/crates/jacquard-axum/Cargo.toml +++ b/crates/jacquard-axum/Cargo.toml @@ -20,7 +20,7 @@ name = "axum_server" path = "../../examples/axum_server.rs" [[example]] -name = "axum_oauth_sesssion" +name = "axum_oauth_session" path = "../../examples/axum_oauth_session.rs" [dependencies] diff --git a/crates/jacquard-axum/src/did_web.rs b/crates/jacquard-axum/src/did_web.rs index 95904a347..37a624459 100644 --- a/crates/jacquard-axum/src/did_web.rs +++ b/crates/jacquard-axum/src/did_web.rs @@ -54,7 +54,7 @@ use jacquard_common::types::did_doc::DidDocument; /// use jacquard_axum::did_web::did_web_router; /// use jacquard_common::types::did_doc::DidDocument; /// -/// # async fn example(did_doc: DidDocument<'static>) { +/// # async fn example(did_doc: DidDocument) { /// let app = Router::new() /// .merge(did_web_router(did_doc)); /// # } @@ -75,3 +75,67 @@ pub fn did_web_router(did_doc: DidDocument) -> Router { }), ) } + +#[cfg(test)] +mod tests { + use super::*; + use axum::body::{Body, to_bytes}; + use axum::http::{Request, StatusCode, header}; + use jacquard::deps::smol_str::SmolStr; + use jacquard::types::string::Did; + use jacquard_common::types::did_doc::DidDocument; + use tower::ServiceExt; + + // A minimal but spec-shaped DID document used by the did:web router tests. + fn sample_did_document() -> DidDocument { + DidDocument { + context: vec![SmolStr::new_static("https://www.w3.org/ns/did/v1")], + id: Did::new_static("did:web:example.com").unwrap(), + also_known_as: None, + verification_method: None, + service: Some(vec![]), + extra_data: std::collections::BTreeMap::new(), + } + } + + #[tokio::test] + async fn did_web_router_serves_document_at_well_known_path() { + let doc = sample_did_document(); + let expected = serde_json::to_value(&doc).unwrap(); + let app = did_web_router(doc); + + let response = app + .oneshot( + Request::builder() + .uri("/.well-known/did.json") + .body(Body::empty()) + .unwrap(), + ) + .await + .unwrap(); + assert_eq!(response.status(), StatusCode::OK); + assert_eq!( + response.headers().get(header::CONTENT_TYPE).unwrap(), + "application/did+json" + ); + let bytes = to_bytes(response.into_body(), usize::MAX).await.unwrap(); + let body: serde_json::Value = serde_json::from_slice(&bytes).unwrap(); + assert_eq!(body, expected); + } + + #[tokio::test] + async fn did_web_router_rejects_unknown_paths() { + let app = did_web_router(sample_did_document()); + + let response = app + .oneshot( + Request::builder() + .uri("/elsewhere") + .body(Body::empty()) + .unwrap(), + ) + .await + .unwrap(); + assert_eq!(response.status(), StatusCode::NOT_FOUND); + } +} diff --git a/crates/jacquard-axum/src/oauth.rs b/crates/jacquard-axum/src/oauth.rs index 5a1d3601f..959a30e37 100644 --- a/crates/jacquard-axum/src/oauth.rs +++ b/crates/jacquard-axum/src/oauth.rs @@ -95,7 +95,13 @@ pub struct OAuthWebConfig { pub after_callback_redirect: SmolStr, /// Fallback redirect after logout. pub after_logout_redirect: Option, - /// Optional header used by strict/headless clients to pass an encoded session key. + /// Header name for passing an encoded session key in API/headless requests. + /// + /// Clients that do not use browser cookies can pass the session key as this + /// header value instead. The session key is a JSON-encoded + /// `{"did": "...", "session_id": "..."}` string. Checked by + /// [`ExtractOAuthSession`] and [`ExtractOptionalOAuthSession`] as a fallback + /// when no session cookie is present. Defaults to `x-jacquard-session`. pub session_header: HeaderName, } @@ -198,6 +204,20 @@ impl IntoResponse for BrowserOAuthRejection { } /// Strict OAuth session extractor for API/headless routes. +/// +/// Looks up the session key from a private cookie (browser clients) or a custom +/// header (API/headless clients). The header name is configurable via +/// [`OAuthWebConfig::session_header`] and defaults to `x-jacquard-session`. +/// +/// API clients that do not use browser cookies can pass the encoded session key +/// (a JSON `{"did": "...", "session_id": "..."}` string) in this header to +/// authenticate without cookie infrastructure. If both a cookie and a header are +/// present, the cookie takes precedence. +/// +/// Use [`ExtractOptionalOAuthSession`] for endpoints that serve both +/// authenticated and anonymous requests. +/// Use [`BrowserOAuthSession`] for browser routes that should redirect to login +/// on failure. pub struct ExtractOAuthSession(pub OAuthSession) where T: OAuthResolver, @@ -281,6 +301,107 @@ where } } +/// Optional OAuth session extractor for API/headless routes. +/// +/// Like [`ExtractOAuthSession`], but returns `None` when no session key is +/// present (no cookie and no header). If a session key IS present but invalid, +/// returns an error. +/// +/// Use this for endpoints that serve both authenticated and anonymous requests. +pub struct ExtractOptionalOAuthSession(pub Option>) +where + T: OAuthResolver, + S: ClientAuthStore; + +impl FromRequestParts for ExtractOptionalOAuthSession +where + T: OAuthResolver + DpopExt + Send + Sync + 'static, + S: ClientAuthStore + Send + Sync + 'static, + AppState: OAuthWebState + Send + Sync, + OAuthWebConfig: FromRef, + axum_extra::extract::cookie::Key: FromRef, +{ + type Rejection = OAuthAxumError; + + async fn from_request_parts( + parts: &mut Parts, + state: &AppState, + ) -> Result { + let config = OAuthWebConfig::from_ref(state); + let jar = PrivateCookieJar::from_request_parts(parts, state) + .await + .map_err(|_| OAuthAxumError::MissingSession)?; + match read_session_key(&jar, &parts.headers, &config) { + Ok(key) => { + let session = restore_session(state.oauth_client(), &key).await?; + Ok(Self(Some(session))) + } + Err(OAuthAxumError::MissingSession) => Ok(Self(None)), + Err(e) => Err(e), + } + } +} + +/// Optional browser-oriented OAuth session extractor. +/// +/// Like [`BrowserOAuthSession`], but returns `None` when no session cookie is +/// present instead of redirecting to login. If a cookie IS present but the +/// session is invalid or expired, the cookie is cleared and the extractor +/// still returns `None` rather than erroring or redirecting. +/// +/// Use this for browser pages that show different content for authenticated +/// vs. anonymous users, without forcing a login redirect. +pub struct OptionalBrowserOAuthSession(pub Option>) +where + T: OAuthResolver, + S: ClientAuthStore; + +impl FromRequestParts for OptionalBrowserOAuthSession +where + T: OAuthResolver + DpopExt + Send + Sync + 'static, + S: ClientAuthStore + Send + Sync + 'static, + AppState: OAuthWebState + Send + Sync, + OAuthWebConfig: FromRef, + axum_extra::extract::cookie::Key: FromRef, +{ + type Rejection = OAuthAxumError; + + async fn from_request_parts( + parts: &mut Parts, + state: &AppState, + ) -> Result { + let config = OAuthWebConfig::from_ref(state); + let jar = PrivateCookieJar::from_request_parts(parts, state) + .await + .map_err(|_| OAuthAxumError::MissingSession)?; + + let Some(cookie) = jar.get(config.cookie_name.as_str()) else { + return Ok(Self(None)); + }; + + let key = match decode_session_key(cookie.value()) { + Ok(key) => key, + Err(_) => { + // Stale or malformed cookie — clear it and treat as anonymous. + let jar = clear_session_cookie(jar, &config); + // The jar is consumed by clear; we can't write it back here, so + // we just return None. The cookie will expire naturally. + drop(jar); + return Ok(Self(None)); + } + }; + + match restore_session(state.oauth_client(), &key).await { + Ok(session) => Ok(Self(Some(session))), + Err(err) if is_unauthorized_oauth_error(&err) => { + // Expired/revoked session — treat as anonymous rather than erroring. + Ok(Self(None)) + } + Err(err) => Err(err.into()), + } + } +} + /// Query/form fields accepted by the default start-auth route adapters. #[derive(Debug, Clone, Deserialize)] pub struct StartAuthRequest { @@ -292,7 +413,13 @@ pub struct StartAuthRequest { } /// Conventional OAuth web routes using the state-provided OAuth client. -pub fn routes() -> Router +/// +/// The route paths are taken from `config` so that custom +/// [`OAuthWebConfig`] paths are honored consistently with the redirects and +/// cookie scopes produced by the browser helpers. Passing the same config +/// instance that you expose via [`FromRef`] keeps the mounted routes and the +/// helpers in agreement. +pub fn routes(config: &OAuthWebConfig) -> Router where T: OAuthResolver + DpopExt + LexiconSchemaResolver + Send + Sync + 'static, S: ClientAuthStore + Send + Sync + 'static, @@ -305,10 +432,22 @@ where "/oauth-client-metadata.json", get(client_metadata_handler::), ) - .route("/oauth/start", get(start_auth_query::)) - .route("/oauth/start", post(start_auth_form::)) - .route("/oauth/callback", get(callback_handler::)) - .route("/oauth/logout", post(logout_handler::)) + .route( + config.start_auth_path.as_str(), + get(start_auth_query::), + ) + .route( + config.start_auth_path.as_str(), + post(start_auth_form::), + ) + .route( + config.callback_path.as_str(), + get(callback_handler::), + ) + .route( + config.logout_path.as_str(), + post(logout_handler::), + ) } /// Serve OAuth client metadata derived from the state OAuth client. @@ -576,7 +715,7 @@ fn redirect_to_login( .unwrap_or(&config.start_auth_path); BrowserOAuthRejection::Redirect( jar, - Redirect::temporary(&append_query(path, &[(&"return_to", return_to)])), + Redirect::temporary(&append_query(path, &[("return_to", return_to)])), ) } @@ -590,18 +729,18 @@ fn redirect_to_start_with_identifier( jar, Redirect::temporary(&append_query( &config.start_auth_path, - &[(&"identifier", identifier), (&"return_to", return_to)], + &[("identifier", identifier), ("return_to", return_to)], )), ) } -fn append_query(path: &str, params: &[(&&str, &str)]) -> String { +fn append_query(path: &str, params: &[(&str, &str)]) -> String { #[derive(Serialize)] struct Pair<'a> { #[serde(flatten)] values: std::collections::BTreeMap<&'a str, &'a str>, } - let values = params.iter().map(|(k, v)| (**k, *v)).collect(); + let values = params.iter().map(|(k, v)| (*k, *v)).collect(); let query = serde_html_form::to_string(Pair { values }).unwrap_or_default(); format!("{path}?{query}") } diff --git a/crates/jacquard-axum/src/service_auth.rs b/crates/jacquard-axum/src/service_auth.rs index 7785fd4f2..2b7466288 100644 --- a/crates/jacquard-axum/src/service_auth.rs +++ b/crates/jacquard-axum/src/service_auth.rs @@ -860,7 +860,7 @@ fn extract_signing_key(methods: &[VerificationMethod>]) -> Option>]) -> Option>, +/// service_auth_middleware::>, /// )) /// .with_state(config); /// diff --git a/crates/jacquard-axum/tests/oauth_web_tests.rs b/crates/jacquard-axum/tests/oauth_web_tests.rs index 7de523169..dfa5d5f5e 100644 --- a/crates/jacquard-axum/tests/oauth_web_tests.rs +++ b/crates/jacquard-axum/tests/oauth_web_tests.rs @@ -269,7 +269,8 @@ async fn metadata_route_serves_client_metadata_from_state_oauth_client() { ) .unwrap(); let expected = serde_json::to_value(expected).unwrap(); - let app = routes::().with_state(state); + let app = routes::(&OAuthWebConfig::default()) + .with_state(state); let server = TestServer::new(app).unwrap(); let response = server.get("/oauth-client-metadata.json").await; @@ -413,7 +414,7 @@ async fn start_auth_query_redirects_to_authorization_endpoint() { .unwrap(), ) .await; - let app = routes::().with_state(state); + let app = routes::(&state.config).with_state(state); let server = TestServer::new(app).unwrap(); let response = server @@ -429,7 +430,7 @@ async fn start_auth_query_redirects_to_authorization_endpoint() { #[tokio::test] async fn callback_rejects_unknown_state() { let (state, _) = app_state(); - let app = routes::().with_state(state); + let app = routes::(&state.config).with_state(state); let server = TestServer::new(app).unwrap(); server @@ -525,7 +526,7 @@ async fn callback_success_sets_session_cookie() { ) .await .unwrap(); - let app = routes::() + let app = routes::(&state.config) .route("/protected", get(strict_handler)) .with_state(state); let server = TestServer::builder().save_cookies().build(app).unwrap(); @@ -613,7 +614,7 @@ fn state_from_return_cookie(response: &axum_test::TestResponse, prefix: &str) -> #[tokio::test] async fn start_auth_return_to_callback_redirects_back_and_cookie_states_do_not_conflict() { let (state, client) = app_state(); - let app = routes::().with_state(state.clone()); + let app = routes::(&state.config).with_state(state.clone()); let server = TestServer::builder().save_cookies().build(app).unwrap(); queue_par_response(&client, "urn:par:first").await; @@ -694,3 +695,52 @@ async fn logout_deletes_session_and_clears_cookie() { ); server.get("/protected").await.assert_status_unauthorized(); } + +#[tokio::test] +async fn custom_config_paths_are_honored_by_routes() { + // Custom paths must differ from the defaults so the assertions are + // meaningful: the default paths should 404 while the custom ones work. + let mut config = OAuthWebConfig::default(); + config.start_auth_path = SmolStr::new_static("/auth/begin"); + config.callback_path = SmolStr::new_static("/auth/done"); + config.logout_path = SmolStr::new_static("/auth/exit"); + + let (mut state, client) = app_state(); + state.config = config.clone(); + + // The start route needs a PAR response before it can redirect. + queue_par_response(&client, "urn:par:custom").await; + let app = routes::(&state.config).with_state(state); + let server = TestServer::new(app).unwrap(); + + // The custom start path issues a redirect to the authorization endpoint. + let response = server + .get("/auth/begin?identifier=alice.bsky.social") + .await; + response.assert_status(StatusCode::TEMPORARY_REDIRECT); + let location = response.header("location"); + assert!(location.to_str().unwrap().starts_with("https://issuer/authorize?")); + + // The callback route exists at its custom path (unknown state still 400s, + // which proves the route is mounted and handled rather than 404). + server + .get("/auth/done?code=abc&state=missing&iss=https%3A%2F%2Fissuer") + .await + .assert_status_bad_request(); + + // The default start path is no longer mounted. + server + .get("/oauth/start?identifier=alice.bsky.social") + .await + .assert_status_not_found(); +} + +#[tokio::test] +async fn default_config_metadata_route_remains_fixed() { + // The client-metadata route is intentionally not configurable. + let (state, _) = app_state(); + let app = routes::(&state.config).with_state(state); + let server = TestServer::new(app).unwrap(); + + server.get("/oauth-client-metadata.json").await.assert_status_ok(); +} diff --git a/crates/jacquard-common/src/lib.rs b/crates/jacquard-common/src/lib.rs index 6cc5e7de1..8433ef517 100644 --- a/crates/jacquard-common/src/lib.rs +++ b/crates/jacquard-common/src/lib.rs @@ -213,6 +213,8 @@ pub use websocket::{ WsText, tungstenite_client::TungsteniteClient, }; +pub use smol_str::{SmolStr, ToSmolStr, format_smolstr}; + pub use types::value::*; /// Authorization token types for XRPC requests. diff --git a/crates/jacquard-common/src/xrpc/atproto.rs b/crates/jacquard-common/src/xrpc/atproto.rs index 2b7929150..9839f1ebb 100644 --- a/crates/jacquard-common/src/xrpc/atproto.rs +++ b/crates/jacquard-common/src/xrpc/atproto.rs @@ -6,13 +6,16 @@ //! validation helpers. //! use crate::BosStr; -use crate::CowStr; use crate::DefaultStr; use crate::IntoStatic; +use crate::deps::bytes::Bytes; +use crate::error::DecodeError; +use crate::types::blob::BlobRef; +use crate::types::did_doc::DidDocument; use crate::types::ident::AtIdentifier; -use crate::types::string::{AtUri, Cid, Did, Handle, Nsid}; +use crate::types::string::{AtUri, Cid, Did, Handle, Nsid, RecordKey, Rkey, Tid}; use crate::types::value::Data; -use crate::xrpc::{GenericError, XrpcMethod, XrpcRequest, XrpcResp}; +use crate::xrpc::{EncodeError, GenericError, XrpcMethod, XrpcRequest, XrpcResp}; use alloc::vec::Vec; use core::error::Error; @@ -145,20 +148,20 @@ where #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] #[allow(missing_docs)] #[serde(rename_all = "camelCase")] -pub struct GetRecord<'a> { +pub struct GetRecord { #[serde(skip_serializing_if = "Option::is_none")] - #[serde(borrow)] - pub cid: Option>>, - #[serde(borrow)] - pub collection: Nsid>, - #[serde(borrow)] - pub repo: AtIdentifier>, - #[serde(borrow)] - pub rkey: CowStr<'a>, + pub cid: Option>, + pub collection: Nsid, + pub repo: AtIdentifier, + pub rkey: RecordKey>, } -impl IntoStatic for GetRecord<'_> { - type Output = GetRecord<'static>; +impl IntoStatic for GetRecord +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = GetRecord; fn into_static(self) -> Self::Output { GetRecord { @@ -239,288 +242,1122 @@ impl XrpcResp for GetRecordResponse { type Err = GetRecordError; } -impl<'a> XrpcRequest for GetRecord<'a> { +impl XrpcRequest for GetRecord +where + S: BosStr + Serialize, +{ const NSID: &'static str = "com.atproto.repo.getRecord"; const METHOD: XrpcMethod = XrpcMethod::Query; type Response = GetRecordResponse; } // ============================================================================ -// com.atproto.identity.resolveHandle +// com.atproto.repo.createRecord // ============================================================================ -/// Request for com.atproto.identity.resolveHandle. +/// Commit metadata returned by record write operations. +/// +/// Mirrors the generated `com.atproto.repo.defs#commitMeta` type. The `rev` +/// field is a non-generic `Tid` (always `SmolStr`-backed). #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] -#[serde(rename_all = "camelCase")] #[allow(missing_docs)] -pub struct ResolveHandle { - pub handle: Handle, +#[serde(rename_all = "camelCase")] +pub struct CommitMeta { + pub cid: Cid, + pub rev: Tid, } -impl IntoStatic for ResolveHandle +impl IntoStatic for CommitMeta where S: BosStr + IntoStatic, S::Output: BosStr, { - type Output = ResolveHandle<::Output>; + type Output = CommitMeta; fn into_static(self) -> Self::Output { - ResolveHandle { - handle: self.handle.into_static(), + CommitMeta { + cid: self.cid.into_static(), + rev: self.rev, } } } -/// Output for com.atproto.identity.resolveHandle. +/// Request for com.atproto.repo.createRecord. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[allow(missing_docs)] #[serde(rename_all = "camelCase")] +pub struct CreateRecord { + pub collection: Nsid, + pub record: Data, + pub repo: AtIdentifier, + #[serde(skip_serializing_if = "Option::is_none")] + pub rkey: Option>>, + #[serde(skip_serializing_if = "Option::is_none")] + pub swap_commit: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub validate: Option, +} + +impl IntoStatic for CreateRecord +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = CreateRecord; + + fn into_static(self) -> Self::Output { + CreateRecord { + collection: self.collection.into_static(), + record: self.record.into_static(), + repo: self.repo.into_static(), + rkey: self.rkey.into_static(), + swap_commit: self.swap_commit.into_static(), + validate: self.validate, + } + } +} + +/// Output for com.atproto.repo.createRecord. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] #[allow(missing_docs)] -pub struct ResolveHandleOutput { - pub did: Did, +#[serde(rename_all = "camelCase")] +pub struct CreateRecordOutput { + pub cid: Cid, + #[serde(skip_serializing_if = "Option::is_none")] + pub commit: Option>, + pub uri: AtUri, } -impl IntoStatic for ResolveHandleOutput +impl IntoStatic for CreateRecordOutput where S: BosStr + IntoStatic, S::Output: BosStr, { - type Output = ResolveHandleOutput<::Output>; + type Output = CreateRecordOutput; fn into_static(self) -> Self::Output { - ResolveHandleOutput { - did: self.did.into_static(), + CreateRecordOutput { + cid: self.cid.into_static(), + commit: self.commit.into_static(), + uri: self.uri.into_static(), } } } -/// Error type for com.atproto.identity.resolveHandle. Always SmolStr-backed. +/// Error type for com.atproto.repo.createRecord. Always SmolStr-backed. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] -#[serde(tag = "error", content = "message")] #[allow(missing_docs)] -pub enum ResolveHandleError { - #[serde(rename = "HandleNotFound")] - HandleNotFound(Option), +#[serde(tag = "error", content = "message")] +pub enum CreateRecordError { + /// Indicates that 'swapCommit' didn't match current repo commit. + #[serde(rename = "InvalidSwap")] + InvalidSwap(Option), /// Catch-all for unknown error codes. - #[serde(other)] - Other, + #[serde(untagged)] + Other { + error: SmolStr, + message: Option, + }, } -impl Display for ResolveHandleError { +impl Display for CreateRecordError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - Self::HandleNotFound(msg) => { - write!(f, "HandleNotFound")?; + Self::InvalidSwap(msg) => { + write!(f, "InvalidSwap")?; if let Some(msg) = msg { write!(f, ": {}", msg)?; } Ok(()) } - Self::Other => write!(f, "Unknown error"), + Self::Other { error, message } => { + write!(f, "{}", error)?; + if let Some(msg) = message { + write!(f, ": {}", msg)?; + } + Ok(()) + } } } } -impl Error for ResolveHandleError {} +impl Error for CreateRecordError {} -/// Response marker for com.atproto.identity.resolveHandle. -pub struct ResolveHandleResponse; +/// Response marker for com.atproto.repo.createRecord. +pub struct CreateRecordResponse; -impl XrpcResp for ResolveHandleResponse { - const NSID: &'static str = "com.atproto.identity.resolveHandle"; +impl XrpcResp for CreateRecordResponse { + const NSID: &'static str = "com.atproto.repo.createRecord"; const ENCODING: &'static str = "application/json"; - type Output = ResolveHandleOutput; - type Err = ResolveHandleError; + type Output = CreateRecordOutput; + type Err = CreateRecordError; } -impl XrpcRequest for ResolveHandle { - const NSID: &'static str = "com.atproto.identity.resolveHandle"; - const METHOD: XrpcMethod = XrpcMethod::Query; - type Response = ResolveHandleResponse; +impl XrpcRequest for CreateRecord +where + S: BosStr + Serialize, +{ + const NSID: &'static str = "com.atproto.repo.createRecord"; + const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json"); + type Response = CreateRecordResponse; } // ============================================================================ -// com.atproto.identity.resolveDid +// com.atproto.repo.putRecord // ============================================================================ -/// Request for com.atproto.identity.resolveDid. +/// Request for com.atproto.repo.putRecord. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] -#[serde(rename_all = "camelCase")] #[allow(missing_docs)] -pub struct ResolveDid { - pub did: Did, +#[serde(rename_all = "camelCase")] +pub struct PutRecord { + pub collection: Nsid, + pub record: Data, + pub repo: AtIdentifier, + pub rkey: RecordKey>, + #[serde(skip_serializing_if = "Option::is_none")] + pub swap_commit: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub swap_record: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub validate: Option, } -impl IntoStatic for ResolveDid +impl IntoStatic for PutRecord where S: BosStr + IntoStatic, - ::Output: BosStr, + S::Output: BosStr, { - type Output = ResolveDid<::Output>; + type Output = PutRecord; fn into_static(self) -> Self::Output { - ResolveDid { - did: self.did.into_static(), + PutRecord { + collection: self.collection.into_static(), + record: self.record.into_static(), + repo: self.repo.into_static(), + rkey: self.rkey.into_static(), + swap_commit: self.swap_commit.into_static(), + swap_record: self.swap_record.into_static(), + validate: self.validate, } } } -/// Output for com.atproto.identity.resolveDid. +/// Output for com.atproto.repo.putRecord. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] -#[serde(rename_all = "camelCase")] #[allow(missing_docs)] -pub struct ResolveDidOutput -where - S: BosStr, -{ - pub did_doc: Data, +#[serde(rename_all = "camelCase")] +pub struct PutRecordOutput { + pub cid: Cid, + #[serde(skip_serializing_if = "Option::is_none")] + pub commit: Option>, + pub uri: AtUri, } -impl IntoStatic for ResolveDidOutput +impl IntoStatic for PutRecordOutput where S: BosStr + IntoStatic, S::Output: BosStr, { - type Output = ResolveDidOutput; + type Output = PutRecordOutput; fn into_static(self) -> Self::Output { - ResolveDidOutput { - did_doc: self.did_doc.into_static(), + PutRecordOutput { + cid: self.cid.into_static(), + commit: self.commit.into_static(), + uri: self.uri.into_static(), } } } -/// Error type for com.atproto.identity.resolveDid. Always SmolStr-backed. +/// Error type for com.atproto.repo.putRecord. Always SmolStr-backed. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] -#[serde(tag = "error", content = "message")] #[allow(missing_docs)] -pub enum ResolveDidError { - #[serde(rename = "DidNotFound")] - DidNotFound(Option), - #[serde(rename = "DidDeactivated")] - DidDeactivated(Option), +#[serde(tag = "error", content = "message")] +pub enum PutRecordError { + #[serde(rename = "InvalidSwap")] + InvalidSwap(Option), /// Catch-all for unknown error codes. - #[serde(other)] - Other, + #[serde(untagged)] + Other { + error: SmolStr, + message: Option, + }, } -impl Display for ResolveDidError { +impl Display for PutRecordError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - Self::DidNotFound(msg) => { - write!(f, "DidNotFound")?; + Self::InvalidSwap(msg) => { + write!(f, "InvalidSwap")?; if let Some(msg) = msg { write!(f, ": {}", msg)?; } Ok(()) } - Self::DidDeactivated(msg) => { - write!(f, "DidDeactivated")?; - if let Some(msg) = msg { + Self::Other { error, message } => { + write!(f, "{}", error)?; + if let Some(msg) = message { write!(f, ": {}", msg)?; } Ok(()) } - Self::Other => write!(f, "Unknown error"), } } } -impl Error for ResolveDidError {} +impl Error for PutRecordError {} -/// Response marker for com.atproto.identity.resolveDid. -pub struct ResolveDidResponse; +/// Response marker for com.atproto.repo.putRecord. +pub struct PutRecordResponse; -impl XrpcResp for ResolveDidResponse { - const NSID: &'static str = "com.atproto.identity.resolveDid"; +impl XrpcResp for PutRecordResponse { + const NSID: &'static str = "com.atproto.repo.putRecord"; const ENCODING: &'static str = "application/json"; - type Output = ResolveDidOutput; - type Err = ResolveDidError; + type Output = PutRecordOutput; + type Err = PutRecordError; } -impl XrpcRequest for ResolveDid +impl XrpcRequest for PutRecord where S: BosStr + Serialize, { - const NSID: &'static str = "com.atproto.identity.resolveDid"; - const METHOD: XrpcMethod = XrpcMethod::Query; - type Response = ResolveDidResponse; + const NSID: &'static str = "com.atproto.repo.putRecord"; + const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json"); + type Response = PutRecordResponse; } // ============================================================================ -// Tests +// com.atproto.repo.deleteRecord // ============================================================================ -#[cfg(test)] -mod tests { - use super::*; - use crate::{IntoStatic, cowstr::ToCowStr}; +/// Request for com.atproto.repo.deleteRecord. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[allow(missing_docs)] +#[serde(rename_all = "camelCase")] +pub struct DeleteRecord { + pub collection: Nsid, + pub repo: AtIdentifier, + pub rkey: RecordKey>, + #[serde(skip_serializing_if = "Option::is_none")] + pub swap_commit: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub swap_record: Option>, +} - #[test] - fn test_list_records_serializes() { - let req = ListRecords { - repo: AtIdentifier::new("test.bsky.social".to_cowstr()).unwrap(), - collection: Nsid::new("app.bsky.feed.post".to_cowstr()) - .unwrap() - .into_static(), - cursor: None, - limit: Some(50), - reverse: None, - }; +impl IntoStatic for DeleteRecord +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = DeleteRecord; - let json = serde_json::to_value(&req).unwrap(); - assert_eq!(json["repo"], "test.bsky.social"); - assert_eq!(json["collection"], "app.bsky.feed.post"); - assert_eq!(json["limit"], 50); - assert!(!json.as_object().unwrap().contains_key("cursor")); + fn into_static(self) -> Self::Output { + DeleteRecord { + collection: self.collection.into_static(), + repo: self.repo.into_static(), + rkey: self.rkey.into_static(), + swap_commit: self.swap_commit.into_static(), + swap_record: self.swap_record.into_static(), + } } +} - #[test] - fn test_list_records_output_deserializes() { - let json_str = r#"{ - "records": [ - { - "uri": "at://did:plc:test/app.bsky.feed.post/123", - "cid": "bafy123", - "value": {} - } - ], - "cursor": "page2" - }"#; +/// Output for com.atproto.repo.deleteRecord. Empty on success apart from +/// optional commit metadata. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Default)] +#[allow(missing_docs)] +#[serde(rename_all = "camelCase")] +pub struct DeleteRecordOutput { + #[serde(skip_serializing_if = "Option::is_none")] + pub commit: Option>, +} - let output: ListRecordsOutput = serde_json::from_str(json_str).unwrap(); - assert_eq!(output.records.len(), 1); - assert!(output.cursor.is_some()); - assert_eq!(output.cursor.as_ref().unwrap().as_str(), "page2"); +impl IntoStatic for DeleteRecordOutput +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = DeleteRecordOutput; + + fn into_static(self) -> Self::Output { + DeleteRecordOutput { + commit: self.commit.into_static(), + } } +} - #[test] - fn test_get_record_output_deserializes() { - let json_str = r#"{ - "uri": "at://did:plc:test/app.bsky.feed.post/123", - "cid": "bafy123", - "value": {} - }"#; +/// Error type for com.atproto.repo.deleteRecord. Always SmolStr-backed. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[allow(missing_docs)] +#[serde(tag = "error", content = "message")] +pub enum DeleteRecordError { + #[serde(rename = "InvalidSwap")] + InvalidSwap(Option), + /// Catch-all for unknown error codes. + #[serde(untagged)] + Other { + error: SmolStr, + message: Option, + }, +} - let output: GetRecordOutput = serde_json::from_str(json_str).unwrap(); - assert!(output.cid.is_some()); - assert_eq!(output.cid.as_ref().unwrap().as_str(), "bafy123"); +impl Display for DeleteRecordError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::InvalidSwap(msg) => { + write!(f, "InvalidSwap")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::Other { error, message } => { + write!(f, "{}", error)?; + if let Some(msg) = message { + write!(f, ": {}", msg)?; + } + Ok(()) + } + } } +} - #[test] - fn test_get_record_error_deserializes() { - let json_str = r#"{"error": "RecordNotFound", "message": "not found"}"#; - let error: GetRecordError = serde_json::from_str(json_str).unwrap(); - assert!(matches!(error, GetRecordError::RecordNotFound(Some(_)))); - } +impl Error for DeleteRecordError {} - #[test] - fn test_resolve_handle_output_deserializes() { - let json_str = r#"{"did": "did:plc:abc123"}"#; - let output: ResolveHandleOutput = serde_json::from_str(json_str).unwrap(); - assert_eq!(output.did.as_str(), "did:plc:abc123"); - } +/// Response marker for com.atproto.repo.deleteRecord. +pub struct DeleteRecordResponse; - #[test] +impl XrpcResp for DeleteRecordResponse { + const NSID: &'static str = "com.atproto.repo.deleteRecord"; + const ENCODING: &'static str = "application/json"; + type Output = DeleteRecordOutput; + type Err = DeleteRecordError; +} + +impl XrpcRequest for DeleteRecord +where + S: BosStr + Serialize, +{ + const NSID: &'static str = "com.atproto.repo.deleteRecord"; + const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json"); + type Response = DeleteRecordResponse; +} + +// ============================================================================ +// com.atproto.repo.uploadBlob +// ============================================================================ + +/// Request for com.atproto.repo.uploadBlob. The body is raw bytes, not JSON. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[allow(missing_docs)] +pub struct UploadBlob { + pub body: Bytes, +} + +/// Output for com.atproto.repo.uploadBlob. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[allow(missing_docs)] +#[serde(rename_all = "camelCase")] +pub struct UploadBlobOutput { + pub blob: BlobRef, +} + +impl IntoStatic for UploadBlobOutput +where + S: BosStr + AsRef + IntoStatic, + S::Output: BosStr + AsRef, +{ + type Output = UploadBlobOutput; + + fn into_static(self) -> Self::Output { + UploadBlobOutput { + blob: self.blob.into_static(), + } + } +} + +/// Response marker for com.atproto.repo.uploadBlob. +pub struct UploadBlobResponse; + +impl XrpcResp for UploadBlobResponse { + const NSID: &'static str = "com.atproto.repo.uploadBlob"; + const ENCODING: &'static str = "application/json"; + type Output = UploadBlobOutput; + type Err = GenericError; +} + +impl XrpcRequest for UploadBlob { + const NSID: &'static str = "com.atproto.repo.uploadBlob"; + const METHOD: XrpcMethod = XrpcMethod::Procedure("*/*"); + type Response = UploadBlobResponse; + + /// Raw bytes are appended directly to the buffer without JSON encoding. + fn encode_body(&self, buffer: &mut Vec) -> Result<(), EncodeError> + where + Self: Serialize, + { + buffer.extend_from_slice(self.body.as_ref()); + Ok(()) + } + + /// Decode raw bytes from the request body, copying into a `Bytes`. + fn decode_body<'de>(body: &'de [u8]) -> Result + where + Self: Deserialize<'de>, + { + Ok(Self { + body: Bytes::copy_from_slice(body), + }) + } +} + +// ============================================================================ +// com.atproto.identity.resolveHandle +// ============================================================================ + +/// Request for com.atproto.identity.resolveHandle. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct ResolveHandle { + pub handle: Handle, +} + +impl IntoStatic for ResolveHandle +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = ResolveHandle<::Output>; + + fn into_static(self) -> Self::Output { + ResolveHandle { + handle: self.handle.into_static(), + } + } +} + +/// Output for com.atproto.identity.resolveHandle. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct ResolveHandleOutput { + pub did: Did, +} + +impl IntoStatic for ResolveHandleOutput +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = ResolveHandleOutput<::Output>; + + fn into_static(self) -> Self::Output { + ResolveHandleOutput { + did: self.did.into_static(), + } + } +} + +/// Error type for com.atproto.identity.resolveHandle. Always SmolStr-backed. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(tag = "error", content = "message")] +#[allow(missing_docs)] +pub enum ResolveHandleError { + #[serde(rename = "HandleNotFound")] + HandleNotFound(Option), + /// Catch-all for unknown error codes. + #[serde(other)] + Other, +} + +impl Display for ResolveHandleError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::HandleNotFound(msg) => { + write!(f, "HandleNotFound")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::Other => write!(f, "Unknown error"), + } + } +} + +impl Error for ResolveHandleError {} + +/// Response marker for com.atproto.identity.resolveHandle. +pub struct ResolveHandleResponse; + +impl XrpcResp for ResolveHandleResponse { + const NSID: &'static str = "com.atproto.identity.resolveHandle"; + const ENCODING: &'static str = "application/json"; + type Output = ResolveHandleOutput; + type Err = ResolveHandleError; +} + +impl XrpcRequest for ResolveHandle { + const NSID: &'static str = "com.atproto.identity.resolveHandle"; + const METHOD: XrpcMethod = XrpcMethod::Query; + type Response = ResolveHandleResponse; +} + +// ============================================================================ +// com.atproto.identity.resolveDid +// ============================================================================ + +/// Request for com.atproto.identity.resolveDid. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct ResolveDid { + pub did: Did, +} + +impl IntoStatic for ResolveDid +where + S: BosStr + IntoStatic, + ::Output: BosStr, +{ + type Output = ResolveDid<::Output>; + + fn into_static(self) -> Self::Output { + ResolveDid { + did: self.did.into_static(), + } + } +} + +/// Output for com.atproto.identity.resolveDid. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct ResolveDidOutput +where + S: BosStr, +{ + pub did_doc: Data, +} + +impl IntoStatic for ResolveDidOutput +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = ResolveDidOutput; + + fn into_static(self) -> Self::Output { + ResolveDidOutput { + did_doc: self.did_doc.into_static(), + } + } +} + +/// Error type for com.atproto.identity.resolveDid. Always SmolStr-backed. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(tag = "error", content = "message")] +#[allow(missing_docs)] +pub enum ResolveDidError { + #[serde(rename = "DidNotFound")] + DidNotFound(Option), + #[serde(rename = "DidDeactivated")] + DidDeactivated(Option), + /// Catch-all for unknown error codes. + #[serde(other)] + Other, +} + +impl Display for ResolveDidError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::DidNotFound(msg) => { + write!(f, "DidNotFound")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::DidDeactivated(msg) => { + write!(f, "DidDeactivated")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::Other => write!(f, "Unknown error"), + } + } +} + +impl Error for ResolveDidError {} + +/// Response marker for com.atproto.identity.resolveDid. +pub struct ResolveDidResponse; + +impl XrpcResp for ResolveDidResponse { + const NSID: &'static str = "com.atproto.identity.resolveDid"; + const ENCODING: &'static str = "application/json"; + type Output = ResolveDidOutput; + type Err = ResolveDidError; +} + +impl XrpcRequest for ResolveDid +where + S: BosStr + Serialize, +{ + const NSID: &'static str = "com.atproto.identity.resolveDid"; + const METHOD: XrpcMethod = XrpcMethod::Query; + type Response = ResolveDidResponse; +} + +// ============================================================================ +// com.atproto.server.createSession +// ============================================================================ + +/// Request for com.atproto.server.createSession. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Default)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct CreateSession { + /// Handle or other identifier supported by the server for the authenticating user. + pub identifier: S, + pub password: S, + #[serde(skip_serializing_if = "Option::is_none")] + pub auth_factor_token: Option, + /// When true, instead of throwing an error for takendown accounts, a valid + /// response with a narrow scoped token is returned. + #[serde(skip_serializing_if = "Option::is_none")] + pub allow_takendown: Option, +} + +impl IntoStatic for CreateSession +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = CreateSession; + + fn into_static(self) -> Self::Output { + CreateSession { + identifier: self.identifier.into_static(), + password: self.password.into_static(), + auth_factor_token: self.auth_factor_token.into_static(), + allow_takendown: self.allow_takendown, + } + } +} + +/// Output for com.atproto.server.createSession. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct CreateSessionOutput +where + S: BosStr, +{ + pub access_jwt: S, + pub refresh_jwt: S, + pub handle: Handle, + pub did: Did, + /// If present, a DID document to use for resolution instead of performing + /// network lookups for the returned DID. + #[serde(skip_serializing_if = "Option::is_none")] + pub did_doc: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub email_confirmed: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub email_auth_factor: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub active: Option, + /// If `active` is `false`, this optional field indicates a possible reason + /// for why the account is not active. + #[serde(skip_serializing_if = "Option::is_none")] + pub status: Option, +} + +impl IntoStatic for CreateSessionOutput +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = CreateSessionOutput; + + fn into_static(self) -> Self::Output { + CreateSessionOutput { + access_jwt: self.access_jwt.into_static(), + refresh_jwt: self.refresh_jwt.into_static(), + handle: self.handle.into_static(), + did: self.did.into_static(), + did_doc: self.did_doc.into_static(), + email: self.email.into_static(), + email_confirmed: self.email_confirmed, + email_auth_factor: self.email_auth_factor, + active: self.active, + status: self.status.into_static(), + } + } +} + +/// Error type for com.atproto.server.createSession. Always SmolStr-backed. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(tag = "error", content = "message")] +#[allow(missing_docs)] +pub enum CreateSessionError { + #[serde(rename = "AccountTakedown")] + AccountTakedown(Option), + #[serde(rename = "AuthFactorTokenRequired")] + AuthFactorTokenRequired(Option), + /// Catch-all for unknown error codes. + #[serde(untagged)] + Other { + error: SmolStr, + message: Option, + }, +} + +impl Display for CreateSessionError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::AccountTakedown(msg) => { + write!(f, "AccountTakedown")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::AuthFactorTokenRequired(msg) => { + write!(f, "AuthFactorTokenRequired")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::Other { error, message } => { + write!(f, "{}", error)?; + if let Some(msg) = message { + write!(f, ": {}", msg)?; + } + Ok(()) + } + } + } +} + +impl Error for CreateSessionError {} + +/// Response marker for com.atproto.server.createSession. +pub struct CreateSessionResponse; + +impl XrpcResp for CreateSessionResponse { + const NSID: &'static str = "com.atproto.server.createSession"; + const ENCODING: &'static str = "application/json"; + type Output = CreateSessionOutput; + type Err = CreateSessionError; +} + +impl XrpcRequest for CreateSession +where + S: BosStr + Serialize, +{ + const NSID: &'static str = "com.atproto.server.createSession"; + const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json"); + type Response = CreateSessionResponse; +} + +// ============================================================================ +// com.atproto.server.getSession +// ============================================================================ + +/// Output for com.atproto.server.getSession. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct GetSessionOutput +where + S: BosStr, +{ + pub handle: Handle, + pub did: Did, + /// If present, a DID document to use for resolution instead of performing + /// network lookups for the returned DID. + #[serde(skip_serializing_if = "Option::is_none")] + pub did_doc: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub email_confirmed: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub email_auth_factor: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub active: Option, + /// If `active` is `false`, this optional field indicates a possible reason + /// for why the account is not active. + #[serde(skip_serializing_if = "Option::is_none")] + pub status: Option, +} + +impl IntoStatic for GetSessionOutput +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = GetSessionOutput; + + fn into_static(self) -> Self::Output { + GetSessionOutput { + handle: self.handle.into_static(), + did: self.did.into_static(), + did_doc: self.did_doc.into_static(), + email: self.email.into_static(), + email_confirmed: self.email_confirmed, + email_auth_factor: self.email_auth_factor, + active: self.active, + status: self.status.into_static(), + } + } +} + +/// Response marker for com.atproto.server.getSession. Uses `GenericError` since +/// the generated lexicon has no dedicated error type for this endpoint. +pub struct GetSessionResponse; + +impl XrpcResp for GetSessionResponse { + const NSID: &'static str = "com.atproto.server.getSession"; + const ENCODING: &'static str = "application/json"; + type Output = GetSessionOutput; + type Err = GenericError; +} + +/// Request marker for com.atproto.server.getSession. +/// +/// This endpoint takes no request parameters or body. +#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Default)] +#[allow(missing_docs)] +pub struct GetSession; + +impl XrpcRequest for GetSession { + const NSID: &'static str = "com.atproto.server.getSession"; + const METHOD: XrpcMethod = XrpcMethod::Query; + type Response = GetSessionResponse; +} + +// ============================================================================ +// com.atproto.server.refreshSession +// ============================================================================ + +/// Output for com.atproto.server.refreshSession. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +#[allow(missing_docs)] +pub struct RefreshSessionOutput +where + S: BosStr, +{ + pub access_jwt: S, + pub refresh_jwt: S, + pub handle: Handle, + pub did: Did, + /// If present, a DID document to use for resolution instead of performing + /// network lookups for the returned DID. + #[serde(skip_serializing_if = "Option::is_none")] + pub did_doc: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub email_confirmed: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub email_auth_factor: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub active: Option, + /// Hosting status of the account. If not specified, assume `active`. + #[serde(skip_serializing_if = "Option::is_none")] + pub status: Option, +} + +impl IntoStatic for RefreshSessionOutput +where + S: BosStr + IntoStatic, + S::Output: BosStr, +{ + type Output = RefreshSessionOutput; + + fn into_static(self) -> Self::Output { + RefreshSessionOutput { + access_jwt: self.access_jwt.into_static(), + refresh_jwt: self.refresh_jwt.into_static(), + handle: self.handle.into_static(), + did: self.did.into_static(), + did_doc: self.did_doc.into_static(), + email: self.email.into_static(), + email_confirmed: self.email_confirmed, + email_auth_factor: self.email_auth_factor, + active: self.active, + status: self.status.into_static(), + } + } +} + +/// Error type for com.atproto.server.refreshSession. Always SmolStr-backed. +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(tag = "error", content = "message")] +#[allow(missing_docs)] +pub enum RefreshSessionError { + #[serde(rename = "AccountTakedown")] + AccountTakedown(Option), + #[serde(rename = "InvalidToken")] + InvalidToken(Option), + #[serde(rename = "ExpiredToken")] + ExpiredToken(Option), + /// Catch-all for unknown error codes. + #[serde(untagged)] + Other { + error: SmolStr, + message: Option, + }, +} + +impl Display for RefreshSessionError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::AccountTakedown(msg) => { + write!(f, "AccountTakedown")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::InvalidToken(msg) => { + write!(f, "InvalidToken")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::ExpiredToken(msg) => { + write!(f, "ExpiredToken")?; + if let Some(msg) = msg { + write!(f, ": {}", msg)?; + } + Ok(()) + } + Self::Other { error, message } => { + write!(f, "{}", error)?; + if let Some(msg) = message { + write!(f, ": {}", msg)?; + } + Ok(()) + } + } + } +} + +impl Error for RefreshSessionError {} + +/// Response marker for com.atproto.server.refreshSession. +pub struct RefreshSessionResponse; + +impl XrpcResp for RefreshSessionResponse { + const NSID: &'static str = "com.atproto.server.refreshSession"; + const ENCODING: &'static str = "application/json"; + type Output = RefreshSessionOutput; + type Err = RefreshSessionError; +} + +/// Request marker for com.atproto.server.refreshSession. +/// +/// This endpoint takes no request parameters or body; the refresh token is +/// supplied via the HTTP `Authorization` header. +#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Default)] +#[allow(missing_docs)] +pub struct RefreshSession; + +impl XrpcRequest for RefreshSession { + const NSID: &'static str = "com.atproto.server.refreshSession"; + const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json"); + type Response = RefreshSessionResponse; +} + +// ============================================================================ +// Tests +// ============================================================================ + +#[cfg(test)] +mod tests { + use super::*; + use crate::{IntoStatic, cowstr::ToCowStr, types::value::Object}; + use alloc::collections::BTreeMap; + + #[test] + fn test_list_records_serializes() { + let req = ListRecords { + repo: AtIdentifier::new("test.bsky.social".to_cowstr()).unwrap(), + collection: Nsid::new("app.bsky.feed.post".to_cowstr()) + .unwrap() + .into_static(), + cursor: None, + limit: Some(50), + reverse: None, + }; + + let json = serde_json::to_value(&req).unwrap(); + assert_eq!(json["repo"], "test.bsky.social"); + assert_eq!(json["collection"], "app.bsky.feed.post"); + assert_eq!(json["limit"], 50); + assert!(!json.as_object().unwrap().contains_key("cursor")); + } + + #[test] + fn test_list_records_output_deserializes() { + let json_str = r#"{ + "records": [ + { + "uri": "at://did:plc:test/app.bsky.feed.post/123", + "cid": "bafy123", + "value": {} + } + ], + "cursor": "page2" + }"#; + + let output: ListRecordsOutput = serde_json::from_str(json_str).unwrap(); + assert_eq!(output.records.len(), 1); + assert!(output.cursor.is_some()); + assert_eq!(output.cursor.as_ref().unwrap().as_str(), "page2"); + } + + #[test] + fn test_get_record_output_deserializes() { + let json_str = r#"{ + "uri": "at://did:plc:test/app.bsky.feed.post/123", + "cid": "bafy123", + "value": {} + }"#; + + let output: GetRecordOutput = serde_json::from_str(json_str).unwrap(); + assert!(output.cid.is_some()); + assert_eq!(output.cid.as_ref().unwrap().as_str(), "bafy123"); + } + + #[test] + fn test_get_record_error_deserializes() { + let json_str = r#"{"error": "RecordNotFound", "message": "not found"}"#; + let error: GetRecordError = serde_json::from_str(json_str).unwrap(); + assert!(matches!(error, GetRecordError::RecordNotFound(Some(_)))); + } + + #[test] + fn test_resolve_handle_output_deserializes() { + let json_str = r#"{"did": "did:plc:abc123"}"#; + let output: ResolveHandleOutput = serde_json::from_str(json_str).unwrap(); + assert_eq!(output.did.as_str(), "did:plc:abc123"); + } + + #[test] fn test_resolve_handle_error_deserializes() { let json_str = r#"{"error": "HandleNotFound", "message": "handle not found"}"#; let error: ResolveHandleError = serde_json::from_str(json_str).unwrap(); @@ -566,7 +1403,7 @@ mod tests { collection: Nsid::new("app.bsky.feed.post".to_cowstr()) .unwrap() .into_static(), - rkey: CowStr::from("abc123").into_static(), + rkey: RecordKey::any_owned("abc123").unwrap(), cid: None, }; let _static = get_record.into_static(); @@ -580,5 +1417,457 @@ mod tests { did: Did::new("did:plc:abc123").unwrap().into_static(), }; let _static = resolve_did.into_static(); + + let create_record = CreateRecord { + collection: Nsid::new("app.bsky.feed.post".to_cowstr()) + .unwrap() + .into_static(), + record: Data::Object(Object(BTreeMap::new())), + repo: AtIdentifier::new("did:plc:abc123".to_cowstr()).unwrap(), + rkey: None, + swap_commit: None, + validate: None, + }; + let _static = create_record.into_static(); + + let put_record = PutRecord { + collection: Nsid::new("app.bsky.feed.post".to_cowstr()) + .unwrap() + .into_static(), + record: Data::Object(Object(BTreeMap::new())), + repo: AtIdentifier::new("did:plc:abc123".to_cowstr()).unwrap(), + rkey: RecordKey::any_owned("abc123").unwrap(), + swap_commit: None, + swap_record: None, + validate: None, + }; + let _static = put_record.into_static(); + + let delete_record = DeleteRecord { + collection: Nsid::new("app.bsky.feed.post".to_cowstr()) + .unwrap() + .into_static(), + repo: AtIdentifier::new("did:plc:abc123".to_cowstr()).unwrap(), + rkey: RecordKey::any_owned("abc123").unwrap(), + swap_commit: None, + swap_record: None, + }; + let _static = delete_record.into_static(); + + let commit_meta: CommitMeta = + serde_json::from_str(r#"{"cid": "bafy123", "rev": "3zzsbxqyly42y"}"#).unwrap(); + let _static = commit_meta.into_static(); + } + + #[test] + fn test_create_record_serializes() { + let req = CreateRecord { + collection: Nsid::new("app.bsky.feed.post".to_cowstr()) + .unwrap() + .into_static(), + record: Data::Object(Object(BTreeMap::new())), + repo: AtIdentifier::new("did:plc:abc123".to_cowstr()).unwrap(), + rkey: None, + swap_commit: None, + validate: None, + }; + + let json = serde_json::to_value(&req).unwrap(); + assert_eq!(json["collection"], "app.bsky.feed.post"); + assert_eq!(json["repo"], "did:plc:abc123"); + // Optional fields should be skipped when None. + assert!(!json.as_object().unwrap().contains_key("rkey")); + assert!(!json.as_object().unwrap().contains_key("swapCommit")); + assert!(!json.as_object().unwrap().contains_key("validate")); + } + + #[test] + fn test_create_record_output_deserializes() { + let json_str = r#"{ + "uri": "at://did:plc:test/app.bsky.feed.post/123", + "cid": "bafy123" + }"#; + + let output: CreateRecordOutput = serde_json::from_str(json_str).unwrap(); + assert_eq!(output.cid.as_str(), "bafy123"); + assert!(output.commit.is_none()); + } + + #[test] + fn test_create_record_output_deserializes_with_commit() { + let json_str = r#"{ + "uri": "at://did:plc:test/app.bsky.feed.post/123", + "cid": "bafy123", + "commit": { + "cid": "bafycommit", + "rev": "3zzsbxqyly42y" + } + }"#; + + let output: CreateRecordOutput = serde_json::from_str(json_str).unwrap(); + let commit = output.commit.unwrap(); + assert_eq!(commit.cid.as_str(), "bafycommit"); + assert_eq!(commit.rev.as_str(), "3zzsbxqyly42y"); + } + + #[test] + fn test_create_record_error_deserializes_invalid_swap() { + let json_str = r#"{"error": "InvalidSwap", "message": "bad swap"}"#; + let error: CreateRecordError = serde_json::from_str(json_str).unwrap(); + assert!(matches!(error, CreateRecordError::InvalidSwap(Some(_)))); + } + + #[test] + fn test_create_record_error_deserializes_other() { + let json_str = r#"{"error": "RepoNotFound", "message": "no such repo"}"#; + let error: CreateRecordError = serde_json::from_str(json_str).unwrap(); + match error { + CreateRecordError::Other { error, message } => { + assert_eq!(error, "RepoNotFound"); + assert_eq!(message.as_deref(), Some("no such repo")); + } + other => panic!("expected Other variant, got {:?}", other), + } + } + + #[test] + fn test_put_record_serializes() { + let req = PutRecord { + collection: Nsid::new("app.bsky.feed.post".to_cowstr()) + .unwrap() + .into_static(), + record: Data::Object(Object(BTreeMap::new())), + repo: AtIdentifier::new("did:plc:abc123".to_cowstr()).unwrap(), + rkey: RecordKey::any_owned("abc123").unwrap(), + swap_commit: None, + swap_record: None, + validate: None, + }; + + let json = serde_json::to_value(&req).unwrap(); + assert_eq!(json["collection"], "app.bsky.feed.post"); + assert_eq!(json["repo"], "did:plc:abc123"); + assert_eq!(json["rkey"], "abc123"); + } + + #[test] + fn test_put_record_output_deserializes() { + let json_str = r#"{ + "uri": "at://did:plc:test/app.bsky.feed.post/123", + "cid": "bafy123" + }"#; + + let output: PutRecordOutput = serde_json::from_str(json_str).unwrap(); + assert_eq!(output.cid.as_str(), "bafy123"); + } + + #[test] + fn test_put_record_error_deserializes() { + let json_str = r#"{"error": "InvalidSwap", "message": "bad swap"}"#; + let error: PutRecordError = serde_json::from_str(json_str).unwrap(); + assert!(matches!(error, PutRecordError::InvalidSwap(Some(_)))); + } + + #[test] + fn test_delete_record_serializes() { + let req = DeleteRecord { + collection: Nsid::new("app.bsky.feed.post".to_cowstr()) + .unwrap() + .into_static(), + repo: AtIdentifier::new("did:plc:abc123".to_cowstr()).unwrap(), + rkey: RecordKey::any_owned("abc123").unwrap(), + swap_commit: None, + swap_record: None, + }; + + let json = serde_json::to_value(&req).unwrap(); + assert_eq!(json["collection"], "app.bsky.feed.post"); + assert_eq!(json["repo"], "did:plc:abc123"); + assert_eq!(json["rkey"], "abc123"); + } + + #[test] + fn test_delete_record_output_deserializes_empty() { + let json_str = "{}"; + let output: DeleteRecordOutput = serde_json::from_str(json_str).unwrap(); + assert!(output.commit.is_none()); + } + + #[test] + fn test_delete_record_output_deserializes_with_commit() { + let json_str = r#"{ + "commit": { + "cid": "bafycommit", + "rev": "3zzsbxqyly42y" + } + }"#; + + let output: DeleteRecordOutput = serde_json::from_str(json_str).unwrap(); + let commit = output.commit.unwrap(); + assert_eq!(commit.cid.as_str(), "bafycommit"); + } + + #[test] + fn test_delete_record_error_deserializes() { + let json_str = r#"{"error": "InvalidSwap", "message": "bad swap"}"#; + let error: DeleteRecordError = serde_json::from_str(json_str).unwrap(); + assert!(matches!(error, DeleteRecordError::InvalidSwap(Some(_)))); + } + + #[test] + fn test_upload_blob_round_trips_body() { + let req = UploadBlob { + body: Bytes::from_static(b"hello world"), + }; + + // The body is raw bytes, not JSON. Encode then decode. + let mut buffer = Vec::new(); + UploadBlob::encode_body(&req, &mut buffer).unwrap(); + assert_eq!(&buffer, b"hello world"); + + let decoded = UploadBlob::decode_body(&buffer).unwrap(); + assert_eq!(decoded.body.as_ref(), b"hello world"); + } + + #[test] + fn test_upload_blob_output_deserializes() { + let json_str = r#"{ + "blob": { + "$type": "blob", + "ref": {"$link": "bafy123"}, + "mimeType": "image/png", + "size": 12345 + } + }"#; + + let output: UploadBlobOutput = serde_json::from_str(json_str).unwrap(); + let blob = output.blob.blob(); + assert_eq!(blob.size, 12345); + } + + #[test] + fn test_create_session_serializes() { + let req = CreateSession { + identifier: SmolStr::new("test.bsky.social"), + password: SmolStr::new("hunter2"), + auth_factor_token: None, + allow_takendown: None, + }; + + let json = serde_json::to_value(&req).unwrap(); + assert_eq!(json["identifier"], "test.bsky.social"); + assert_eq!(json["password"], "hunter2"); + // Optional fields should be skipped when None. + assert!(!json.as_object().unwrap().contains_key("authFactorToken")); + assert!(!json.as_object().unwrap().contains_key("allowTakendown")); + } + + #[test] + fn test_create_session_serializes_with_optional_fields() { + let req = CreateSession { + identifier: SmolStr::new("test.bsky.social"), + password: SmolStr::new("hunter2"), + auth_factor_token: Some(SmolStr::new("123456")), + allow_takendown: Some(true), + }; + + let json = serde_json::to_value(&req).unwrap(); + assert_eq!(json["authFactorToken"], "123456"); + assert_eq!(json["allowTakendown"], true); + } + + #[test] + fn test_create_session_output_deserializes() { + let json_str = r#"{ + "accessJwt": "access-token", + "refreshJwt": "refresh-token", + "handle": "test.bsky.social", + "did": "did:plc:abc123", + "email": "test@example.com", + "emailConfirmed": true, + "active": true + }"#; + + let output: CreateSessionOutput = serde_json::from_str(json_str).unwrap(); + assert_eq!(output.access_jwt.as_str(), "access-token"); + assert_eq!(output.refresh_jwt.as_str(), "refresh-token"); + assert_eq!(output.handle.as_str(), "test.bsky.social"); + assert_eq!(output.did.as_str(), "did:plc:abc123"); + assert_eq!(output.email.as_ref().unwrap().as_str(), "test@example.com"); + assert_eq!(output.email_confirmed, Some(true)); + assert_eq!(output.active, Some(true)); + // Optional fields absent from the payload remain None. + assert!(output.did_doc.is_none()); + assert!(output.email_auth_factor.is_none()); + assert!(output.status.is_none()); + } + + #[test] + fn test_create_session_output_deserializes_with_status_and_did_doc() { + let json_str = r#"{ + "accessJwt": "access-token", + "refreshJwt": "refresh-token", + "handle": "test.bsky.social", + "did": "did:plc:abc123", + "didDoc": {"@context": ["https://www.w3.org/ns/did/v1"]}, + "status": "takendown", + "active": false + }"#; + + let output: CreateSessionOutput = serde_json::from_str(json_str).unwrap(); + assert!(output.did_doc.is_some()); + assert_eq!(output.active, Some(false)); + assert_eq!(output.status.as_ref().unwrap().as_str(), "takendown"); + } + + #[test] + fn test_create_session_output_into_static() { + let output = CreateSessionOutput { + access_jwt: SmolStr::new("access-token"), + refresh_jwt: SmolStr::new("refresh-token"), + handle: Handle::new("test.bsky.social").unwrap().into_static(), + did: Did::new("did:plc:abc123").unwrap().into_static(), + did_doc: None, + email: Some(SmolStr::new("test@example.com")), + email_confirmed: Some(true), + email_auth_factor: None, + active: Some(true), + status: Some(SmolStr::new("active")), + }; + let static_output: CreateSessionOutput = output.into_static(); + assert_eq!(static_output.access_jwt.as_str(), "access-token"); + assert_eq!( + static_output.email.as_ref().unwrap().as_str(), + "test@example.com" + ); + } + + #[test] + fn test_create_session_error_account_takedown() { + let json_str = r#"{"error": "AccountTakedown", "message": "taken down"}"#; + let error: CreateSessionError = serde_json::from_str(json_str).unwrap(); + assert!(matches!( + error, + CreateSessionError::AccountTakedown(Some(_)) + )); + } + + #[test] + fn test_create_session_error_auth_factor_required() { + let json_str = r#"{"error": "AuthFactorTokenRequired", "message": "2fa required"}"#; + let error: CreateSessionError = serde_json::from_str(json_str).unwrap(); + assert!(matches!( + error, + CreateSessionError::AuthFactorTokenRequired(Some(_)) + )); + } + + #[test] + fn test_create_session_error_other_catch_all() { + // An unknown error code should fall into the untagged Other variant. + let json_str = r#"{"error": "SomeUnknownCode", "message": "weird"}"#; + let error: CreateSessionError = serde_json::from_str(json_str).unwrap(); + match error { + CreateSessionError::Other { error, message } => { + assert_eq!(error.as_str(), "SomeUnknownCode"); + assert_eq!(message.unwrap().as_str(), "weird"); + } + other => panic!("expected Other, got {:?}", other), + } + } + + #[test] + fn test_get_session_output_deserializes() { + let json_str = r#"{ + "handle": "test.bsky.social", + "did": "did:plc:abc123", + "email": "test@example.com", + "emailConfirmed": true, + "active": true + }"#; + + let output: GetSessionOutput = serde_json::from_str(json_str).unwrap(); + assert_eq!(output.handle.as_str(), "test.bsky.social"); + assert_eq!(output.did.as_str(), "did:plc:abc123"); + assert_eq!(output.email_confirmed, Some(true)); + assert_eq!(output.active, Some(true)); + } + + #[test] + fn test_get_session_output_into_static() { + let output = GetSessionOutput { + handle: Handle::new("test.bsky.social").unwrap().into_static(), + did: Did::new("did:plc:abc123").unwrap().into_static(), + did_doc: None, + email: Some(SmolStr::new("test@example.com")), + email_confirmed: Some(true), + email_auth_factor: None, + active: Some(true), + status: None, + }; + let static_output: GetSessionOutput = output.into_static(); + assert_eq!(static_output.handle.as_str(), "test.bsky.social"); + } + + #[test] + fn test_refresh_session_output_deserializes() { + let json_str = r#"{ + "accessJwt": "new-access", + "refreshJwt": "new-refresh", + "handle": "test.bsky.social", + "did": "did:plc:abc123", + "active": true + }"#; + + let output: RefreshSessionOutput = serde_json::from_str(json_str).unwrap(); + assert_eq!(output.access_jwt.as_str(), "new-access"); + assert_eq!(output.refresh_jwt.as_str(), "new-refresh"); + assert_eq!(output.did.as_str(), "did:plc:abc123"); + assert_eq!(output.active, Some(true)); + } + + #[test] + fn test_refresh_session_output_into_static() { + let output = RefreshSessionOutput { + access_jwt: SmolStr::new("new-access"), + refresh_jwt: SmolStr::new("new-refresh"), + handle: Handle::new("test.bsky.social").unwrap().into_static(), + did: Did::new("did:plc:abc123").unwrap().into_static(), + did_doc: None, + email: None, + email_confirmed: None, + email_auth_factor: None, + active: Some(true), + status: None, + }; + let static_output: RefreshSessionOutput = output.into_static(); + assert_eq!(static_output.access_jwt.as_str(), "new-access"); + } + + #[test] + fn test_refresh_session_error_invalid_token() { + let json_str = r#"{"error": "InvalidToken", "message": "bad token"}"#; + let error: RefreshSessionError = serde_json::from_str(json_str).unwrap(); + assert!(matches!(error, RefreshSessionError::InvalidToken(Some(_)))); + } + + #[test] + fn test_refresh_session_error_expired_token() { + let json_str = r#"{"error": "ExpiredToken"}"#; + let error: RefreshSessionError = serde_json::from_str(json_str).unwrap(); + assert!(matches!(error, RefreshSessionError::ExpiredToken(None))); + } + + #[test] + fn test_refresh_session_error_other_catch_all() { + let json_str = r#"{"error": "SomethingElse", "message": "hmm"}"#; + let error: RefreshSessionError = serde_json::from_str(json_str).unwrap(); + match error { + RefreshSessionError::Other { error, message } => { + assert_eq!(error.as_str(), "SomethingElse"); + assert_eq!(message.unwrap().as_str(), "hmm"); + } + other => panic!("expected Other, got {:?}", other), + } } } diff --git a/crates/jacquard-identity/src/lexicon_resolver.rs b/crates/jacquard-identity/src/lexicon_resolver.rs index 63afe13b1..81d8f0ca4 100644 --- a/crates/jacquard-identity/src/lexicon_resolver.rs +++ b/crates/jacquard-identity/src/lexicon_resolver.rs @@ -10,7 +10,7 @@ use jacquard_common::{ BosStr, deps::smol_str, http_client::HttpClient, - types::{cid::Cid, did::Did, string::Nsid}, + types::{cid::Cid, did::Did, ident::AtIdentifier, string::Nsid, string::RecordKey}, }; use smol_str::SmolStr; @@ -485,8 +485,6 @@ impl LexiconSchemaResolver for crate::JacquardResolver use jacquard_common::xrpc::atproto::GetRecord; use jacquard_common::{IntoStatic, xrpc::XrpcExt}; - use jacquard_common::CowStr; - let nsid_str = nsid.as_str(); let owned_nsid: Nsid = Nsid::new_owned(nsid_str).expect("already validated NSID"); @@ -499,7 +497,6 @@ impl LexiconSchemaResolver for crate::JacquardResolver } // Perform resolution - //#[cfg(feature = "dns")] let result = async { // 1. Resolve authority DID via DNS let authority_did = self.resolve_lexicon_authority(nsid).await?; @@ -522,13 +519,13 @@ impl LexiconSchemaResolver for crate::JacquardResolver tracing::trace!("fetching lexicon {} from PDS {}", nsid, pds); // 3. Fetch lexicon record via XRPC getRecord - let collection = Nsid::new("com.atproto.lexicon.schema") + let collection = Nsid::new_owned("com.atproto.lexicon.schema") .map_err(|_| LexiconResolutionError::invalid_collection())?; let request = GetRecord { - repo: authority_did.clone().convert::>().into(), - collection: collection.convert::>(), - rkey: CowStr::from(nsid_str), + repo: AtIdentifier::Did(authority_did.clone()), + collection, + rkey: RecordKey::any_owned(nsid_str).unwrap(), cid: None, }; diff --git a/crates/jacquard-lexicon/src/codegen/utils.rs b/crates/jacquard-lexicon/src/codegen/utils.rs index 0a36fafc4..ea228facf 100644 --- a/crates/jacquard-lexicon/src/codegen/utils.rs +++ b/crates/jacquard-lexicon/src/codegen/utils.rs @@ -172,12 +172,21 @@ pub fn make_ident(s: &str) -> syn::Ident { }) } -/// Generate doc comment from optional description +/// Generate doc comment from optional description. +/// +/// Multi-line descriptions are split into separate `#[doc]` attributes so that +/// pretty-printers render them as `///` line comments rather than `/** ... */` +/// block comments. Block comments with indented continuation lines cause rustdoc +/// to interpret the indented text as a Markdown code block, which then gets +/// compiled as a (broken) doctest. pub(super) fn generate_doc_comment(desc: Option<&CowStr>) -> TokenStream { if let Some(description) = desc { - let desc_str = format!(" {description}"); + let lines: Vec = description + .lines() + .map(|line| format!(" {line}")) + .collect(); quote! { - #[doc = #desc_str] + #(#[doc = #lines])* } } else { quote! {} diff --git a/crates/jacquard-oauth/src/lib.rs b/crates/jacquard-oauth/src/lib.rs index 4bf080516..c64816b9b 100644 --- a/crates/jacquard-oauth/src/lib.rs +++ b/crates/jacquard-oauth/src/lib.rs @@ -22,7 +22,7 @@ //! keyset: None, // Will generate ES256 keypair if needed //! config: AtprotoClientMetadata::default_localhost(), //! }; -//! let oauth = OAuthClient::new(store, client_data); +//! let oauth = OAuthClient::new(store, client_data, reqwest::Client::new()); //! //! // Start auth flow (with loopback feature) //! let session = oauth.login_with_local_server( diff --git a/crates/jacquard-oauth/src/scopes.rs b/crates/jacquard-oauth/src/scopes.rs index 3ecd3eb9e..22c3eccf0 100644 --- a/crates/jacquard-oauth/src/scopes.rs +++ b/crates/jacquard-oauth/src/scopes.rs @@ -29,9 +29,11 @@ use jacquard_common::deps::fluent_uri::pct_enc::{ EStr, EString, encoder::{Query, Query as EncQuery}, }; +use jacquard_common::types::collection::Collection; use jacquard_common::types::did::Did; use jacquard_common::types::nsid::Nsid; use jacquard_common::types::string::AtStrError; +use jacquard_common::xrpc::XrpcRequest; use jacquard_common::{BorrowOrShare, Bos, FromStaticStr, IntoStatic}; use serde::de::{Error as DeError, Visitor}; use serde::{Deserialize, Serialize}; diff --git a/crates/jacquard/src/client.rs b/crates/jacquard/src/client.rs index d583e5f4b..b8cc04b9d 100644 --- a/crates/jacquard/src/client.rs +++ b/crates/jacquard/src/client.rs @@ -36,16 +36,9 @@ use crate::client::credential_session::{CredentialSession, SessionKey}; use crate::client::vec_update::VecUpdate; use core::future::Future; pub use error::*; -#[cfg(feature = "api")] -use jacquard_api::com_atproto::repo::get_record::GetRecordOutput; -#[cfg(feature = "api")] -use jacquard_api::com_atproto::{ - repo::{ - create_record::CreateRecordOutput, delete_record::DeleteRecordOutput, - get_record::GetRecordResponse, put_record::PutRecordOutput, - }, - server::{create_session::CreateSessionOutput, refresh_session::RefreshSessionOutput}, -}; +// Bootstrap types for com.atproto.repo/server endpoints. These live in +// jacquard-common to break the circular dependency with jacquard-api, and use +// plain struct literals instead of builders. use jacquard_common::deps::fluent_uri::Uri; use jacquard_common::error::XrpcResult; pub use jacquard_common::error::{ClientError, XrpcResult as ClientResult}; @@ -53,21 +46,22 @@ use jacquard_common::http_client::HttpClient; pub use jacquard_common::session::{MemorySessionStore, SessionStore, SessionStoreError}; use jacquard_common::types::blob::{Blob, MimeType}; use jacquard_common::types::collection::Collection; -#[cfg(feature = "api")] use jacquard_common::types::did_doc::DidDocument; -#[cfg(feature = "api")] use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::recordkey::{RecordKey, Rkey}; use jacquard_common::types::string::AtUri; -#[cfg(feature = "api")] use jacquard_common::types::uri::RecordUri; use jacquard_common::xrpc::XrpcResponse; +use jacquard_common::xrpc::atproto::{ + CreateRecordOutput, CreateSessionOutput, DeleteRecordOutput, GetRecordOutput, + GetRecordResponse, PutRecordOutput, RefreshSessionOutput, +}; use jacquard_common::xrpc::{ CallOptions, Response, XrpcClient, XrpcError, XrpcExt, XrpcRequest, XrpcResp, }; use jacquard_common::{AuthorizationToken, xrpc}; use jacquard_common::{ - BosStr, CowStr, IntoStatic, + BosStr, IntoStatic, types::string::{Did, Handle}, }; use jacquard_identity::resolver::{ @@ -442,15 +436,13 @@ impl MemoryCredentialSession { /// # Example /// ```no_run /// # use jacquard::client::BasicClient; - /// # use jacquard::types::string::AtUri; /// # use jacquard::api::app_bsky::feed::post::Post; /// # use jacquard::types::string::Datetime; - /// # use jacquard::CowStr; /// use jacquard::client::MemoryCredentialSession; /// use jacquard::client::{Agent, AgentSessionExt}; /// # #[tokio::main] /// # async fn main() -> Result<(), Box> { - /// # let (identifier, password, post_text): (CowStr<'_>, CowStr<'_>, CowStr<'_>) = todo!(); + /// # let (identifier, password, post_text): (&str, &str, &str) = ("todo", "todo", "todo"); /// let (session, _) = MemoryCredentialSession::authenticated(identifier, password, None, None).await?; /// let agent = Agent::from(session); /// let post = Post::new().text(post_text).created_at(Datetime::now()).build(); @@ -459,9 +451,9 @@ impl MemoryCredentialSession { /// # } /// ``` pub async fn authenticated( - identifier: CowStr<'_>, - password: CowStr<'_>, - session_id: Option>, + identifier: &str, + password: &str, + session_id: Option<&str>, pds: Option>, ) -> ClientResult<(Self, AtpSession)> { let session = MemoryCredentialSession::unauthenticated(); @@ -504,7 +496,6 @@ impl AtpSession { /// Merge a refresh response into this session, preserving the existing PDS unless /// the refresh response contains a parseable DID document PDS endpoint. - #[cfg(feature = "api")] pub fn merge_refresh(&mut self, output: RefreshSessionOutput) { let pds = pds_from_data(output.did_doc.as_ref()).or_else(|| self.pds.clone()); self.access_jwt = output.access_jwt; @@ -523,7 +514,6 @@ impl IntoStatic for AtpSession { } } -#[cfg(feature = "api")] pub(crate) fn pds_from_data( data: Option<&jacquard_common::types::value::Data>, ) -> Option> { @@ -531,7 +521,6 @@ pub(crate) fn pds_from_data( doc.pds_endpoint().map(|uri| uri.to_owned()) } -#[cfg(feature = "api")] impl From for AtpSession { fn from(output: CreateSessionOutput) -> Self { let pds = pds_from_data(output.did_doc.as_ref()); @@ -545,7 +534,6 @@ impl From for AtpSession { } } -#[cfg(feature = "api")] impl From for AtpSession { fn from(output: RefreshSessionOutput) -> Self { let pds = pds_from_data(output.did_doc.as_ref()); @@ -559,6 +547,40 @@ impl From for AtpSession { } } +/// Convert from the generated API `CreateSessionOutput` when the `api` feature is enabled. +#[cfg(feature = "api")] +impl From for AtpSession { + fn from( + output: jacquard_api::com_atproto::server::create_session::CreateSessionOutput, + ) -> Self { + let pds = pds_from_data(output.did_doc.as_ref()); + Self { + access_jwt: output.access_jwt, + refresh_jwt: output.refresh_jwt, + did: output.did, + handle: output.handle, + pds, + } + } +} + +/// Convert from the generated API `RefreshSessionOutput` when the `api` feature is enabled. +#[cfg(feature = "api")] +impl From for AtpSession { + fn from( + output: jacquard_api::com_atproto::server::refresh_session::RefreshSessionOutput, + ) -> Self { + let pds = pds_from_data(output.did_doc.as_ref()); + Self { + access_jwt: output.access_jwt, + refresh_jwt: output.refresh_jwt, + did: output.did, + handle: output.handle, + pds, + } + } +} + /// Thin wrapper over a stateful session providing a uniform `XrpcClient`. pub struct Agent { inner: A, @@ -639,18 +661,15 @@ type VecUpdatePutError = /// # use jacquard::client::BasicClient; /// # use jacquard_api::app_bsky::feed::post::Post; /// # use jacquard_common::types::string::{AtUri, Datetime}; -/// # use jacquard_common::CowStr; /// use jacquard::client::AgentSessionExt; /// # #[tokio::main] /// # async fn main() -> Result<(), Box> { /// # let agent: BasicClient = todo!(); /// // Create a post -/// let post = Post { -/// text: CowStr::from("Hello from Jacquard!"), -/// created_at: Datetime::now(), -/// # embed: None, entities: None, facets: None, labels: None, -/// # langs: None, reply: None, tags: None, extra_data: Default::default(), -/// }; +/// let post = Post::new() +/// .text("Hello from Jacquard!") +/// .created_at(Datetime::now()) +/// .build(); /// let output = agent.create_record(post, None).await?; /// /// // Read it back @@ -660,7 +679,6 @@ type VecUpdatePutError = /// # Ok(()) /// # } /// ``` -#[cfg(feature = "api")] pub trait AgentSessionExt: AgentSession + IdentityResolver { /// Create a new record in the repository. /// @@ -673,23 +691,14 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { /// # use jacquard::client::BasicClient; /// # use jacquard_api::app_bsky::feed::post::Post; /// # use jacquard_common::types::string::Datetime; - /// # use jacquard_common::CowStr; /// use jacquard::client::AgentSessionExt; /// # #[tokio::main] /// # async fn main() -> Result<(), Box> { /// # let agent: BasicClient = todo!(); - /// let post = Post { - /// text: CowStr::from("Hello world!"), - /// created_at: Datetime::now(), - /// embed: None, - /// entities: None, - /// facets: None, - /// labels: None, - /// langs: None, - /// reply: None, - /// tags: None, - /// extra_data: Default::default(), - /// }; + /// let post = Post::new() + /// .text("Hello world!") + /// .created_at(Datetime::now()) + /// .build(); /// let output = agent.create_record(post, None).await?; /// println!("Created record: {}", output.uri); /// # Ok(()) @@ -704,9 +713,9 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { R: Collection + serde::Serialize, { async move { - use jacquard_api::com_atproto::repo::create_record::CreateRecord; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::to_data; + use jacquard_common::xrpc::atproto::CreateRecord; let (did, _) = self .session_info() @@ -719,12 +728,15 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { let data = to_data(&record).map_err(|e| AgentError::sub_operation("serialize record", e))?; - let request = CreateRecord::new() - .repo(AtIdentifier::Did(did)) - .collection(R::nsid().into_static()) - .record(data) - .rkey(rkey.map(|k| k.clone())) - .build(); + // Bootstrap types use plain struct literals instead of builders. + let request = CreateRecord { + repo: AtIdentifier::Did(did), + collection: R::nsid().into_static(), + record: data, + rkey: rkey.map(|k| k.clone()), + swap_commit: None, + validate: None, + }; #[cfg(feature = "tracing")] _span.exit(); @@ -820,13 +832,14 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { }; // Make stateless XRPC call to that PDS (no auth required for public records). - // All fields use SmolStr backing to satisfy the builder's single S type parameter. - use jacquard_api::com_atproto::repo::get_record::GetRecord; - let request = GetRecord::new() - .repo(AtIdentifier::Did(repo_did.clone())) - .collection(R::nsid().into_static()) - .rkey(rkey.into_static()) - .build(); + // Bootstrap types use plain struct literals; rkey is required here. + use jacquard_common::xrpc::atproto::GetRecord; + let request = GetRecord { + repo: AtIdentifier::Did(repo_did.clone()), + collection: R::nsid().into_static(), + rkey: RecordKey(rkey.into_static()), + cid: None, + }; let response: Response = { let http_request = @@ -1036,14 +1049,16 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { #[cfg(feature = "tracing")] let _span = tracing::debug_span!("delete_record", collection = %R::nsid()).entered(); - use jacquard_api::com_atproto::repo::delete_record::DeleteRecord; use jacquard_common::types::ident::AtIdentifier; - - let request = DeleteRecord::new() - .repo(AtIdentifier::Did(did.clone())) - .collection(R::nsid().into_static()) - .rkey(rkey.into_static()) - .build(); + use jacquard_common::xrpc::atproto::DeleteRecord; + + let request = DeleteRecord { + repo: AtIdentifier::Did(did.clone()), + collection: R::nsid().into_static(), + rkey, + swap_commit: None, + swap_record: None, + }; #[cfg(feature = "tracing")] _span.exit(); @@ -1076,9 +1091,9 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { #[cfg(feature = "tracing")] let _span = tracing::debug_span!("put_record", collection = %R::nsid()).entered(); - use jacquard_api::com_atproto::repo::put_record::PutRecord; use jacquard_common::types::ident::AtIdentifier; use jacquard_common::types::value::to_data; + use jacquard_common::xrpc::atproto::PutRecord; let (did, _) = self .session_info() @@ -1088,12 +1103,15 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { let data = to_data(&record).map_err(|e| AgentError::sub_operation("serialize record", e))?; - let request = PutRecord::new() - .repo(AtIdentifier::Did(did.clone())) - .collection(R::nsid().into_static()) - .rkey(rkey.into_static()) - .record(data) - .build(); + let request = PutRecord { + repo: AtIdentifier::Did(did.clone()), + collection: R::nsid().into_static(), + rkey, + record: data, + swap_commit: None, + swap_record: None, + validate: None, + }; #[cfg(feature = "tracing")] _span.exit(); @@ -1259,7 +1277,6 @@ pub trait AgentSessionExt: AgentSession + IdentityResolver { } } -#[cfg(feature = "api")] impl AgentSessionExt for T {} impl AgentSession for CredentialSession diff --git a/crates/jacquard/src/client/credential_session.rs b/crates/jacquard/src/client/credential_session.rs index e43eea25e..72085302c 100644 --- a/crates/jacquard/src/client/credential_session.rs +++ b/crates/jacquard/src/client/credential_session.rs @@ -1,10 +1,8 @@ use std::sync::Arc; -use jacquard_api::com_atproto::server::{ - create_session::CreateSession, refresh_session::RefreshSession, -}; +use jacquard_common::xrpc::atproto::{CreateSession, RefreshSession}; use jacquard_common::{ - AuthorizationToken, CowStr, IntoStatic, + AuthorizationToken, IntoStatic, bos::BosStr, deps::fluent_uri::Uri, error::{AuthError, ClientError, XrpcResult}, @@ -20,9 +18,12 @@ use tokio::sync::RwLock; use crate::client::AtpSession; #[cfg(feature = "websocket")] -use jacquard_common::websocket::{WebSocketClient, WebSocketConnection}; -#[cfg(feature = "websocket")] use jacquard_common::xrpc::XrpcSubscription; +#[cfg(feature = "websocket")] +use jacquard_common::{ + CowStr, + websocket::{WebSocketClient, WebSocketConnection}, +}; use jacquard_identity::resolver::{ DidDocResponse, IdentityError, IdentityResolver, ResolverOptions, }; @@ -58,15 +59,15 @@ pub struct CredentialLoginChallenge { /// Options for hint/challenge-based app-password login helpers. #[derive(Debug, Clone)] -pub struct CredentialLoginOptions<'a> { +pub struct CredentialLoginOptions { /// App-password or account password. - pub password: CowStr<'a>, + pub password: SmolStr, /// Login identifier override, required when the challenge has no identifier. - pub identifier: Option>, + pub identifier: Option, /// Whether taken-down accounts are allowed. pub allow_takendown: Option, /// Optional auth factor token. - pub auth_factor_token: Option>, + pub auth_factor_token: Option, /// Explicit PDS/entryway endpoint to use for login. pub pds: Option>, } @@ -194,15 +195,15 @@ fn credential_challenge_from_hint(hint: &SessionHint) -> Credentia session_id: None, }, SessionHint::Did(did) => CredentialLoginChallenge { - identifier: Some(did.as_str().to_smolstr()), + identifier: Some(did.to_smolstr()), session_id: None, }, SessionHint::Handle(handle) => CredentialLoginChallenge { - identifier: Some(handle.as_str().to_smolstr()), + identifier: Some(handle.to_smolstr()), session_id: None, }, SessionHint::Key(key) => CredentialLoginChallenge { - identifier: Some(key.did.as_str().to_smolstr()), + identifier: Some(key.did.to_smolstr()), session_id: Some(key.session_id.clone()), }, SessionHint::Identifier(identifier) => CredentialLoginChallenge { @@ -377,11 +378,11 @@ where /// - Persists and activates the session, and updates the base endpoint to the user's PDS. pub async fn login( &self, - identifier: CowStr<'_>, - password: CowStr<'_>, - session_id: Option>, + identifier: &str, + password: &str, + session_id: Option<&str>, allow_takendown: Option, - auth_factor_token: Option>, + auth_factor_token: Option<&str>, pds: Option>, ) -> std::result::Result { #[cfg(feature = "tracing")] @@ -391,17 +392,15 @@ where // Resolve PDS base let pds = if let Some(pds) = pds { pds - } else if identifier.as_ref().starts_with("http://") - || identifier.as_ref().starts_with("https://") - { - Uri::parse(identifier.as_ref()) + } else if identifier.starts_with("http://") || identifier.starts_with("https://") { + Uri::parse(identifier) .map_err(|e| { ClientError::from(e) .with_help("identifier should be a valid https:// URL, handle, or DID") })? .to_owned() - } else if identifier.as_ref().starts_with("did:") { - let did = Did::new(identifier.as_ref()).map_err(|e| { + } else if identifier.starts_with("did:") { + let did = Did::new(identifier).map_err(|e| { ClientError::invalid_request(format!("invalid did: {:?}", e)) .with_help("DID format should be did:method:identifier (e.g., did:plc:abc123)") })?; @@ -415,7 +414,7 @@ where ClientError::invalid_request("missing PDS endpoint") .with_help("DID document must include a PDS service endpoint") })? - } else if identifier.as_ref().contains("@") && !identifier.as_ref().starts_with("@") { + } else if identifier.contains('@') && !identifier.starts_with('@') { // we're going to assume its an email pds.ok_or_else(|| { ClientError::invalid_request("missing PDS endpoint") @@ -423,11 +422,10 @@ where })? } else { // treat as handle - let handle = - jacquard_common::types::string::Handle::new(identifier.as_ref()).map_err(|e| { - ClientError::invalid_request(format!("invalid handle: {:?}", e)) - .with_help("handle format should be domain.tld (e.g., alice.bsky.social)") - })?; + let handle = jacquard_common::types::string::Handle::new(identifier).map_err(|e| { + ClientError::invalid_request(format!("invalid handle: {:?}", e)) + .with_help("handle format should be domain.tld (e.g., alice.bsky.social)") + })?; let did = self.client.resolve_handle(&handle).await.map_err(|e| { ClientError::from(e).with_context("handle resolution failed during login") })?; @@ -446,10 +444,9 @@ where // Build and send createSession let req = CreateSession { allow_takendown, - auth_factor_token, - identifier: identifier.clone().into_static(), - password: password.into_static(), - extra_data: None, + auth_factor_token: auth_factor_token.map(SmolStr::from), + identifier: SmolStr::from(identifier), + password: SmolStr::from(password), }; let resp = self @@ -468,8 +465,8 @@ where session.pds = Some(jacquard_common::xrpc::normalize_base_uri(pds.clone())); } - let sid = session_id.unwrap_or_else(|| CowStr::new_static("session")); - let key = SessionKey::new(session.did.clone().convert::(), SmolStr::from(sid)); + let sid = SmolStr::from(session_id.unwrap_or("session")); + let key = SessionKey::new(session.did.clone().convert::(), sid); self.store .set(key.clone(), session.clone()) .await @@ -540,12 +537,13 @@ where pub async fn login_from_challenge( &self, challenge: CredentialLoginChallenge, - options: CredentialLoginOptions<'_>, + options: CredentialLoginOptions, ) -> Result { let identifier = challenge .identifier - .map(CowStr::from) - .or(options.identifier) + .as_ref() + .map(|s| s.as_str()) + .or(options.identifier.as_deref()) .ok_or_else(|| { ClientError::invalid_request("missing login identifier").with_help( "provide CredentialLoginOptions::identifier for an Any resume challenge", @@ -553,10 +551,10 @@ where })?; self.login( identifier, - options.password, - challenge.session_id.map(CowStr::from), + &options.password, + challenge.session_id.as_deref(), options.allow_takendown, - options.auth_factor_token, + options.auth_factor_token.as_deref(), options.pds, ) .await @@ -566,7 +564,7 @@ where pub async fn login_with_hint( &self, hint: &SessionHint, - options: CredentialLoginOptions<'_>, + options: CredentialLoginOptions, ) -> Result { self.login_from_challenge(credential_challenge_from_hint(hint), options) .await @@ -576,7 +574,7 @@ where pub async fn resume_or_login( &self, hint: &SessionHint, - options: CredentialLoginOptions<'_>, + options: CredentialLoginOptions, ) -> Result where S: SessionSelector, @@ -593,7 +591,7 @@ where pub async fn restore( &self, did: Did, - session_id: CowStr<'_>, + session_id: &str, ) -> std::result::Result<(), ClientError> { #[cfg(feature = "tracing")] let _span = @@ -611,7 +609,7 @@ where pub async fn switch_session( &self, did: Did, - session_id: CowStr<'_>, + session_id: &str, ) -> std::result::Result<(), ClientError> { let key = SessionKey::new(did, SmolStr::from(session_id)); let Some(sess) = self.store.get(&key).await else { diff --git a/crates/jacquard/src/client/token.rs b/crates/jacquard/src/client/token.rs index df7b5f98f..548ff2369 100644 --- a/crates/jacquard/src/client/token.rs +++ b/crates/jacquard/src/client/token.rs @@ -1,241 +1,36 @@ use jacquard_common::IntoStatic; use jacquard_common::bos::BosStr; -use jacquard_common::deps::fluent_uri::Uri; use jacquard_common::session::{ FileTokenStore, SessionHint, SessionKey, SessionSelector, SessionStore, SessionStoreError, }; -use jacquard_common::types::string::{Datetime, Did}; -use jacquard_oauth::scopes::Scopes; -use jacquard_oauth::session::{AuthRequestData, ClientSessionData, DpopClientData, DpopReqData}; -use jacquard_oauth::types::OAuthTokenType; -use jose_jwk::Key; -use serde::{Deserialize, Serialize}; -use smol_str::SmolStr; +use jacquard_common::types::string::Did; +use jacquard_oauth::session::{AuthRequestData, ClientSessionData}; +use smol_str::{SmolStr, format_smolstr}; /// On-disk session records for app-password and OAuth flows, sharing a single JSON map. +/// +/// The OAuth variants store [`ClientSessionData`] and [`AuthRequestData`] directly, rather +/// than through a separate serialization shim. With the default `SmolStr` backing these types +/// satisfy `DeserializeOwned`, so they can be (de)serialized as-is. #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] pub enum StoredSession { - /// App-password session + /// App-password session. Atp(StoredAtSession), - /// OAuth client session - OAuth(OAuthSession), - /// OAuth authorization request state - OAuthState(OAuthState), + /// OAuth client session. + ClientSession(ClientSessionData), + /// OAuth authorization request state. + AuthRequest(AuthRequestData), } /// Persisted representation of an app-password session plus its store-local session id. #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] pub struct StoredAtSession { /// Session id label (e.g., "session") - pub session_id: String, + pub session_id: SmolStr, /// Stored app-password session. pub session: crate::client::AtpSession, } -/// Persisted OAuth client session (on-disk format). -#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -pub struct OAuthSession { - /// Account DID - account_did: String, - /// Client-generated session id (usually auth `state`) - session_id: String, - - /// Base URL of the resource server (PDS) - host_url: Uri, - - /// Base URL of the authorization server (PDS or entryway) - authserver_url: String, - - /// Full token endpoint URL - authserver_token_endpoint: String, - - /// Full revocation endpoint URL, if available - #[serde(skip_serializing_if = "std::option::Option::is_none")] - authserver_revocation_endpoint: Option, - - /// Granted scopes (space-separated, normalized). - scopes: String, - - /// Client DPoP key material - pub dpop_key: Key, - /// Current auth server DPoP nonce - pub dpop_authserver_nonce: String, - /// Current resource server (PDS) DPoP nonce - pub dpop_host_nonce: String, - - /// Token response issuer - pub iss: String, - /// Token subject (DID) - pub sub: String, - /// Token audience (verified PDS URL) - pub aud: String, - /// Token scopes (raw) if provided - pub scope: Option, - - /// Refresh token - pub refresh_token: Option, - /// Access token - pub access_token: String, - /// Token type (e.g., DPoP) - pub token_type: OAuthTokenType, - - /// Expiration timestamp - pub expires_at: Option, -} - -impl From> for OAuthSession { - fn from(data: ClientSessionData) -> Self { - OAuthSession { - account_did: AsRef::::as_ref(&data.account_did).to_owned(), - session_id: AsRef::::as_ref(&data.session_id).to_owned(), - host_url: data.host_url.clone(), - authserver_url: AsRef::::as_ref(&data.authserver_url).to_owned(), - authserver_token_endpoint: AsRef::::as_ref(&data.authserver_token_endpoint) - .to_owned(), - authserver_revocation_endpoint: data - .authserver_revocation_endpoint - .map(|s| AsRef::::as_ref(&s).to_owned()), - scopes: String::from(data.scopes.to_normalized_string()), - dpop_key: data.dpop_data.dpop_key, - dpop_authserver_nonce: AsRef::::as_ref(&data.dpop_data.dpop_authserver_nonce) - .to_owned(), - dpop_host_nonce: AsRef::::as_ref(&data.dpop_data.dpop_host_nonce).to_owned(), - iss: AsRef::::as_ref(&data.token_set.iss).to_owned(), - sub: AsRef::::as_ref(&data.token_set.sub).to_owned(), - aud: AsRef::::as_ref(&data.token_set.aud).to_owned(), - scope: data - .token_set - .scope - .map(|s| AsRef::::as_ref(&s).to_owned()), - refresh_token: data - .token_set - .refresh_token - .map(|s| AsRef::::as_ref(&s).to_owned()), - access_token: AsRef::::as_ref(&data.token_set.access_token).to_owned(), - token_type: data.token_set.token_type, - expires_at: data.token_set.expires_at, - } - } -} - -impl From for ClientSessionData { - fn from(session: OAuthSession) -> Self { - ClientSessionData { - account_did: Did::new_owned(session.account_did).expect("stored DID should be valid"), - session_id: SmolStr::from(session.session_id), - host_url: session.host_url, - authserver_url: SmolStr::from(session.authserver_url), - authserver_token_endpoint: SmolStr::from(session.authserver_token_endpoint), - authserver_revocation_endpoint: session - .authserver_revocation_endpoint - .map(SmolStr::from), - scopes: Scopes::new(SmolStr::from(session.scopes.as_str())) - .expect("stored scopes should be valid"), - dpop_data: DpopClientData { - dpop_key: session.dpop_key, - dpop_authserver_nonce: SmolStr::from(session.dpop_authserver_nonce), - dpop_host_nonce: SmolStr::from(session.dpop_host_nonce), - }, - token_set: jacquard_oauth::types::TokenSet { - iss: SmolStr::from(session.iss), - sub: Did::new_owned(session.sub).expect("stored DID should be valid"), - aud: SmolStr::from(session.aud), - scope: session.scope.map(SmolStr::from), - refresh_token: session.refresh_token.map(SmolStr::from), - access_token: SmolStr::from(session.access_token), - token_type: session.token_type, - expires_at: session.expires_at, - }, - resolved_scopes: None, - } - } -} - -/// Persisted OAuth authorization request state. -#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] -pub struct OAuthState { - /// Random identifier generated for the authorization flow (`state`) - pub state: String, - - /// Base URL of the authorization server (PDS or entryway) - pub authserver_url: Uri, - - /// Optional pre-known account DID - #[serde(skip_serializing_if = "std::option::Option::is_none")] - pub account_did: Option, - - /// Requested scopes (space-separated, normalized). - pub scopes: String, - - /// Request URI for the authorization step - pub request_uri: String, - - /// Full token endpoint URL - pub authserver_token_endpoint: String, - - /// Full revocation endpoint URL, if available - #[serde(skip_serializing_if = "std::option::Option::is_none")] - pub authserver_revocation_endpoint: Option, - - /// PKCE verifier - pub pkce_verifier: String, - - /// Client DPoP key material - pub dpop_key: Key, - /// Auth server DPoP nonce at PAR time - #[serde(skip_serializing_if = "std::option::Option::is_none")] - pub dpop_authserver_nonce: Option, -} - -impl TryFrom> for OAuthState { - type Error = jacquard_common::deps::fluent_uri::ParseError; - - fn try_from(value: AuthRequestData) -> Result { - Ok(OAuthState { - authserver_url: Uri::parse(value.authserver_url.as_ref())?.to_owned(), - account_did: value - .account_did - .map(|s| AsRef::::as_ref(&s).to_owned()), - scopes: String::from(value.scopes.to_normalized_string()), - request_uri: AsRef::::as_ref(&value.request_uri).to_owned(), - authserver_token_endpoint: AsRef::::as_ref(&value.authserver_token_endpoint) - .to_owned(), - authserver_revocation_endpoint: value - .authserver_revocation_endpoint - .map(|s| AsRef::::as_ref(&s).to_owned()), - pkce_verifier: AsRef::::as_ref(&value.pkce_verifier).to_owned(), - dpop_key: value.dpop_data.dpop_key, - dpop_authserver_nonce: value - .dpop_data - .dpop_authserver_nonce - .map(|s| AsRef::::as_ref(&s).to_owned()), - state: AsRef::::as_ref(&value.state).to_owned(), - }) - } -} - -impl From for AuthRequestData { - fn from(value: OAuthState) -> Self { - AuthRequestData { - authserver_url: SmolStr::from(value.authserver_url.as_str()), - state: SmolStr::from(value.state), - account_did: value - .account_did - .map(|s| Did::new_owned(s).expect("stored DID should be valid")), - authserver_revocation_endpoint: value.authserver_revocation_endpoint.map(SmolStr::from), - scopes: Scopes::new(SmolStr::from(value.scopes.as_str())) - .expect("stored scopes should be valid"), - request_uri: SmolStr::from(value.request_uri), - authserver_token_endpoint: SmolStr::from(value.authserver_token_endpoint), - pkce_verifier: SmolStr::from(value.pkce_verifier), - dpop_data: DpopReqData { - dpop_key: value.dpop_key, - dpop_authserver_nonce: value.dpop_authserver_nonce.map(SmolStr::from), - }, - } - } -} - /// Convenience wrapper over `FileTokenStore` offering unified storage across auth modes. pub struct FileAuthStore(FileTokenStore); @@ -259,16 +54,16 @@ impl FileAuthStore { Self(FileTokenStore::new(path)) } - fn atp_key(key: &SessionKey) -> String { - format!("atp:{}", key) + fn atp_key(key: &SessionKey) -> SmolStr { + format_smolstr!("atp:{}", key) } - fn oauth_key(key: &SessionKey) -> String { - format!("oauth:{}", key) + fn oauth_key(key: &SessionKey) -> SmolStr { + format_smolstr!("oauth:{}", key) } - fn oauth_state_key(state: &str) -> String { - format!("oauth-state:{}", state) + fn oauth_state_key(state: &str) -> SmolStr { + format_smolstr!("oauth-state:{}", state) } } @@ -282,8 +77,8 @@ impl jacquard_oauth::authstore::ClientAuthStore for FileAuthStore { let Some(value) = self.0.get_value(&Self::oauth_key(&key))? else { return Ok(None); }; - if let StoredSession::OAuth(session) = serde_json::from_value(value)? { - Ok(Some(session.into())) + if let StoredSession::ClientSession(session) = serde_json::from_value(value)? { + Ok(Some(session)) } else { Ok(None) } @@ -293,7 +88,7 @@ impl jacquard_oauth::authstore::ClientAuthStore for FileAuthStore { let key = SessionKey::new(session.account_did.clone(), session.session_id.clone()); self.0.set_value( Self::oauth_key(&key), - serde_json::to_value(StoredSession::OAuth(session.into()))?, + serde_json::to_value(StoredSession::ClientSession(session))?, )?; Ok(()) } @@ -315,8 +110,8 @@ impl jacquard_oauth::authstore::ClientAuthStore for FileAuthStore { let Some(value) = self.0.get_value(&key)? else { return Ok(None); }; - if let StoredSession::OAuthState(auth_req) = serde_json::from_value(value)? { - Ok(Some(auth_req.into())) + if let StoredSession::AuthRequest(auth_req) = serde_json::from_value(value)? { + Ok(Some(auth_req)) } else { Ok(None) } @@ -326,14 +121,11 @@ impl jacquard_oauth::authstore::ClientAuthStore for FileAuthStore { &self, auth_req_info: &AuthRequestData, ) -> Result<(), SessionStoreError> { - let key = Self::oauth_state_key(&auth_req_info.state); - let state = auth_req_info.clone().try_into().map_err( - |e: jacquard_common::deps::fluent_uri::ParseError| { - SessionStoreError::Other(Box::new(e)) - }, + let key = Self::oauth_state_key(auth_req_info.state.as_ref()); + self.0.set_value( + key, + serde_json::to_value(StoredSession::AuthRequest(auth_req_info.clone()))?, )?; - self.0 - .set_value(key, serde_json::to_value(StoredSession::OAuthState(state))?)?; Ok(()) } @@ -345,13 +137,10 @@ impl jacquard_oauth::authstore::ClientAuthStore for FileAuthStore { async fn list_session_keys(&self) -> Result, SessionStoreError> { let mut keys = Vec::new(); for (_key, value) in self.0.entries()? { - if let Ok(StoredSession::OAuth(session)) = + if let Ok(StoredSession::ClientSession(session)) = serde_json::from_value::(value) { - keys.push(SessionKey::new( - Did::new_owned(session.account_did).expect("stored DID should be valid"), - session.session_id, - )); + keys.push(SessionKey::new(session.account_did, session.session_id)); } } Ok(keys) @@ -374,7 +163,7 @@ impl SessionStore for FileAuthStore { session: crate::client::AtpSession, ) -> Result<(), jacquard_common::session::SessionStoreError> { let stored = StoredAtSession { - session_id: key.session_id.to_string(), + session_id: key.session_id.clone(), session, }; self.0.set_value( @@ -517,7 +306,11 @@ mod tests { use super::*; use crate::client::AtpSession; use crate::client::credential_session::SessionKey; + use jacquard_common::deps::fluent_uri::Uri; use jacquard_common::types::string::{Did, Handle}; + use jacquard_oauth::scopes::Scopes; + use jacquard_oauth::session::DpopClientData; + use jacquard_oauth::types::OAuthTokenType; use std::fs; use std::path::PathBuf; diff --git a/crates/jacquard/tests/credential_session.rs b/crates/jacquard/tests/credential_session.rs index 7700bc052..03645f608 100644 --- a/crates/jacquard/tests/credential_session.rs +++ b/crates/jacquard/tests/credential_session.rs @@ -371,9 +371,9 @@ async fn credential_login_and_auto_refresh() { // Login using handle; resolves to PDS and persists session session .login( - jacquard::CowStr::from("alice.bsky.social"), - jacquard::CowStr::from("apppass"), - Some(jacquard::CowStr::from("session")), + "alice.bsky.social", + "apppass", + Some("session"), None, None, None, diff --git a/examples/app_password_create_post.rs b/examples/app_password_create_post.rs index e104774fe..8b509efed 100644 --- a/examples/app_password_create_post.rs +++ b/examples/app_password_create_post.rs @@ -1,5 +1,4 @@ use clap::Parser; -use jacquard::CowStr; use jacquard::api::app_bsky::feed::post::Post; use jacquard::client::credential_session::{ CredentialLoginOptions, CredentialResumeResult, CredentialSession, @@ -14,10 +13,10 @@ use std::sync::Arc; #[command(author, version, about = "Create a simple post")] struct Args { /// Optional handle, DID, or email used to resume or start app-password auth. - input: Option>, + identifier: Option, /// App password, required only when no stored credential session matches. - password: Option>, + password: Option, /// Post text. #[arg(short, long)] @@ -38,7 +37,8 @@ async fn main() -> miette::Result<()> { Default::default(), )); let session = CredentialSession::new(store, resolver); - let hint = SessionHint::from_optional_input(args.input.as_ref().map(|input| input.as_ref())); + let hint = + SessionHint::from_optional_input(args.identifier.as_deref()); let auth = match session.resume(&hint).await? { CredentialResumeResult::Resumed(auth) => auth, @@ -53,8 +53,8 @@ async fn main() -> miette::Result<()> { .login_from_challenge( challenge, CredentialLoginOptions { - password: password.clone(), - identifier: args.input.clone(), + password: password.clone().into(), + identifier: args.identifier.clone().map(Into::into), allow_takendown: None, auth_factor_token: None, pds: None, diff --git a/examples/axum_oauth_session.rs b/examples/axum_oauth_session.rs index 5b7d53055..c4bb3b254 100644 --- a/examples/axum_oauth_session.rs +++ b/examples/axum_oauth_session.rs @@ -231,7 +231,7 @@ async fn main() -> Result<()> { .route("/oauth/login", get(login_page)) .route("/timeline", get(timeline)) .route("/api/session", get(strict_session_json)) - .merge(oauth_routes::()) + .merge(oauth_routes::(&state.oauth_config)) .with_state(state); let listener = tokio::net::TcpListener::bind(args.listen)